Pull to refresh

Comments 50

PinnedPinned comments

Как я понимаю, цель вопроса - посмотреть, может ли человек оценивать хотя бы порядок неизвестных ему величин. Да, это не имеет прямого отношения к профессиональным качествам, но демонстрирует кругозор и умение сопоставлять разрозненные факты в единую картину. Особенно если ещё и ход рассуждений послушать.

Мне вспоминается история из детства. Нам с другом было лет по 12, мы обсуждали что-то техническое, уже не помню что. И вот в какой-то момент он выпаливает:
– Да этого не может быть! Потому что троллейбус весит... эээ...
По возникшей паузе и блуждающему в пространстве взгляду я понимаю, что мой товарищ не представляет вес троллейбуса даже приблизительно и пытается на ходу придумать правдоподобное число.
– ...килограмм девятьсот!

И это очевидно даже близко не правильно. Я тоже не знал паспортный вес троллейбуса, но я знал сколько весят Жигули, сколько Камаз - и исходя из этих данных мог дать оценку порядка 10 тонн.

UFO just landed and posted this here

- сколько аптек в Петербурге?
- а вы сами знаете?
- нет, но это теоретическая задача, призвана оценить блаблабла...
- ок, тогда 1253 аптеки

Не хватает точной цифры в конце. По Яндекс-картам или OSM, например.

Я изначально написал ответ, который мне выдал зелёный справочник. Но напортачил с фактчекингом. Сейчас исправил.

странный ответ из справочника... Беглое гугление показывает, что на начало 23 года в Питере было 2217 аптек. Не уверен, что за полтора года открылась ещё тысяча

Да, ошибся. Внёс исправления в статью. Зелёный справочник рисует именно такое число. Вероятно он всё-таки включил туда и область.

Беглое гугление показывает

Первое о чем я подумал, когда представил, что мне задали такой вопрос, это то, что можно спарсить точки на каком-нибудь агрегаторе вроде аптека.ру. Почему-то мысли о том, что можно просто загуглить, даже не возникло. До этого момента я, даже не осознал уровень собственной профдеформации.

Применив теорию 6 рукопожатий. Можно высчитать достаточное количество возможных пересечений у улиц. Зная максимальное количество улиц можно предположить пиковое количество аптек в зоне пешей доступности.

Это если плотность одинакова. Что совсем не так. Даже плотность населения разная по городу, есть парки и большие районы новостроек, в которых не только аптеки, а и продуктовых магазинов поищешь..

Это теоретический расчет всего покрытия дорог. Соискатель мог бы обосновать крайнюю цифру. Скорее всего его отсеяли как только он начал придумывать цифры с потолка "много-мало".

Именно это я имел ввиду, что плотность можно было бы усреднить с помощью Монте-Карло. Я пользовался только одним измерением, но это очень грубо.

Решение- идем в Гугл, пишем вопрос, в Питере 2492 аптеки. Зачем заниматься мыслеэксперементами если все давно посчитано.

А Вашим методом вы промахнулись почти на треть. А это очень много. Таким образом можно усложнить и посчитать количество аптек в Ленобласти или по всей России, вы там даже порядком ошибиться можете.

Такой способ решения приведен в статье. И его результаты это как раз самый последний абзац. Правда в первоначальной версии у меня была ошибка работы с источником, но сейчас исправил. Спасибо.

Изначальная мысль была показать, что делать с метриками, которые просто так не загуглить, например, расчет стоимости внедрения решения, и в том вторая задача часто встречается в виде System Design Interview, и технически они ничем не отличаются.

Можно спрогнозировать модель на основании статистических данных. Тут ошибку можно уместить в 5-10%. Но там учитывать нужно множество факторов. Поэтому если говорить о корректности вопроса - он некорректен.

Однако подход к прогнозированию правильный. Но тут достаточно взять любой график в декартовой системе и спросить как ведет себя функция.)

Думаю это хорошая задача для тимлида. Мало что там на заборах пишут )

Только аптеки?
По виду аптек не требуется?
Аптечные пункты и аптечные киоски не нужны?

Ответ про площадь - отвратительный. Площадь не ходит в аптеку и не тратит деньги. Нужно взять население + туристов/транзитников и поделить. Я бы сказал что аптека должна быть тысячи на полторы человек, минимум на тысячу, иначе она не окупится.

Просто два граничных примера демонстрирующих уровень показательности площади - город-субурбия и город-небоскрёб. Население у этих двух городов пусть будет одинаковым, а площадь отличаться в 500 раз. Будет ли в субурбии в 500 раз больше аптек?

