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

Предлагаем Вашему вниманию небольшую подборку самых интересных головоломок, задаваемых на собеседованиях:

1. Про лампочки
Задача: В комнате есть 3 эл. выключателя от эл. лампочек, которые находятся в коридоре за закрытой дверью. За какое минимальное открытие двери можно определить, какой выключатель к какой лампочке относится?

2. Про пилюли
Задача: Каждый день больной должен принимать таблетки, чтобы не умереть. По одной таблетке из каждой баночки. Иная дозировка - смерть. Баночки идентичные, таблетки - тоже. Оставалось 4 таблетки (по две каждого сорта), когда больной их случайно перемешал. Как можно закончить курс лечения и остаться в живых?

3. Про мертвого мужчину
Задача: Среди пшеничного поля нашли мертвого мужчину, крепко сжимавшего в руках спичку. Отчего он умер?

4. Про люки
Задача: Почему люки круглые?

5. Про блендер
Задача: Вас уменьшили и бросили в блендер, который включится через 30 секунд. Что вы будете делать?

6. Про фальшивую монету
Задача: У вас есть 8 монет: 7 весят одинаково, одна весит меньше. Пользуясь весами, найдите легкую монетку менее чем за три шага.

7. Про торт
Задача: Вам подарили на день рождения торт. Как его разделить на 8 равных частей тремя разрезами?

8. Про веревки
Задача: У вас есть две веревки. Про одну известно, что она сгорает ровно за 1 час. Необходимо с помощью этих веревок определить интервал времени в 15 минут. Нужно учитывать, что веревки горят неоднородно.

9. Про цепочку
Задача: На постоялый двор приехал путешественник. Денег у него с собой не было, но была золотая цепочка из шести звеньев. Хозяин постоялого двора согласился принять в оплату комнаты за каждый день по одному колечку с этой цепочки, но так чтобы распиленных колец он получил не больше одного. Как постояльцу нужно распилить цепочку, чтобы можно было ежедневно расплачиваться на протяжении пяти дней?

10. Про настройщиков рояля
Задача: Рассчитайте, сколько в нашем городе настройщиков рояля?

1. Про лампочки
Ответ: Возможно определить за одно открытие двери. Для этого необходимо выйти из комнаты и одновременно включить 2 выключателя, через некоторое время выключить один, а еще через какое-то время – второй. Затем зайти в комнату и пощупать поочередно все 3 лампочки: та, которую не включали, останется холодной; та, которую выключили первой, будет теплой; третья лампочка будет самой горячей, то есть она принадлежит последнему выключателю.

2. Про пилюли
Ответ: Разделить каждую таблетку пополам: одну половину положить в кучку для первого приема, а другую – для второго. Получим две кучки по 4 половины, и в каждой будет по 2 разного вида.

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

4. Про люки
Ответ:
Вариант 1. Крышка квадратной формы может упасть в люк: например, проскочить углом, так как диагональ квадрата больше, чем его стороны. У круга же диаметр одинаков, как его не поворачивай.
Вариант 2 (немного легкомысленный, но тоже имеющий право на существование). Люки круглые, потому что отверстия круглые.
Вариант 3. Круглые люки легче транспортировать.

5. Про блендер
Ответ: 1. Использовать измерительные деления, чтобы выбраться. 2. Попробовать вывинтить стекло. 3. Рискнуть подняться на воздушной струе.

6. Про фальшивую монету
Ответ:
Вариант 1. 1-й шаг: берем 6 монет и кладем на весы (по 3 с каждой стороны). Если вес уравнивается, значит, легкая монета в тех двух, которые остались лежать. 2-й шаг: берем 2 монеты, кладем их на весы и находим более легкую.
Вариант 2. 1-й шаг: берем 6 монет и кладем на весы (по 3 с каждой стороны). Если вес не уравнивается, значит, легкая монета находится на весах, а не одна из двух, которые остались лежать. 2-й шаг: берем 3 монеты, которые с легкой стороны весов. Одну откладываем, а две монеты кладем на весы.

