После прихода в Google в 2022 году меня обучили проводить собеседования с кандидатами. Мне представился шанс встретиться с кандидатами, и я видел, с какими трудностями они сталкивались. Сейчас я готов рассказать о некоторых наиболее частых ошибках (которые я имею законное право разглашать).
Вопреки стереотипу, незнание алгоритмов и структур данных — это НЕ главная причина, по которой в Google отказывают кандидатам.
Но прежде чем мы начнем, рассмотрим, как выглядит процесс собеседования в Google.
Предварительный онлайн-отбор
Если вы только что окончили университет, то вам, скорее всего, предложат пройти онлайн-отбор и решить задачу по кодированию на любом языке. То, насколько хорошо вы пройдете этот тест, не влияет на ваши шансы получить оффер на последующих этапах.
Этот тест проверяет только одно: умеет ли кандидат кодить.
Если кандидат не может решить эту задачу, значит, он не справится с заданием на созвоне или в кампусе. Если он успешно решил задачу, его можно поздравить с переходом на следующий этап — созвон.
Созвон
Интервью-созвон в Google представляет собой уже более-менее очное собеседование. Кандидат подключается к голосовому чату и под наблюдением сотрудника Google пытается решить задачу по кодированию в Google IDE:
К кандидату предъявляются те же требования, что и на очном собеседовании. Это делается для того, чтобы оценить, действительно ли кандидат может пройти несколько собеседований подряд.
Некоторым это удается, большинству — нет.
Тем, кто не справился с заданием на созвоне:
- Могут дать второй шанс, если попросить об этом рекрутера и объяснить, почему кандидат не смог продемонстрировать все свои скиллы кодирования.
- Но чтобы подать повторное заявление, придется ждать не менее года.
Если кандидат прошел этот этап, далее его ждет по настоящему серьезное собеседование.
Собеседование в кампусе Google
Попасть на очное собеседование в Google — само по себе редкое достижение. Что касается тех немногих кандидатов, которым удалось:
- Доподлинно известно, что этот кандидат умеет кодить практически идеально
- На собеседовании могут предложить самые разные сценарии и ситуации.
- Очных собеседований в кампусе может быть до 4-5.
Да, кандидату предстоит пройти 4-5 собеседований в Гуглплексе или в другом кампусе. Большинство из этих собеседований состоят из задач по кодингу, а также проверок на совместимость с корпоративной культурой Google (так называемая Googliness), а также собеседования по дизайну систем (для сеньоров). «Гугловость» имеет большое значение, если кандидат претендует на место в воркспейсе.
Но из тех немногих кандидатов, которым удается пройти этот путь, еще меньше получают оффер. Тем же, кто его не получает, Google по закону имеет право не давать обратной связи.
Если дело не в «гугловости», значит, что-то пошло не так на собеседовании по кодингу.
И сейчас я наконец расскажу, что часто идет не так на собеседованиях по кодингу.
Ошибки на собеседовании по кодингу
Неумение уточнить задачу
Кандидаты сразу же переходят к решению задачи, не задавая дополнительных вопросов, как только получает задачу. Интервьюер может (но не обязан) давать подсказки. Если он этого не сделает, и кандидат не способен вникать в задачу и уточнять, то разумеется задачу не не решит.
Фокус на неважном
Если задача заключается, например, в использовании бинарного поиска, то частая ошибка состоит в переходе к деталям решения. Некоторые вообще проводят половину собеседования, размышляя о null-исключениях или неправильных вводах, так и не приступив к решению главной задачи.
Упорное молчание
Кандидаты могут зависнуть, и интервьюеры это знают. Чтобы не зависать, нужно знать, какие вопросы задавать, размышлять вслух, делиться своими мыслями и принимать помощь интервьюера. Большинство кандидатов молчат, обычно потому, что никто не учил их общаться во время собеседования по кодингу.
Уверены, что их код работает
Когда код написан, все хотят зафиксировать это и закончить интервью. Но в коде скорее всего есть ошибки. Совершенно нормально, если кандидат пропустит свой код через тест-кейсы. Пропускать этот этап — непрофессионально.
Неправильный расчет времени выполнения кода
Кандидата обязательно спросят о длительности выполнения его алгоритма. Большинство просто скажет, что это O(n) или O(nlogn), без каких-либо объяснений. Те, кто всегда всё объясняет, нравятся рекрутерам. Лучшими считаются кандидаты, которые объясняют время работы различных частей своего кода, а затем объясняют, где может быть узкое место.
Заключение
Большинство кандидатов, проходящих собеседование в Google, реально умеют кодить и как правило активно практикуют эти ваши структуры данных и алгоритмы. Разница между теми, кто получает оффер в Google, и теми, кто не получает, заключается в том, насколько хорошо кандидат умеет объяснять свой код.
Alexander Nguyen, экс-гуглер