Критика выбора площади в качестве отправного параметра вполне оправдана, но я указал, что допускаю плотность аптек по городу одинаковой. Конечно же это не так даже для разных районов одного города (центр, окраина, спальник, индустриальный).

Но я вижу тут проблему и в контр-аргументе. У нас нет оснований полагать, сколько именно жителей приводят к окупаемости без проведения дополнительного бизнес-исследования. Например, если руководствоваться показателем 23 года и населением города мы уже получаем 1800 жителей на аптеку.

Без дополнительного бизнес-исследования это вообще нерешаемый вопрос. Может у нас вообще нет аптек, потому что лекарства разрешили продавать в магазинах? Для грубой оценки в рамках задачи на сообразительность население подходит намного лучше, чем площадь города.

Вот зачем придумывать дополнительные фантазийные условия? Вопрос был не про абстрактный, а совершено конкретный город - в котором, скорее всего, и живет человек. В этом же и смысл: не сражать человека наповал вопросом-хрен-пойми-как-подступиться, а спросить то, с чем он совершенно точно сталкивался и обладает базовой информацией. Чтобы задача была решаема, нужно только немного подумать.

А еще играет роль наличие свободных площадей для размещения этих самых аптек.

У меня старый район, еще советской застройки. Практически в каждом доме первый этаж переоборудован под магазин / аптеку / парикмахерскую и т.п. В итоге аптек 5 или 6 в шаговой доступности (точно не считал, те что помню навскидку).

А у знакомого, который живет в квартале новостроек, аптека всего одна. Хотя плотность населения там, по моим ощущениям, гораздо больше.

Ответ про площадь - отвратительный. Площадь не ходит в аптеку и не тратит деньги.

Справедливости ради, исходим из следующих допущений:

  • плотность населения в городе примерно равномерна — это будет справедливо и для субурбии, и для «небоскрёбника»;

  • оценить количество аптек на известной площади проще, чем оценить, сколько аптек должно быть на тысячу жителей — первый факт эмпирический, а второй сам по себе нужно будет ещё доказать интервьюеру.

Тем более у автора получилось 3400 аптек при расчёте по площади. По вашему же расчёту, если допустить 5 млн жителей и 1 аптека на 1,5 тыс. чел., выйдет 3333 аптек. Результат как будто бы один и тот же, но если предположить, что население Петербурга со всеми туристами и транзитниками порядка 6 млн чел., — получится 4000 аптек, а если допустить 1000 аптек / 1 тыс. чел. и 5 млн жителей — будет 5000 аптек.

Думаю, автору просто повезло, что в его шаговой доступности оказалось именно подходящее количество аптек. Так-то аптеки, как и другая торговля, имеют свойство не быть размазаны по городу равномерным слоем (даже при плюс-минус равной плотности населения), а тяготеть к местам притяжения - станциям метро, ТЦ и пр.

И здесь я, скорее, попробовал бы найти минимальный район / нас. пункт, где я более или менее точно эмпирически знаю количество населения и количество аптек (свой микрорайон, деревня у бабушки, что угодно). Получил бы количество аптек на душу населения. Экстраполировал бы результат на население Питера. И хотя бы интуитивно скорректировал его на другие известные мне факторы: скажем, в Питере к населению города добавляются те, кто ездит на работу из области (эти 50/50 зайдут в аптеку или у дома, или у работы), туристы (этим аптека нужна очень эпизодически), пациенты крупных мед. центров (этих немного, но спрос на лекарства каждый из них создаёт большой) и т.п.

Довольно странно экстраполировать бабушкину деревню на Петербург. Да и найти «минимальный район» в условиях собеседования тоже сложновато. С другой стороны, к методу автора в плане вычисления площади шаговой доступности тоже есть вопросы.

Впрочем, интересно, какой бы результат получился по вашему методу.

А и действительно интересно.

Возьмём, и правда, условную бабушкину деревню - райцентр исторической родины одной из моих бабушек, пос. Суна Кировской обл. Отличный пример, т.к. не стоит на оживлённой трассе, не прилегает к большому городу и пр. - короче, все, кто там ходит в аптеки, на 95% это местные жители. Ну и размер посёлка такой, что все, кто в нём хотя бы недолго жил, точно знают, сколько в нём аптек.