7. Про торт
Ответ:
Вариант 1. 2 раза поперек, крест на крест (как обычно режут торт). Получится 4 куска. 1 раз с ребра пополам (то есть поверхность ножа горизонтальна поверхности стола). Получится 8 кусков, т.к. каждый кусок разрежется еще на 2 части.
Вариант 2. Разрезать пополам. Сложить половинки одна на другую и разрезать второй раз. Затем опять сделать «бутерброд» из четвертинок и разрезать его пополам.

8. Про веревки
Ответ:
1. Зажигаем одновременно две веревки, причем одну – с одного конца, а вторую – с обоих.
2. Через полчаса сгорит полностью вторая веревка. В этот момент первой веревке осталось гореть ровно полчаса.
3. Зажигаем с двух концов то, что осталось от первой веревки (с одного конца она уже горит) – вот тут и начинается отсчет 15 минут.
4. Ровно через 15 минут ничего не останется и от первой веревки.

9. Про цепочку
Ответ: Необходимо распилить третье звено. Первый день он расплатится распиленным колечком, на следующий – отдаст два звена вместе, а сдачей будет отданное вчера распиленное колечко. В третий день заплатит куском из трех звеньев, а сдачей будет заплаченные им вчера два звена и т.д.

10. Про настройщиков рояля
Один из вариантов решения: сначала определить, сколько роялей в городе. Для этого надо посчитать количество школ и примерное число учеников в них (с поправкой на то, что не у каждого ученика есть дома рояль). Затем прикинуть период активного использования рояля, а также сколько примерно требуется настроек за период. Далее подумать, сколько минимально заказов нужно выполнять мастеру, чтобы можно было на этом зарабатывать или как минимум выживать. Соотнести все значения и определить количество настройщиков рояля в городе.

Как видно из приведенной заметки, кадровая служба компании "Google" обладает изрядным чувством юмора - и проявляет его в вопросах интервью при отборе кандидатов на "высокоинтеллектуальные" позиции. Ответы на них неоднозначны и могут варьировать, не обязательно повторяя мнение редакции "Вести. Экономика". Запрос на оригинальность, продуктивность и скорость мышления понятен, если речь идет об инновационных разработках и планетарном масштабе их использования.

Между тем, указанные вопросы обращены в основном к таким способностям, как Вычисления и Абстрактная логика (если использовать терминологию методик интеллектуальной диагностики нашей лаборатории). Реальная бизнес-среда предъявляет требования в том числе к развитию Памяти, Эрудиции, Лексики, Обработки информации и Пространственного мышления - разумеется, в разной степени, однако в нашем тесте "Бизнес-IQ" они могут быть проанализированы внутри одного профиля респондента, а его задания перекликаются с методологией "Google", являясь отражением современной организационной действительности.

Редакция сайт

Если в России большинство соискателей хотели бы работать в "Газпроме", то в мире несколько лет подобный рейтинг возглавляет Google. Отбор новых сотрудников в инновационную компанию довольно жесткий; к интервью готовятся за несколько месяцев, как к сложнейшему экзамену.

Вот несколько фактов. Google предпочитает набирать работников среди выпускников восьми частных американских вузов ("Лиги плюща"): Браунского университета, Гарварда, Принстона, Пенсильванского университета, Дартмутского колледжа, Йельского университета, Колумбийского университета, Корнельского университета.

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

Ниже приводятся 15 вопросов, которые вы могли бы услышать, придя на собеседование в офис Google.

1. Сколько шариков для гольфа поместится в школьный автобус?

