Ответы на логические задачи из собеседований крупных компаний

Вчера 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. Норвежец живёт рядом с синим домом. Каждый из домов покрашен в отдельный цвет, в каждом доме живет представитель отдельной национальности, у каждого — свой питомец, своя любимая марка сигарет и напиток. Вопрос: Кто пьет воду? Кто содержит зебру?

Ответ: У японца живёт зебра, норвежец пьёт воду

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 0
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя savely

Минус. 

Аватар пользователя mike

9 пакетов в секунду

А почему не в миллисекунду? Или в минуту? :) Прикол в том, что задача имеет смысл, если известны скорость передачи и длина пакета.

Аватар пользователя savely

 Прикол в том, что задача имеет смысл, если известны скорость передачи и длина пакета.

Это если классически подходить к "пропускной способности" как бит/сек. Это мы еще про боды не вспомнили. :)

Если же пропускная способность измеряется в пкт/сек, где "пкт" может быть дробным, то со смыслом все в порядке. 

Аватар пользователя mike

Если же пропускная способность измеряется в пкт/сек...

А "пакет/с" было в условии? :)

Аватар пользователя mike

Переформулирую условие оригинала.

Скорость отправки пакетов равна 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 пакеты не повторяют. Потерялся -- и х_с_ним.

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

Аватар пользователя savely

Пропускная способность такой системы -- 4,6 пакетов/с.

Не, че-то ты уж совсем в минус ушел.

Я нихера не помню "вышку" (и см. Байесов с Бернуллями не буду), но по мне - это что-то типа:

10 минус S(1+1/10+1/100+1/1000+...+1/(10 в степени x)). Т.е. где-то так 8.8, наверное...

Аватар пользователя savely

Но несказанно "радует"

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

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

Надеюсь, претендента не взяли в QualComm. Ибо мы тут можем долго спорить с Майком о конкретной "пропускной способности", но то, что она МЕНЬШЕ 9 - понятно обоим. 

Аватар пользователя mike

Не, че-то ты уж совсем в минус ушел.

Это не я, это протокол. :) Явление хорошо известно связистам: небольшая, казалось бы, вероятность потери при гарантированной доставке значительно снижает пропускную способность. Задачку можно вывернуть наизнанку: клиент повторяет запрос, пока сервер не ответит.

Аватар пользователя mike

Ишь ты, Кульбацкий плюс забацал. Удовлетворён  отсутствием решений в публикации? :)

Автору: не беритесь за то, на что нет знаний.

Аватар пользователя mike

С моциками просто: снять бензобаков, взять с собой и ехать.

И вообще полтора года назад в девбае всё это уже было. :)

Страницы