А аптек там 4 штуки. Население района - 5,2 тыс. человек (беру весь район, т.к. в мелких деревнях, очевидно, аптек нет и они ездят в райцентр). Получается одна аптека на 1,3 тыс. населения. На 5,5 млн. в Питере тогда должно приходиться 4230 аптек даже без корректировки на иногородних/туристов/гастарбайтеров, а с ними я, основываясь на таком методе, предположил бы 5 тысяч аптек, т.е. ошибся бы почти ровно в 2 раза.

Анализируя это фиаско, самой вероятной причиной расхождения мне кажется то, что в Питере есть крупные аптеки, которые обслуживают большое количество людей, а в той самой Суне просто конкурирующие сети открыли по маленькому аптечному пункту каждая.

P.S. Проверим на населённом пункте чуть крупнее. Раз уж залезли в Кировскую область - возьмём г. Котельнич. 31 тыс. населения вместе с районом, 21 аптека, опять одна аптека на 1,5 тыс. населения... Ну а областной центр? Киров, 475 тыс. населения, 292 аптеки, и точно есть не мельче питерских, - но их одна на 1,6 тыс. Нижний Новгород - 1237 тыс., 804 аптеки - опять одна на 1,6 тыс. Екатеринбург - 1583/1072 - ~1,5 тыс. Краснодар (чтобы с другой стороны страны взять) - 1244/911 - ~1,4 тыс.

Понятно, что это уже не к моему методу, т.к. вряд ли даже житель Котельнича, не говоря про областные центры, точно скажет, сколько аптек в его городе, - но картинка удивительная. Получается, конкретно в Питере по каким-то причинам катастрофический недобор аптек :( А для прогнозирования количества аптек в других городах мой метод с бабушкиной деревней дал бы вполне приемлемый результат.

P.P.S. Нашёл информацию о свежем исследовании, согласно которому даже среди городов-миллионников плотность аптек на 100 тыс. населения отличается почти в 3 раза (!) Правда, количество аптек в городах, которые по ссылке упомянуты, не особо бъётся с данными Яндекса... Короче, непросто всё с этими аптеками :)

Как я понимаю, цель вопроса - посмотреть, может ли человек оценивать хотя бы порядок неизвестных ему величин. Да, это не имеет прямого отношения к профессиональным качествам, но демонстрирует кругозор и умение сопоставлять разрозненные факты в единую картину. Особенно если ещё и ход рассуждений послушать.

Мне вспоминается история из детства. Нам с другом было лет по 12, мы обсуждали что-то техническое, уже не помню что. И вот в какой-то момент он выпаливает:
– Да этого не может быть! Потому что троллейбус весит... эээ...
По возникшей паузе и блуждающему в пространстве взгляду я понимаю, что мой товарищ не представляет вес троллейбуса даже приблизительно и пытается на ходу придумать правдоподобное число.
– ...килограмм девятьсот!

И это очевидно даже близко не правильно. Я тоже не знал паспортный вес троллейбуса, но я знал сколько весят Жигули, сколько Камаз - и исходя из этих данных мог дать оценку порядка 10 тонн.

UFO just landed and posted this here

Это кстати очень интересный комментарий.
Если бы я услышал такое на собесе (я не задаю такие вопросы, но допустим), то подумал бы, что человек манипулятор, который любит крутить факты под желаемый вывод.
При чем тут штучная тарантайка, если речь очевидно шла об обычном троллейбусе? ("бус" = пассажирский)
Зачем постоянно сравниваются машины пустые и полностью нагруженные? (полная ока и пустые жигули, но жук без рогов и полные жигули)
Потом длинный и не очень понятный поток сознания про номера.

Я бы решил, что человек просто хочет меня заболтать, и будет так же поступать в реальной работе. Вопрос дал много информации, даже больше чем ожидалось.

Этот кадр здесь уже который день набрасывает, ловит бан, регается по новой и снова набрасывает, в основном в политических темах. Из отличительных черт — например, комментарии, где на слове "Хавал" (марка авто) стоит ссылка https://shit.

К сожалению, возможно, у товарища не всё хорошо со здоровьем :/

И все это вместо того, чтобы получить точные данные из государственного реестра, обратившись в управление статистики, или как там оно сейчас называется.

А всех этих эмпирических прикидывателей я бы гнал поганой метлой. Потому что если они к элементарным вопросам так подходят, то страшно подумать, что они напроектируют в тех аспектах, которые не так легко поддаются проверке.

А всех этих эмпирических прикидывателей я бы гнал поганой метлой. 