Это один из вопросов, которые задают в компании, чтобы посмотреть, каким образом соискатель ищет решение проблемы. Один из соискателей нашел хороший ответ: "Я представил стандартный школьный автобус шириной 8 футов, высотой 6 футов и длиной 20 футов: это примерные размеры, основанные на моих наблюдениях во время долгого стояния в пробках позади школьного автобуса. Это значит 960 кубических футов, 1728 кубических дюймов в кубическом футе, а это значит около 1,6 миллиона кубических дюймов. Я подсчитал, что объем мяча для гольфа около 2,5 кубического дюйма (4/3 * pi * 0.85), так как радиус мяча - 0,85 дюйма. Разделив 1,6 миллиона на 2,5 кубического дюйма, получится 660 тыс. шаров для гольфа. Однако, учитывая сиденья в автобусе и прочие вещи, занимающие свободное место, а также сферическую форма мяча, я предположил, что между ними будет достаточно много свободного места. И я округлил значение до 500 тыс. шаров".

2. За какую сумму денег вы помоете все окна в Сиэтле?

Позиция: менеджер по продукции

Это один из тех вопросов, где надо призвать на помощь смекалку и дать самый простой ответ. Мы бы ответили: "10$ за окно".

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

Позиция: менеджер по продукции

Ответ на этот вопрос вызвал оживленные дискуссии, в результате мы пришли к следующему решению. Представьте, что есть 10 семей, у которых 10 детей: 5 девочек, 5 мальчиков (всего – 10). Далее 5 пар, у которых девочки, родят еще пятерых детей. Половина (2,5) будут девочками, половина (2,5) - мальчиками. Добавляем 2,5 мальчика к уже рожденным 5 и 2,5 девочки к имеющимся 5 (всего детей 15, из которых 7,5 – мальчики и 7,5 – девочки). Теперь 2,5 парам, у которых девочки, надо родить 2,5 ребенка. Половина (1,25) будут мальчиками и половина (1,25) – девочками. Добавляем 1,25 мальчика к уже имеющимся 7,5 и 1,25 девочку к тем 7,5. (Всего детей 17,5, из которых мальчиков 8,75 и девочек – 8,75.) И так далее, придерживаясь принципа 50/50.

4. Сколько настройщиков пианино во всем мире?

Позиция: менеджер по продукции

Мы бы ответили: "Столько, сколько требуется рынком. Предположим, что пианино надо настраивать раз в неделю и это занимает один час, а настройщик работает 8 часов в день в течение 5 дней в неделю. Тогда получается, что 40 пианино требуют еженедельной настройки. Наш ответ: один для каждых 40 пианино".

5. Почему крышка люка круглая?

Позиция: разработчик ПО

Ответ. Чтобы она не могла упасть внутрь люка при ее монтаже или демонтаже (прямоугольная крышка легко входит в корпус люка по диагонали).

6. Разработайте план эвакуации для Сан-Франциско.

Позиция: менеджер по продукции

Ответ. Опять здесь смотрят, как соискатель подходит к решению проблемы. Мы бы начали свой ответ с вопроса: "А какое бедствие запланировано на сегодня?"

7. Сколько раз за сутки стрелки часов совпадают в одном положении?

Позиция: менеджер по продукции

Ответ. 22 раза. Из WikiAnswers: 00:00, 1:05, 2:11, 3:16, 4:22, 5:27, 6:33, 7:38, 8:44, 9:49, 10:55, 12:00, 13:05, 14:11, 15:16, 16:22, 17:27, 18:33,19:38, 20:44, 21:49, 22:55

8. Объясните значение выражения Dead beef (дословно: мертвое мясо)

Позиция: разработчик ПО

Ответ. DEADBEEF - шестнадцатиричное значение, которое использовалось для дебаггинга во времена больших мейнфреймов, потому что этот маркер было очень легко найти в шестнадцатиричных дампах. Большинство людей с компьютерным образованием должны были видеть это как минимум на уроках изучения ассемблера, вот почему в Google ожидают, что разработчик ПО знает об этом. 0xDEADBEAF (dead beef) использовался системами IBM RS/6000, Mac OS на 32-битном процессоре PowerPC и Commodore Amiga в качестве волшебного значения для дебага. На Solaris от Sun Microsystem это обозначало свободную память ядра. На OpenVMS, работающей на процессорах Alpha, DEAD_BEEF можно увидеть, нажав CTRL-T.

