Подготовка к интервью в Google. Какая функция в С противоположна функции malloc()? Какой объём памяти нужен, чтобы сохранить все изображения с Google Maps

  • Перевод

«Диагноз - не конец, а начало дела».
Мартин Х. Фишер.

Недавно я проходил телефонное собеседование с кадровиком из Google. Поскольку я соответствовал критериям на такое (добровольное) собеседование, но не смог пройти тест, в этом посте перечислены вопросы и предполагаемые ответы на них . Этот пост может оказаться полезным тем, кому в один прекрасный день позвонят из Гугла.

Для ясности: я начал заниматься программированием 37 лет назад (мне тогда было 11 лет) и постоянно занимаюсь этим. Кроме того, 24 года назад (мне было 24) я был назначен директором по исследованиям и развитию ; с тех пор среди многих других работ мною были проведены НИОКР по наиболее ответственным частям проектов TWD - все они поставляются, как коммерческие продукты:

Обновление: журнал «Business Insider» опубликовал эту историю (25 000 прочтений на настоящий момент).

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

Обновление: пост в блоге сотрудника Google , успешно размещённый на LinkedIn и использующий несвязный «мусорный» лексикон (очевидно, нацеленный на ассоциации оскорбительных слов с моим именем в поисковых системах), был написан кем-то, кто выглядит как подставное лицо (оранжевым подчёркнут текст, работающий на Гугл, красным - бессвязные злобные выражения):

Профиль в LinkedIn для Марсии Пинейро показывает, что она работает в… Гугл. Если это - реальный человек (она же имеет 3 аккаунта ), то мне грустно за неё - ей приходится поливать грязью людей, чтобы зарабатывать себе на жизнь. Если Гугл действительно нанял её (или «его», спрятанного за фальшивой личностью), то это великолепный способ оставить за собой последнее слово. Гугл придерживается проповедуемого им принципа «Не делай зла» ?

Обновление: LinkedIn, в конце концов, разместил мой пост, хотя и без комментариев читателей и с задержкой в 12 часов. Три других поста, написанных техническими специалистами, которые послали мне подтверждение просмотра, оказались не столь удачливыми.

Обновление: журнал «Business Insider» опубликовал (очень хорошую) статью, рассматривающую впечатляющие провалы Гугл с наймом персонала и содержащую интересное понимание проблем опытными техническими специалистами. Очень рекомендую прочитать (даже сотрудникам Гугл).

Теги:

  • найм персонала
  • Гугл
  • собеседование
  • вопросы на собеседовании
Добавить метки

А если судить вообще и в целом, подборка дает хорошее представление о вопросах, которые могут попасться на интервью - как при приеме на работу, так и для поступления на грантовую программу, например.

Во-первых,

  • Google предпочитает людей из «Лиги Плюща»
  • Им интересны ваши оценки (в институте), даже если вам уже за 30
  • Они ищут людей, которые хотят изменить мир

Хуже того, если вы подходите по всем этим параметрам, вам все равно надо проходить собеседование. Льюис Пин (Lewis Pin), тренер по поиску работы из Сиэтла, собрал 140 вопросов, которые в Google спрашивали его клиентов.

Сколько шариков для гольфа поместится в школьный автобус?
Позиция: Менеджер проекта

За сколько денег вы помоете все окна в Сиэтле?
Позиция: Менеджер проекта

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

Сколько настройщиков пианино во всём мире?
Позиция: Менеджер проекта

Почему крышка люка круглая?
Позиция: Разработчик ПО

Разработайте план эвакуации из Сан Франциско
Позиция: Менеджер продукта

Сколько раз за день стрелки часов пересекаются?
Позиция: Менеджер продукта

Объясните значение выражения “dead beef”
Позиция: Разработчик ПО

Человек направил свой автомобиль на отель, но потерпел неудачу. Почему?
Позиция: Разработчик ПО

Вам надо проверить, правильно ли записан ваш телефон у Боба…
… но вы не можете его спросить об этом прямо. Вам надо написать вопрос на бумажке и отдать Еве, которая отнесёт её Бобу и принесёт обратно ответ от него. Что вы должны написать на бумажке, кроме прямого вопроса, так, чтобы Боб смог понять сообщение, а Ева не смогла узнать ваш номер телефона?
Позиция: Разработчик ПО

Вы - капитан пиратского судна…
… и ваша команда собирается голосовать, как разделить награбленное золото. Если с вами будет согласно меньше чем половина пиратов, вы умрёте. Как вы поделите золото, так, чтобы получить хорошую часть добычи, но всё же остаться в живых?
Позиция: Технический Менеджер

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

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

Объясните что такое База Данных в трёх предложениях, так как это сделал бы ваш 8-летний племянник
Позиция: Менеджер продукта

Вы были уменьшены до размеров 5-центовой монеты…

… и ваша масса была пропорционально уменьшена соответственно вашей плотности. Теперь вас бросили в пустой стакан блендера. Ножи начнут движение через 60 секунд. Что делать?
Позиция: Менеджер продукта

