Вчера KV предложили своим читателям решить 9 логических задач, которые предлагали на собеседованиях в крупных компаниях. Если вы уже попробовали собственные силы в решении, самое время проверить, правильные ли у вас ответы.
Вопрос от Google
Задача 1: У вас имеется 8 шариков одинакового вида и размера.
Вопрос: как найти более тяжёлый шарик, используя весы и имея право всего на два взвешивания?
Ответ: Отберите 6 шариков, разделите их на группы по 3 шарика и положите на весы. Группа с более тяжёлым шариком перевесит чашу. Выберите любые 2 шарика из этой тройки и взвесьте. Если тяжёлый шарик среди них, вы это узнаете; если они весят одинаково — тяжёлый тот, что остался. Если же более тяжелого шарика в группах по 3 шарика не оказалось, он — среди 2 оставшихся
Вопрос от Adobe
Задача 2: У вас 50 мотоциклов с заполненным топливом баком, которого хватает на 100 км езды.
Вопрос: используя эти 50 мотоциклов, как далеко вы сможете заехать (учитывая, что изначально они находятся в одной условной точке)?
Ответ: Самый простой ответ: завести их все одновременно и проехать 100 км. Но есть и другое решение. Сначала переместите все мотоциклы на 50 км. Затем перелейте топливо из половины мотоциклов в другую половину. У вас таким образом — 25 мотоциклов с полным баком. Проедьте еще 50 км и повторите процедуру. Так можно забраться на 350 км (не учитывая того топлива, которое останется от «лишнего» мотоцикла при разделе 25 надвое)
Вопросы от Apple
Задача 3: Шелдон Купер дошёл в игровом квесте в погоне за сокровищами до последнего рубежа. Перед ним — две двери: одна ведёт к сокровищам, вторая — к смертельно опасному лабиринту. У каждой двери стоит стражник, каждый из них знает, какая дверь ведет к сокровищу. Один из стражников никогда не врёт, другой — врёт всегда. Шелдон не знает, кто из них лжец, а кто нет. Прежде чем выбрать дверь, задать можно только один вопрос и только одному стражнику.
Вопрос: что должен спросить Шелдон у стражника, чтобы попасть к сокровищам?
Ответ: Любому из стражников можно задать вопрос: «Какая дверь, по мнению другого стражника, правильная?». Если он спросит у честного, то получит данные о том, какая дверь ведёт к лабиринту, ведь стражник-лжец всегда лжёт. Если же он спросит у стражника-лжеца, то узнает, какая дверь ведёт к лабиринту, ведь тот соврёт о двери, на которую укажет честный стражник
Вопрос от Qualcomm
Эту задачку пересказал претендент, проходивший собеседование на должность старшего системного инженера. Он отметил в описании задачи, что у него был свой ответ, по поводу которого он долго спорил с человеком, проводившим собеседование. Итак,
Задача 4: Предположим, у нас происходит 10 пакетных передач данных по беспроводной сети. Канал не очень качественный, так что есть вероятность 1/10, что пакет данных не будет передан. Трансмиттер всегда знает, удачно или неудачно был передан пакет данных. Когда передача неудачная, трансмиттер будет передавать пакет до тех пор, пока не преуспеет.
Вопрос: какова пропускная способность канала?
Ответ: По версии пользователя, ответ должен был быть: 9 пакетов в секунду. Но человек, проводивший интервью, с ним не согласился, правда, ответа не назвал, сказав лишь, что «из-за ретрансмиссии, пропускная способность должна быть уменьшена больше, чем на 1/10»
Вопросы от «Яндекса»
Эту задачу предлагали решить для вступления в «Школу анализа данных» в феврале 2014 года.
Задача 5: Игра состоит из одинаковых и независимых конов, в каждом из которых выигрыш происходит с вероятностью Х. Когда игрок выигрывает, он получает 1 доллар, а когда проигрывает — платит 1 доллар. Как только его капитал достигает величины N долларов, он объявляется победителем и удаляется из казино.
Вопрос: найдите вероятность того, что игрок рано или поздно проиграет все деньги, в зависимости от его стартового капитала K.
Задача 6: У вас имеется морфологический словарь объёмом примерно 100000 входов, в котором глаголы совершенного и несовершенного вида помещены в отдельные статьи (то есть «делать» и «сделать» считаются разными словарными входами). Вам требуется найти в словаре такие видовые пары и «склеить» статьи в одну.
Вопрос: опишите общий сценарий решения такой задачи и примерный алгоритм поиска видовых пар.
Ответы на задачи «Яндекса», к сожалению, неизвестны.
Вопросы от Microsoft
Задача 7: У вас бесконечный запас воды и два ведра — на 5 литров и 3 литра.
Вопрос: как вам отмерить 4 литра?
Ответ: Наполните водой пятилитровое ведро и вылейте часть воды в трёхлитровое. У вас сейчас 3 литра в маленьком ведре и 2 — в большом. Опустошите маленькое ведро и перелейте туда оставшиеся 2 литра из большого. Снова наполните большое ведро и перелейте из него воду в маленькое. Там уже есть 2 литра воды, так что долить придется всего литр, а в большом останется 4 литра
Задача 8: У вас два куска верёвки. Каждый такой длины, что если поджечь его с одного конца, он будет гореть ровно 60 минут.
Вопрос: имея только один коробок спичек, как отмерить с помощью двух отрезков такой верёвки 45 минут? (Рвать верёвки нельзя).
Ответ: Один из отрезков поджигается с двух концов, одновременно с этим поджигается второй отрезок, но с одного конца. Когда первый отрезок догорит полностью, пройдет 30 минут, от первого также останется 30-минутный отрезок. Поджигая его с двух концов, получим ещё 15 минут.
Задача 9: На улице стоят пять домов. Англичанин живёт в красном доме. У испанца есть собака. В зелёном доме пьют кофе. Украинец пьет чай. Зелёный дом стоит сразу справа от белого дома. Тот, кто курит Old Gold, разводит улиток. В жёлтом доме курят Kool. В центральном доме пьют молоко. Норвежец живёт в первом доме. Сосед того, кто курит Chesterfield, содержит лису. В доме по соседству с тем, в котором содержат лошадь, курят Kool. Тот, кто курит Lucky Strike, пьёт апельсиновый сок. Японец курит Parliament. Норвежец живёт рядом с синим домом. Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток. Вопрос: Кто пьет воду? Кто содержит зебру?
Ответ: У японца живёт зебра, норвежец пьёт воду
Комментарии
Страницы
Минус.
А почему не в миллисекунду? Или в минуту? :) Прикол в том, что задача имеет смысл, если известны скорость передачи и длина пакета.
> Прикол в том, что задача имеет смысл, если известны скорость передачи и длина пакета.
Это если классически подходить к "пропускной способности" как бит/сек. Это мы еще про боды не вспомнили. :)
Если же пропускная способность измеряется в пкт/сек, где "пкт" может быть дробным, то со смыслом все в порядке.
А "пакет/с" было в условии? :)
Переформулирую условие оригинала.
Скорость отправки пакетов равна 10 шт/с. Пакет теряется с вероятностью q=0,1. Сервер повторяет потерянный пакет, пока не будет передан. Какова СРЕДНЯЯ (sic!) пропускная способность канала?
РЕШЕНИЕ (кому надо -- разберётся):
Бернулли
Байесс
Передано
Потеряно
Сочетания
q^n
p^(n-k)
Вер потерь
Вер прд
0
10
С10из10
1
1,00E-11
1
1,00E-11
1,00E+00
0,00E+00
1
9
С9из10
10
0,1^9
0,9^1
1E-10
0,9
9,00E-10
1,00E+00
1,00E+00
2
8
С8из10
45
0,1^8
0,9^2
0,000000001
0,81
3,65E-08
1,00E+00
2,00E+00
3
7
С7из10
120
0,1^7
0,9^3
0,00000001
0,72
8,64E-07
1,00E+00
3,00E+00
4
6
С6из10
210
0,1^6
0,9^4
0,0000001
0,53
1,11E-05
1,00E+00
4,00E+00
5
5
С5из10
252
0,1^5
0,9^5
0,000001
0,59
1,49E-04
1,00E+00
5,00E+00
6
4
С4из10
210
0,1^4
0,9^6
0,0001
0,53
1,11E-02
9,89E-01
5,93E+00
7
3
С3из10
120
0,1^3
0,9^7
0,001
0,47
5,64E-02
9,44E-01
6,61E+00
8
2
С2из10
45
0,1^2
0,9^8
0,01
0,43
1,94E-01
8,07E-01
6,45E+00
9
1
С1из10
10
0,1^1
0,9^9
0,1
0,39
3,90E-01
6,10E-01
5,49E+00
10
0
С0из10
1
0,1^0
0,9^10
1
0,35
3,50E-01
6,50E-01
6,50E+00
4,60E+01
См., что такое формула Бернулли и усреднение по Байессу. :)
Пропускная способность такой системы -- 4,6 пакетов/с. Поэтому в UDP пакеты не повторяют. Потерялся -- и х_с_ним.
Кстати, эта задача встречается на каждом шагу. И даже проверяется, хехе, экспериментально.
> Пропускная способность такой системы -- 4,6 пакетов/с.
Не, че-то ты уж совсем в минус ушел.
Я нихера не помню "вышку" (и см. Байесов с Бернуллями не буду), но по мне - это что-то типа:
10 минус S(1+1/10+1/100+1/1000+...+1/(10 в степени x)). Т.е. где-то так 8.8, наверное...
Но несказанно "радует"
> Эту задачку пересказал претендент, проходивший собеседование на должность старшего системного инженера. Он отметил в описании задачи, что у него был свой ответ, по поводу которого он долго спорил с человеком, проводившим собеседование.
> По версии пользователя, ответ должен был быть: 9 пакетов в секунду. Но человек, проводивший интервью, с ним не согласился
Надеюсь, претендента не взяли в QualComm. Ибо мы тут можем долго спорить с Майком о конкретной "пропускной способности", но то, что она МЕНЬШЕ 9 - понятно обоим.
Это не я, это протокол. :) Явление хорошо известно связистам: небольшая, казалось бы, вероятность потери при гарантированной доставке значительно снижает пропускную способность. Задачку можно вывернуть наизнанку: клиент повторяет запрос, пока сервер не ответит.
Ишь ты, Кульбацкий плюс забацал. Удовлетворён отсутствием решений в публикации? :)
Автору: не беритесь за то, на что нет знаний.
С моциками просто: снять бензобаков, взять с собой и ехать.
И вообще полтора года назад в девбае всё это уже было. :)
Страницы