9. Человек направил свой автомобиль на отель, но потерпел неудачу. Что случилось?

Позиция: разработчик ПО

Ответ. Он застрял на бордюре. (Неприятно, правда?)

10. Вам надо проверить, правильно ли записан и записан ли вообще ваш телефон у вашего приятеля Боба. Но вы не можете его спросить об этом прямо. Вам надо написать вопрос на бумажке и отдать Еве, которая отнесет ее Бобу, а потом принесет обратно ответ от него. Что вы должны написать на бумажке (прямой вопрос нельзя) так, чтобы Боб смог понять сообщение, а Ева не смогла бы узнать ваш номер телефона?

Позиция: разработчик ПО

Ответ. Поскольку вы всего лишь проверяете, попросите его позвонить в определенное время. Если он не сделает этого, значит, у него нет вашего номера. Слишком просто? Еще один вариант ответа: "В этом случае надо использовать контрольную сумму. Пусть Боб сложит все числа вашего номера и напишет на листе результат, затем передаст вам обратно".

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

Позиция: технический менеджер

Ответ. Надо разделить награбленное поровну между 51% всей команды.

12. У вас есть 8 шаров одинакового размера. 7 из них одинакового веса, а один весит чуть больше остальных. Найдите мяч, который тяжелее остальных, используя весы, показывающие баланс, и только два взвешивания?

Позиция: менеджер по продукции

Ответ. Возьмите 6 из 8 мячей и положите по 3 на каждую сторону весов. Если тяжелый мяч не в этой группе шаров, у вас есть еще 2, которые надо положить на весы и решить задачу. Если тяжелый шар в первой группе из 6 шаров, берите 3, которые перевесили во время первого взвешивания. Из этих трех два положите на чаши весов. Если один перевесит, то вы его нашли. Если же они весят одинаково, то значит ваш мяч - тот, который вы отложили.

13. У вас есть 2 яйца и есть доступ на 100-этажное здание. Яйца могут быть либо очень крепкими, либо очень хрупкими, а это значит, что они могут разбиться, если упадут с первого этажа, либо не разбиться, даже если их скинуть с 100-го этажа. Оба яйца абсолютно одинаковые. Вам нужно выяснить, какой этаж этого здания будет самый высокий для сохранения целости яиц при падении с него. Вопрос: сколько попыток вам надо сделать, чтобы выяснить самый высокий этаж? И при этом вы можете разбить только два яйца.

Позиция: менеджер по продукции

Ответ: Наибольшее количество попыток – 14 раз. Вместо того чтобы разбивать этажи по 10, надо начать с 14-го, затем подняться еще на 13 этажей, затем на 12, затем на 11, затем 10, 9, 8, 7, 6, 5, 4, до тех пор пока не дойдете до 99-го. Если бы яйцо разбилось на 100-м этаже, получилось бы 12 попыток (или 11, если вы предположите, что яйцо разобьется на 100-м этаже). Предположим, для примера, что мы выяснили, что 49-й - самый высокий этаж, где яйцо не разбилось, тогда наши попытки: 14-й, 27-й, 39-й, 50-й (яйцо разбилось на 50-м этаже) плюс 40, 41, 42, 43, 44, 45, 46, 47, 48 и 49 этаж - всего 14 попыток.

14. Объясните, что такое база данных в трех предложениях, чтобы понял ваш 8-летний племянник

Позиция: менеджер по продукции

Ответ. Основная цель этого вопроса заключается в оценке способности соискателя объяснить сложную идею простыми словами. Вот наша попытка: "База данных - это машина, которая запоминает большое количество информации о разных вещах. Люди используют ее, чтобы вспомнить эту информацию, когда им нужно. Пошли поиграем".

15. Вас уменьшили до размеров 5-центовой монеты, и ваша масса была пропорционально уменьшена в соответствии с вашей плотностью. Вас бросили в пустой стакан блендера. Ножи начнут движение через 60 секунд. Что делать?

