Хочу работать в Google: История подготовки к интервью

Не так давно мне написал Макс, который как раз проходил интервью в Google. Интервью он прошел хорошо, и даже получил оффер в офис Цюриха. Поэтому я просила у него, как он готовился. Вот что Макс мне ответил на вопрос о подготовке:

У меня 10+ лет опыта в разработке, я уже собеседовался в Google дважды, оба раза не доходил до HC, насколько я понимаю.  Сейчас у меня третья попытка, и это первый раз, когда я основательно готовился.

Первый раз я собеседовался, если не ошибаюсь, в 2012 году. На меня вышел рекрутёр, сказал, что по внутренней рекомендации, но кто меня рекомендовал не ответил, и я до сих пор не знаю, была ли какая-то рекомендация, или нет. Я тогда пытался отказаться от собеседования, потому что жил в Цюрихе, работал на UBS, который платил кучу денег, и у меня всё было отлично. Никакого желания менять работу у меня не было. В итоге рекрутёр убедил меня попробовать, я совсем не готовился, и закономерно собеседование провалил. Фидбек от рекрутера оставлял желать лучшего, и, честно говоря, вообще был не удовлетворительным. Никаких апдейтов по ходу процессса, всё очень долго и только после моих вопросов. В общем, мне не понравилось, но мне тогда было всё равно.
Второй заход был год назад, у моей компании внезапно возникли проблемы с продлением моего ворк пермита, который истекал менее, чем через месяц. Я написал тому же рекрутёру, который у меня был, он очень быстро ответил, организовал интервью, пропустив телефонный этап, но времени на подготовку у меня была неделя, результат закономерен. Похоже, что за пару лет с момента прошлого интервью что-то в рекрутинге изменилось, потому что обратная связь была намного лучше, мне не приходилось напоминать о себе, и в целом впечатления были положительными.
В результате я оказался в Калифорнии, где, безусловно, здорово, но я себя так и не смог почувствовать “дома”, поэтому где-то в марте я решил снова обратиться в Google сразу по истечении года с моей прошлой попытки (июнь). Я начал не торопясь читать Cracking the Coding Interview, наткнулся на https://www.interviewcake.com/ (мне очень понравился их сайт, но платить им я не стал, т.к. их платные подсказки мне не очень были нужны, это просто хорошая база задач потренироваться. Кажется, я справился со всеми без подсказок).
В этот момент (середина апреля) ко мне неожиданно постучался новый рекрутёр из Google, сказал, что прошлый раз я barely missed the bar, и предложил попробовать снова. Это было сильно раньше, чем я ожидал, но я решил возможность не упускать, и начал готовиться намного интенсивнее. Попросил его сделать интервал до телефонного интервью, после телефонного до он-сайт и т.п. по-дольше, чтобы больше времени оставалось на подготовку, и стал вместо того, чтобы “просто почитать” решать от порядка 5 новых задач каждый день включая выходные. На сайте выше задачи довольно быстро закончились, моей следующей находкой оказался https://github.com/mission-peace/interview – у чувака есть канал на ютюбе, где он довольно внятно рассказывает про динамическое программирование (с которым у меня были сложности), и вообще у него довольно обширный список задач с решениями. Задачи сформулированы очень поверхностно, но в решениях есть ссылки на источник задачи,и там уже всё довольно подробно. Динамическое программирование мне так и не пригодилось, но, в целом, послушать было интересно. Так же у него большинство задач оказались заметно сложнее тех, что я получал на интервью, но я всё равно считаю, что готовиться лучше на них, чтобы потом быстро справляться с относительно простыми задачами на интервью.
Последней на данный момент находкой для меня оказался сайт https://leetcode.com/ – огромный выбор задач, онлайн проверка правильности, с жёсткими временными рамками (то есть даже асимптотически оптимальное решение не всегда проходит, надо оптимизировать константу) – лучшее из того, что я видел. К моменту попадания на этот сайт я довёл количество ежедневных задач до 10-15, что, наверное, перебор. На данный момент у меня на этом сайте решено почти 200. Мой совет здесь – не смотреть решения задач, с которыми не получается справиться, а просто переходить к следующей. Он периодически будет подсовывать пропущенные задачи снова и снова до тех пор, пока они не будут решены, и такая штука очень хорошо показывает прогресс.
Да, рекрутниг за год стал ещё лучше, я супер-доволен коммуникацией, её даже можно назвать безупречной. Рекрутёр не раскрывает того, чего не должен раскрывать, но всё равно держит в курсе максимально оперативно, и даёт довольно объективное понимание шансов, процесса и стадии. То есть он мне в реальном времени сообщал, что, например, получил 3-й и 5 ожидаемых фибдеков, что он good или really entusiastic, после 4-го фидбека он сказал, что мой пакет точно попадает в HC, но ему всё равно надо дождаться последнего, держал в курсе на тему того, как он пинает интервьюера, который задерживал фидбек, и сокрушался на тему разницы во времени (тяжело пинать). В общем, в этот раз всё супер.