Техническое собеседование в Google на Software Engineer — мой опыт

в 19:08, , рубрики: Google, интервью с разработчиком, Карьера в IT-индустрии, собеседование

Всем привет!
На этой неделе я проходила техническое собеседование в Google и хочу поделиться опытом в этой статье.

HR из Google вышла на меня сама. Мне 25 лет, Junior Android developer, у меня есть свой простой сайт-визитка, 3 опубликованных довольно примитивных приложения в маркете, живой гитхаб профиль и 2к репутации на StackOverflow. Как именно меня нашли я не знаю. 1 раз я сама подавалась на вакансию к ним, давно — может это повлияло. Кроме этого я часто программирую для удовольствия — я гуглю очень много по теме и возможно мои поисковые запросы складывают обо мне хорошее впечатление. Остается только догадываться.

Первое собеседование с HR было очень легко пройти. Мы прошлись по моему резюме, она указывала на мои сильные стороны, а мне нужно было просто поддакивать. Ей понравилась что я люблю open-source разработку, Android и что у меня математическое мышление. Она так же задала мне пару простых вопросов на алгоритмы сортировки и их big-O, попросила явно указать линк на мой GitHub в CV.
Она рассказала про процес отбора.

Следующий этап это Phone-screen интервью. Оно может проходить через телефонный звонок+экран монитора или через Hangouts+экран монитора.
Мне сообщили, что в случае успеха я смогу выбрать страну (только EMEA) и город, где смогу работать, а следовательно и проект. Google вначале набирает сотрудников, а потом распределяет.
Так же сказали, что я сколько угодно долго могу готовиться к техническому интервью, но рекомендуют 2 недели. Я попросила 6 недель. Дату и время испытуемый выбирает сам. В Google готовы подстраиваться под Вас.

Для подготовки HR посоветовала прочесть книгу Cracking the Coding Interview Steve Yegge's Blogspot

Кроме этого меня попросили записаться на 1 часовой online тренинг для кандидатов — как правильно отвечать на вопросы тех интервью. Этот тренинг называется Coaching session. Он проходит 1 раз в 7 дней, кажется, и на нем присутствует тренер инженер Google и около 7 кандидатов. Опять через Hangouts. На этом тренинге рассматривается одна задача, все думают вслух, потом тренер предлагает шаблон как отвечать по задаче. У нас была задача по графам.
Тренинг действительно полезная штука.
Нормально и даже хорошо, если вы вначале предлагаете наивное (не эфективное) решение задачи. Вы сообщаете о проблемах вашего решения, назваете Run-time (Big-O) алгоритма и предлагаете улучшения.
Важно сразу писать код (в Google doc). Несколько раз было сказано, что код должен быть компилируемым. Псевдокод не подойдет.

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

На техническом интервью было 2 вопроса. Один совсем простой про работу со String. По сложности — 1 курс универа. Второй вопрос сложнее (я предлагала Бинарный поиск и прочее) — субъективно 3 курс универа. Вопросы на сообразительность, но в целом довольно простые, что меня удивило.
Мне показалось, что я отвечала хорошо, хотя собеседование я не прошла. Сказали, что не хватает знаний в алгоритмах.

Вот выводы, которые я сделала:
Хорошо перед собеседованием прочесть книгу, что советует HR (я читала лишь первые 20 страниц).
Хорошо пройти пару курсов на Coursera по «Алгоритмам и структурам данных» — это дает ещё и технический английский.
На тренинг нужно записаться как можно раньше, Ваши знания на нем, наверное, не оценивают, зато Вы получите больше времени для правильной подготовки.
Самые важные темы — Big-O notation, алгоритмы, графы, большие данные. Это не полный список.

Если Вы проходите phone-screen интервью, следующий этап — 5 интервью в офисе Google в 1 день с перерывом на обед.

Отбор очень жесткий. Давайте посчитаем. Если вы хорошо готовились к каждому интервью и имеете шансы на каждом собеседовании 80% из 100, что очень круто, то по теории вероятности после 6 технических интервью Ваши шансы равны 0.8^6 = 0.26. Короче Вас скорее не возьмут, чем возьмут. Но все равно пробовать стоит.
Следующая попытка собеседоваться может быть только через 1 год. Вот такие ограничения.

Автор: ashomokdev

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js