Позиция: менеджер по продукции

Ответ. Этот вопрос оценивает креативность соискателя. Мы бы попробовали сломать электромотор.

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

Прежде чем смотреть ответы и способы решения под картинками, попробуйте испытать свои силы – может быть, вы удивите сами себя?

Позиция 1: инженер-программист в Google

Задача

У вас 8 шаров: 7 весят одинаково, а 1 чуть тяжелее остальных. Как определить с помощью весов, какой шар тяжелее, если у вас только 2 попытки?

Решение

Шаг 1. Берем 6 любых шаров из 8

Шаг 2. Кладем по 3 шара на две чаши весов (тем самым используем 1-ю попытку):

A) если чаши сравнялись, то более тяжелый шар нужно искать среди двух оставшихся

B) если одна чаша перевесила, то нужный шар находится среди этой тройки

Шаг 3. Используем 2-ю и последнюю попытку.

При варианте

A) все просто: нужно взвесить два оставшихся шара, чтобы выявить более тяжелый. При варианте

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

Позиция 2: менеджер в Amazon

Задача

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

Самые популярные ответы

A) одно состязание – именно оно определит чемпиона в финале

B) 5.622 состязания: если из всех участников должен быть только один победитель, то из 5.623 нужно просто вычесть 1.

Альтернативное решение

Здесь важен не «правильный ответ» (если вы заметили, условие задачи туманно, так что решений может быть несколько), а логический подход. Поэтому сначала хорошо бы уточнить, что это за участники – команды или отдельные спортсмены? Потом, в зависимости от ответа, задать следующий логический вопрос и так далее. Так вы проявите свою способность мыслить, рассуждать, принимать решения.

Позиция 3: разработчик программного обеспечения в Webtrends

Задача

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

Варианты ответов

A) 3 носка – либо 2 из них окажутся одного вида, 1 – другого, либо все 3 будут одного вида. В любом случае у вас будет пара.

B) ни одного, так как в условии сказано: «20 разных носков двух видов», то есть среди них нет двух одинаковых.

Позиция 4: инженер-программист / веб-разработчик в Microsoft

Задача

Перед вами 3 коробки: в одной яблоки, в другой бананы, в третьей – смесь тех и других. Все коробки помечены неправильно. Вы можете доставать по одному фрукту из одной коробки, не заглядывая внутрь. Сколько раз как минимум нужно достать фрукт, чтобы определить содержимое всех корзин?

Ответ

Решение

Ключ в том, что коробки помечены неправильно, а значит, в каждой лежит не то, что написано. То есть, в коробке с пометкой С (смесь) могут быть либо только яблоки (Я), либо только бананы (Б). Достаем оттуда фрукт – попалось яблоко? Значит, это коробка с яблоками.

Осталось 2 коробки – с пометками Я и Б, а вы знаете, что это неверно, и в коробке Б могут быть либо яблоки, либо смесь. Но ведь яблоки мы уже выявили, следовательно это смесь. Ну и в последней коробке с маркировкой Я, получается, находятся бананы.

Позиция 5: инженер-программист в Raytheon

Задача

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

Решение

Включить любой из трех выключателей и подождать 5-10 минут, чтобы лампочка (если она зажглась) успела нагреться. Затем выключить первый и включить второй выключатель, а самому спуститься вниз на проверку. Если лампочка не горит, но теплая, значит за нее отвечает первый выключатель. Если горит сейчас, то второй. А если не горит и холодная, то третий.

В этой статье рассказано о том, как один разработчик учился в течение 8 месяцев для того, чтобы максимально подготовиться к интервью в Google.

Моя доска, исписанная алгоритмом Дейкстры для нахождения кратчайшего пути.

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

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

Как я к этому пришел

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

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

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

Мне нравилось делать веб-сайты, но я использовал сервисы для их создания, а не верстал с нуля.