Прежде чем смотреть ответы, попробуйте догадаться сами! По меньшей мере, в половине случаев достаточно смекалки. Кое-где нужны специальные знания. Некоторые задачи требуют расчета.
_____
Ответы - можно найти и по ссылке на оригинал ниже. Также рекомендую Хабр для прочтения и небольшой медитации над вопросом о крышке люка:) Вообще, там в комментариях есть оригинальные ответы.

Нынешние IT-гиганты славятся своим нестандартным подходом к организации рабочего процесса. Корпорации создают для своих сотрудников идеальные условия, мотивируя их всеми способами. Но как подобрать отзывчивый коллектив, состоящий исключительно из «заряженных » профессионалов? Это главная задача HR-отделов, и вот как они с ней справляются.

Некоторое время назад были очень популярны вопросы формата «brainteaser» - логические головоломки, часто бессмысленные на первый взгляд. Они могли почти не относится к будущей должности и редко требовали специализированных навыков. Более того, на многие вопросы попросту не существует однозначного ответа.

Тогда зачем их задавать?

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

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

Приём взяли на вооружение все крупные корпорации, но, пожалуй, чаще всего brainteaser’ы попадались соискателям на вакантные места в Google Inc.

Самые дикие вопросы на собеседованиях в Google

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

1. Придумайте как можно больше способов найти иголку в стоге сена


Должность: 08.05.2014

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

2. Сколько стрижек делают в Америке в течение года?


Должность: сотрудник коммерческого отдела - 08.05.2014

Как ответить: начните с подсчёта потребительского спроса. Количество населения США? Сколько из них ходят к парикмахеру? Как часто люди стригутся? Затем сводите примерную статистику за год.

3. Монету подкидывали 1000 раз, и 560 раз она показывала орла. Как думаете, «честна» ли монета? А если из 10 бросков было шесть орлов?


Должность: специалист по количественному анализу - 12.09.2015

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

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


Должность: менеджер по продукту - 05.11.2015

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

5. Сколько теннисных мячиков поместятся в самолёт?


Должность: стажёр - 08.12.2015

Как ответить: тут или упираться в объём какого-нибудь Boening и высчитывать сколько стандартных шаров туда «насыпать», или подумать как будут грузится шары. В какой упаковке? Поддоны или контейнеры?

6. Как решить крупнейшую проблему человечества с помощью миллиарда долларов и космического корабля?


Должность: администратор баз данных - 14.12.2015

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

7. Если бы вы могли запомнить только одно предложение, каким бы оно было?


Должность: 08.12.2015

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

8. Опишите сервис, который помогает путешествовать в будущее.


Должность: проектировщик интерактивных интерфейсов - 23.12.2015

Как ответить: включить писателей-фантастов. Представьте, что это вот-вот случится. Как будет реализовано такое «подглядывание» в будущее? Новостное приложение в смартфоне? 3D-очки? Или физическое путешествие с помощью какой-то капсулы? Развить можно любую мысль.

9. Когда тротуар полностью промокнет под дождём, если ширина тротуара 1 метр, а диаметр капли 1 см?


Должность: инженер-программист - 06.01.2016

Как ответить: на первый взгляд всё просто, но в реальности есть множество прочих факторов. Капли могут падать в одно и тоже место или внахлёст. Мокрое пятно от них не всегда равно их диаметру. Чем больше неочевидных факторов вы учтёте, тем выше шансы на успех. Разумеется, придётся написать программу.

10. Если из YouTube удалить рекламу, то как его монетизировать?


Должность: консультант коммерческого отдела - 15.01.2016

Как ответить: придумайте несколько способов, например, платная подписка на сервис или формирование ТОП каналов за деньги. Ребята из коммерческого отдела - те, кто напрямую работает со всеми рекламными продуктами Google, поэтому готовьтесь дать свой развёрнутый ответ, с подсчётом выгоды.

11. Сколько людей водят машины в вашем городе? Рассчитайте.


Должность: разработчик - 03.09.2016

Как ответить: придумайте себе исходные данные. Прикиньте население города, и какое количество человек в семье в среднем. Затем подумайте, сколько семей могут позволить себе 1 машину? А две? Три и больше?

12. Как много машин на 101 шоссе, между Сан-Фарнциско и Маунтин Вью?


Должность: менеджер по продукту - 04.01.2018

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

13. Сколько в США специалистов по ремонту пианино?


Должность: менеджер по продукту - 04.01.2018

Как ответить: также как и на вопрос с парикмахером. Высчитываете примерный спрос на эту услугу и получаете не менее примерное количество специалистов.

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


Должность: менеджер по продукту - 04.01.2018

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

15. Сколько людей работает в Google по всему миру?


Должность: менеджер по продукту - 04.01.2018

Как ответить: возьмите за основу годовой доход Google и представьте, в каком размере окупаются затраты на сотрудников. В дестикратном? В тридцатикратном? Посчитайте.

16. Сколько компьютеров принадлежит Google?


Должность: менеджер по продукту - 04.01.2018

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

17. Google хочет, чтобы вы разработали газонокосилку-робот. Как будете действовать?


Должность: менеджер по продукту - 08.01.2018

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

18. Спроектируйте вендинговый автомат (торговое оборудование) для слепых.