Астрономов тоже гоним поганой метлой?

В вашем примере кандидат реально ответил на вопрос с очень высокой точностью навскидку.

Это означает, что у него хорошо развит здравый смысл.

Мне дизы ставят задачи в духе:

Перс двигается со скоростью n, когда оружее в переходит в аим то скорость замедляется на m. При беге скорость увеличивается на x. При выстреле наноситься урон z. Броня поглощает h урона.

И мне все время хочется запихнуть туда отрицательные числа, бесконеяности, наны, а в идеале и строки. Закрыть задачу и отдать им. Пусть разбираются.

Обо всем этом писал Джон Бентли в Programming Pearls, книге на базе коллекции заметок в журнале Communications of the ACM. Книга вышла на русском в 1990-м году ( https://publ.lib.ru/ARCHIVES/B/BENTLI_Djon/_Bentli_Dj..html ). Часть оригинала доступна например через https://freecomputerbooks.com/Programming-Pearls-2nd-Edition.html . В книге на русском об умении делать оценки написано в 6-ой главе, "Предварительные оценки".

The Back of the Envelope
(Column 7 of Programming Pearls)
A Story

It was in the middle of a fascinating conversation on software engineering that Bob Martin asked me, "How much water flows out of the Mississippi River in a day?" Because I had found his comments up to that point deeply insightful, I politely stifled my true response and said, "Pardon me?" When he asked again I realized that I had no choice but to humor the poor fellow, who had obviously cracked under the pressures of running a large software shop.

My response went something like this. I figured that near its mouth the river was about a mile wide and maybe twenty feet deep (or about one two-hundred-and-fiftieth of a mile). I guessed that the rate of flow was five miles an hour, or a hundred and twenty miles per day. Multiplying
1 mile x 1/250 mile x 120 miles/day ~ 1/2 mile3/day
showed that the river discharged about half a cubic mile of water per day, to within an order of magnitude. But so what?

At that point Martin picked up from his desk a proposal for the communication system that his organization was building for the Summer Olympic games, and went through a similar sequence of calculations. He estimated one key parameter as we spoke by measuring the time required to send himself a one-character piece of mail. The rest of his numbers were straight from the proposal and therefore quite precise. His calculations were just as simple as those about the Mississippi River and much more revealing. They showed that, under generous assumptions, the proposed system could work only if there were at least a hundred and twenty seconds in each minute. He had sent the design back to the drawing board the previous day. (The conversation took place about a year before the event, and the final system was used during the Olympics without a hitch.)

That was Bob Martin's wonderful (if eccentric) way of introducing the engineering technique of "back-of-the-envelope" calculations. The idea is standard fare in engineering schools and is bread and butter for most practicing engineers. Unfortunately, it is too often neglected in computing.

Отличная задача. На собеседовании она совершенно уместна -- в первую очередь, для тех, кто (справедливо) критикует лайвкодинг и бесполезные алгоритмические секции. Это вот как раз задача не на заучивание ответов почему канализационные люки круглые, а на общение, демонстрацию того, как человек действует в условиях неопределенности, входит в непонятную тему, разбирается с ней и прочее и прочее. С очень давних пор подобные оценки неизвестного носят название оценок Ферми, рекомендую ознакомиться. Крайне важно любому инженеру владеть этим методом.

А почему кстати люки круглые? Типа их катят руками чтоль? Ну так я видел дофига квадратных канализационных люков. Странные вопросы вам задают на собеседовании однако.

А почему кстати люки круглые? Типа их катят руками чтоль?

Хотя бы может потому что их чуть сложнее уронить в колодец?

А почему вы решили, что это самый важный фактор для нанимателя?

Например хранить на складе готовой продукции дешевле всего квадратные люки.

Посчитайте площади круга и квадрата с диаметром равным стороне.

Если вы намекаете про площадь хранения, то она будет аналогичной. А вот транспортировать на погрузчике удобнее квадратные люки. И появляется возможность хранить их вертикально.

А себестоимость самих люков?

Когда ширина "стопки" будет больше стороны вашего квадратного люка вертикальное хранение станет невыгодным. Это 5-7 люков, по моей прикидке. Такая себе "выгода".

В стопку можно класть до потолка. Как в вашей схеме организовать второй и третий ряд люков без дополнительных приспособлений?

нельзя до потолка. погрузчик не сможет забрать плюс ячейка на складе всегда имеет какой то размер.

Про себестоимость не очень понял. Если производитель не может влиять на то, что заказывает заказчик - то никакой связи нет, если может, то надо считать экономику, что дешевле хранить и где больше выход годных. Если материал люка чугун, то сам по себе он не сильно дорогой.

В итоге, все опять сводится к контексту. То есть сам по себе вопрос почему люки круглые - глупый вопрос если мы собеседуем не джуна. Да и джуна тоже, иначе он и мидлом станет без стремления понять суть задачи.

Подобные внезапные вопросы, заданные в условиях стресса (как на собеседовании) могут показывать на какую роль в проектах человек будет метить естественным образом, где ему будет комфортно. В случае с люками, как прийти к необходимости в круглых:

  • "Круглые тягать удобно, можно катать, и в люки они не проваливаются." - Персонаж думает о себе и своем удобстве. Позиция линейного исполнителя.

  • "Если строить колодны из камня, то круглые лучше всего держат давление грунта, не обваливаются, если из железобетона - то можно и квадратный построить, а форма люков обычно подгоняется под колодец, но в целом это не так важно и можно хоть в форме кракозябры сделать..." - Персонаж видит, что там есть техническая система, в которой одни вещи как-то связаны с другими, физику не обманешь, а какие-то решения вторичны. Позиция инженера-конструктора.

  • Сначала персонаж уточняет контекст, узнает, что на самом деле мы владеем металлургическим комбинатом и у нас тендер покрыть все люки в городе, и уже пляшет от этого. "Если у нас есть легаси-система круглых колодцев, то ее дешевле всего покрыть круглыми люками. Это минимальный необходимый размер, меньше всего металла уйдет, плюс они легче других вариантов, так что логистика будет дешевле, а еще они не проваливаются - будет хороший маркетинговый булшит о том, как мы заботимся о линейных работягах." - Персонаж видит, что на самом деле мы тут деньги делаем, и что не все вопросы лежат в инженерной плоскости. Позиция лида/аналитика/PM.

С аптеками то же самое - можно идти от позиции "не знаю, не положено знать, дайте угадаю", можно от "тут есть система, зависимость от плотности населения, и миллиона других факторов и давайте ИИ прикрутим", а можно от "зачем мы это делаем, в чем ценность информации?", уточнить контекст, и там уже смотреть в зависимости от того, что бизнес на самом деле делает (в статье знакомый автора не уточнял по всей видимости).

Вот. Уточнять контекст, это всегда полезно.

цитата:

Считая, что солдаты не должны мыслить и рассуждать, царские офицеры учили их отвечать на любой вопрос, не предусмотренный уставом, бессмысленным: «Не могу знать!»

— Проклятая немогузнайка! — говорил Суворов.— От немогузнайки было много беды…

Однажды лунной ночью, проходя мимо солдата, стоявшего в карауле, Суворов остановился и быстро спросил его:

— А далеко ли до луны, братец?

— Два суворовских перехода! — отрезал солдат.

В другой раз Суворов спросил у солдата:

— Сколько звезд на небе?

— Сейчас сочту!— ответил нерастерявшийся солдат и впрямь стал считать, загибая пальцы: «Одна, две, три, четыре…»

Такими шутливыми вопросами Суворов старался отучить своих солдат от «немогузнайки», добиваясь, чтобы они не терялись перед любой неожиданностью, которая могла встретиться во время военных действий.

старался отучить своих солдат от «немогузнайки»

ЧатЖпт отучили от такого, и теперь решают проблему галлюцинаций

Отличное задание на умение думать. На умение придумать методику решения.

Моему отцу поп на экзамене в 4 классе церковной приход кой школы задал задачу. СКОЛЬКО СТОИТ ПУД СВЕЧЕЙ, ЕСЛИ ЕСЛИ 4 ФУНТА СТОЯТ 7 РУБЛЕЙ. раньше мне эта задача оказалось что простой, но задач её одному школьнику, но получил ответ. Мы такие задачи не решали. А гугл озадачил своей точностью. Пут 16.3805 кг. Русский фунт 409.5 г. А я для решения ранее использовал 16 кг и 400 г. Можно ли давать такую задачу?

Основаная разница между задачами про аптеки и задач про новый сервис - это контекст. В задаче про аптеки его нет вообще. А в задаче про сервис - он очень большой, вы знаете что за нагрузка, какие есть подводные камни и тп. Если формулировать задачу про сервис в таком же стиле то она должна звучать так "Сколько гигабайт нужно добавить в сервис что бы он не падал?"

Sign up to leave a comment.

Articles