После армии я решил остаться в Корее ещё на год и преподавать там английский. Свои вечера и выходные я проводил, изучая веб-программирование с использованием Perl, HTML, CSS (который, кстати, к тому времени только появился), JavaScript и SQL. После года интенсивного изучения я устроился на работу в районе Сиэтла.

Работаю на балконе с видом на прекрасный Белвью.

15 лет я был веб-разработчиком. Я основал три компании, две из которых до сих пор существуют и имеют неплохую прибыль, работал как в больших, так и в маленьких компаниях, помогал запускать и продвигать стартапы, нанимал целые команды и управлял ими, я был менеджером по продукции, СЕО, дизайнером и маркетологом.
У меня была успешная карьера и я многому научился, но я еще не закончил!

В поисках перемен

Помните, как я не получил степень в сфере компьютерных наук? Это сыграло огромную роль.
Пару лет назад я думал, что меня с удовольствием примет на работу любая компания. Еще бы, мне казалось, что я был горячей штучкой: опытный full-stack разработчик, да ещё и с таким-то стажем! Но на протяжении моих поисков работы в 2013, я понял, что моих навыков было недостаточно. Я так увлекся погоней за деньгами, запуская стартапы в свободное время, что позволил моим навыкам попросту атрофироваться. Я не следил за новыми тенденциями и технологиями.

Годами я учился и выучил немало, у меня было много знаний и навыков, но ни в одной области я не был экспертом.
Не поймите меня неправильно, меня всё ещё могли принять на работу, но не в тех сферах, в которых я хотел работать. Я мог пойти на работу только туда, где использовали устаревший стек технологий, потому что только его я и знал. В таких местах всё ещё крутится много денег, но я не видел там интересных для себя перспектив.
Осознание проблемы достигло своего пика в прошлом году на ярмарке вакансий. Я был заинтересован в работе в одной из местных компаний, которая была стартапом, запущенным фирмой венчурного капитала. Однако тот факт, что у меня не было ученой степени в сфере компьютерных наук, а следовательно и навыков, которые бы я там получил, означал, что у меня нет ни единого шанса.

В начале 2016 я решил, что пришло время переквалифицироваться из веб-разработчика в разработчика ПО. Мне нужно было усердно учиться и много практиковать свои навыки, чтоб выучить всё, чему учат в университете, за пару месяцев. Но я понимал, что как только это сделаю, смогу начать новую карьеру.

Как всё началось

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

Я познакомился с человеком, работающим в Google и спросил об его впечатлениях о компании. Я читал «How Google Works » и был уже неплохо знаком с организацией работы в этой компании.

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

Почему Google?

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

Чем больше я узнавал о Google, тем больше я хотел там работать.

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

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

На пути к своей мечте в 2015 я посетил Googleplex в Маунтин-Вью, Калифорния. Эта поездка посеяла мысли в моей голове.

Люди в Google, занимающиеся наймом сотрудников, выучили то, что будет работать вне времени, они используют данные и отзывы работников, чтоб улучшить систему отбора, процесс найма, поощрение, вознаграждение и так далее. Прочтите Work Rules! , чтобы узнать больше.

Помните о тренировочных заметках, которые мне дал мой знакомый, где указано, что мне стоит учить? Список казался вполне выполнимым даже несмотря на то, что я ничего из того, что было в этом списке, не знал. Все темы из заметок я выписал в учебный план и начал дополнять его перечнем YouTube видео и лекциями из MIT и UC Berkeley. Список начал расти.

Я опубликовал мой список на GitHub, так как мне нужно было сделать портфолио. Изначально, этот проект я назвал «Проект 9894». Google запустили 4 сентября 1998 года. Отсюда, собственно, и название. Чуть позже, я переименовал его в “Подготовка к интервью в Google ”.
Через какое-то время я добавил еще пару тем, которые мне были интересны и оказались полезными на моём пути.

Мой список летнего чтения и не только.

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

Мой маленький GitHub проект попал в ежедневный список трендов GitHub. Он был №1 в этом списке несколько дней.

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

Сейчас там более 21 000 оценок.
Я до сих пор не могу в это поверить.