Должность: менеджер по продукту - 11.01.2018

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

19. Какой объём памяти нужен, чтобы сохранить все изображения с Google Maps?


Должность: менеджер по продукту - 11.01.2018

Как ответить: придется очень много считать, причём цифры буквально с потолка. Сколько весит одна фотография в Google Maps? А панорамное изображение? Плюс сопутствующая графика. Теперь посчитайте примерную площадь земного шара. А сколько уже снято спутниками Google? Как много там объектов с привязанным фото? А достопримечательностей? Считайте всё, что сможете вспомнить.

20. Как понять, сколько сантехников работают в Сан-Франциско?


Должность: 18.01.2018

Как ответить: это ещё одна вариация вопроса про стрижки или про специалиста по ремонту пианино. Решаются они как под копирку, только разные исходные данные. Брать их, опять же, из головы.

21. Если бы вам было поручено нанять людей, какая площадка подошла бы лучше всего?


Должность: аналитик отдела безопасности - 18.01.2018

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

22. Как улучшить пользовательский интерфейс YouTube? (с точки зрения рекламы)


Должность: аналитик отдела безопасности - 18.01.2018

Как ответить: представьте, что YouTube обзавёлся ненавязчивой, не заметной пользователю рекламой. Где бы находились спонсорские блоки? В каком моменте и как долго они бы отображались?

И как к этому подготовиться?

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

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

За сколько денег вы помоете все окна в Сиэтле? Это один из вопросов, где надо проявить хитрость и дать самый простой ответ. Ну, скажем 10 $ за окно.

Сколько настройщиков пианино во всём мире? Всё зависит от того, какова потребность в услугах настройщиков. Если пианино надо настраивать раз в неделю, и это занимает один час, а настройщик работает 8 часов в день в течение 5 дней в неделю, то получается, что он может настраивать 40 пианино каждую неделю. Ответ: один настройщик на каждые 40 пианино.


Почему крышка канализационного люка круглая? Круглая форма крышки позволяет гарантировать то, что сама крышка не провалится в люк при её монтаже или демонтаже (прямоугольная же крышка легко входит в корпус люка по диагонали).

Можете ли вы разработать план эвакуации из Сан-Франциско? Еще один странный вопрос. И все ради того, чтобы узнать, что предложит соискатель в качестве решения проблемы. Неплохо бы ответить вопросом на вопрос: «А какое бедствие запланировано на сегодня»?


Сколько раз за день стрелки часов пересекаются? Ответ: 22 раза
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

Вам надо проверить, правильно ли Боб записал ваш номер телефона … … но вы не можете спросить его об этом прямо. Вам надо написать ему записку и отдать Еве, которая отнесёт её Бобу и принесёт обратно ответ от него. Что вы напишите в записке, чтобы Боб понял, что вы от него хотите, а Ева не смогла узнать ваш номер телефона?
Поскольку вы всего лишь «проверяете», то в записке просто попросите его позвонить вам в определённое время. Если он позвонит, значит ваш номер у него записан правильно.
Слишком просто? Можно ответить и по-другому: надо использовать контрольную сумму. В записке попросите Боба сложить все цифры вашего телефонного номера и написать на листе результат. Когда Ева принесет его ответ, вам надо будет лишь проверить полученную сумму.


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

У вас есть 8 мячиков одинакового размера … … 7 из них одинакового веса, а один весит чуть больше остальных. Сможете ли вы найти мячик, который тяжелее остальных, используя весы только два раза?
Возьмите 6 из 8 мячей и положите по 3 на каждую чашу весов.
Если тяжёлого мячика в этой группе нет, то никакая чаша не перевесит. Теперь вам останется взвесить оставшиеся 2 мяча и решить задачу.
Если же одна из чаш с 3 мячиками перевесила другую, это значит, что тяжелый мячик в этой чаше. Возьмите 3 мячика из чаши, которая перевесила, и два из них положите на весы. Если один из них перевесит - он и будет мячиком, который вы искали. Если же они весят одинаково, то значит, мяч, который вы отложили – это и есть тот тяжелый мяч, который надо было найти.

Сможете объяснить тремя предложениями, что такое база данных, вашему 8-летнему племяннику? Суть вопроса заключается в том, чтобы проверить, способен ли соискатель говорить о сложных понятиях на простом языке. Ответ может быть таким: «База данных - это компьютер, который помнит много информации о разных вещах. Люди пользуются им, если кому-то нужна эта информация. А теперь иди поиграй на улице».

Вас уменьшили до размеров 5-центовой монеты … … и ваша масса пропорционально уменьшилась соответственно вашей первоначальной плотности. Затем вас бросили в пустую чашу блендера. Ножи придут в движение через 60 секунд. Ваши действия?
Этот вопрос оценивает инициативность соискателя. Самое лучшее, что можно придумать в такой ситуации – это не сидеть в блендере сложа руки, а попытаться сломать электромотор.

В этой статье рассказано о том, как один разработчик учился в течение 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, решая поистине большие проблемы. А это значит, что я должен знать алгоритмы, которые будут экономно расходовать вычислительные ресурсы.

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

Заключение

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

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

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



Поделиться