А что, если я не получу работу?

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

Не учитесь так много, как я

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

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

Я потратил три недели, читая книгу по С++. Я не помню ни одной из 1000 страниц, но зато теперь знаю немного об этом языке. Так вышло, что во время интервью я использовал Python, а не С++. Мне казалось, что мне нужно знать С++, С или Java, но я ошибался. Нужно спрашивать, а не предполагать.

Я прочёл гораздо больше книг, чем мне нужно было. Мне понадобились знания только из трёх-четырёх книг. У меня был каталог из сотен алгоритмов для изучения, большинство из которых я даже не ожидал опробовать во время интервью. Не делайте то, что вам не нужно!

Набор алгоритмов, распечатанных для просмотра.

Я просмотрел сотни часов видео на YouTube, хотя мог гораздо меньше, и разобрал гораздо больше тем, чем стоило бы.

Распределенное повторение - ключ к запоминанию.

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

Чтоб легче было запоминать, я сделал 1 792 электронные карточки, на которых были разнообразные вопросы на многие темы. Я пересматривал их на моем телефоне или планшете каждый раз, когда у меня была свободная минутка. Повторение по карточкам и распределенное повторение идут нога в ногу. Если я правильно ответил на вопрос с карточки, то я всё равно не помечаю её как «выученную». Я оставляю её как есть и только когда отвечу на нее правильно много раз, тогда уже и помечу соответственно.

Моё чувство страха («А что, если они спросят меня о красно-чёрных деревьях?») заставило меня выучить гораздо больше тем, чем мне нужно было.
Но я не просто хотел подготовиться к интервью, я хотел подготовиться к карьере в Google, решая поистине большие проблемы. А это значит, что я должен знать алгоритмы, которые будут экономно расходовать вычислительные ресурсы.

Мне может никогда и не понадобиться алгоритм Форда - Фалкерсона (решает задачу нахождения максимального потока в транспортной сети - прим. переводчика), но приятно осознавать, что у меня есть эти знания на случай, если они понадобятся.

Заключение

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

У меня впереди потрясающее будущее.
Спасибо, что уделили время, на прочтение моей истории!

Перевод: Роман Мирзоян

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

Бильярдные шары

Есть 8 бильярдных шаров. Один из них немного тяжелее других. За какое минимальное количество взвешиваний на рычажных весах без гирь можно найти этот шар?


2 взвешивания. Нужно разделить все шары на три части: по 3 шара в двух частях и 2 шара в третьей части. Сначала взвешиваете первые две части по 3 шара. Если одна из частей оказалась тяжелее, то взвешиваем между собой любые 2 шара из нее. Или один из них будет искомым шаром, или не взвешенный, если они оказались равны. В случае равного веса частей при первом взвешивании более тяжелый шар окажется в третьей части из двух шаров.


Мертвец в пустыне

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

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

4 литра воды

Отмерьте ровно 4 литра, если у вас есть 3-литровая банка, 5-литровая банка и неограниченный доступ к воде.

Наберите 5-литровую банку воды и наполните водой из этой банки 3-литровую банку, затем 3-литровую банку вылейте. Два оставшихся литра из 5-литровой банки перелейте в 3-литровую банку. Опять наберите полную 5-литровую банку воды и из нее долейте воды (1 литр) в 3-литровую банку.

Таким образом, в 5-литровой банке останутся 4 литра.

Медведь

Вы построили дом, у которого все стороны смотрят на юг. Вдруг вы увидели медведя. Какого он цвета?

Белый. Только на Северном полюсе все четыре стены могут быть обращены на юг.

Таблетки

Доктор выдал пациенту 4 таблетки — по 2 таблетки разного вида, которые нельзя отличить по внешним признакам. Таблетки надо выпить за 2 приема: утром по 1 таблетке каждого вида и так же вечером. Если нарушить дозировку или не принять таблетки, пациент умрет. Так вышло, что таблетки перемешались. Как пройти курс лечения и выжить?