«Почему я заваливаю кандидатов на собеседованиях в Google»
Они не дотягивают до нужной планки.
»75% не могут развернуть связанный список»
После прихода в Google в 2022 году меня обучили проводить собеседования с кандидатами. Мне представилась возможность встречаться с кандидатами и наблюдать, с какими трудностями они сталкиваются. И я готов поделиться наиболее частыми их ошибками (из тех, которые я могу разглашать по закону).
Незнание структур данных — это НЕ самая важная причина отсева кандидатов.
Но прежде чем приступить, давайте разберёмся, как же выглядит современный процесс собеседования.
Онлайн-проверка
Если вы выпускник вуза, то вам, скорее всего, проведут онлайн-проверку, где нужно будет решить задачу на любом подходящем вам языке. То, насколько хорошо вы справитесь с этим скриннингом, не влияет на шансы получения оффера на последующих этапах собеседования.
При этом скриннинге проверяется только одно:
Знает ли кандидат, как писать код?
Если кандидат не может решить задачу, то он плохо проявит себя при телефонном скриннинге и на собеседовании в офисе. Если он проходит этот этап, то поздравляю! Дальше будет личное собеседование.
Телефонный скриннинг
Телефонный скриннинг в Google имитирует собеседование в офисе. Кандидат присоединяется к голосовому чату Google и вместе с сотрудником Google решает задачу по кодингу в Google IDE.
Кандидат должен отвечать тем же стандартам, что и при собеседовании в офисе. Это необходимо, чтобы оценить, сможет ли он пройти реальные офисные интервью. Некоторым это удаётся, другим нет.
Тем, кто плохо проявил себя при телефонном скриннинге, нужно знать следующее:
- Им могут дать второй шанс. Попросите об этом рекрутёра и объясните, почему вы заслуживаете ещё одной попытки или почему не показали всех своих навыков кодинга.
- Для повторной подачи заявки им потребуется ждать не менее 12 месяцев.
Если они добираются до испытания в офисе, это значит, что кандидат готов к серьёзным собеседованиям.
Собеседования в офисе
Если вы добрались до собеседования в офисе Google, то это само по себе становится выдающимся достижением. Те немногие, кто дошёл досюда, должны знать следующее:
- Теперь уже совершенно ясно, что кандидат умеет писать код
- В каждом собеседовании они могут оцениваться по разному сценарию и в разных ситуациях
В офисе кандидаты проходят 4–5 собеседований подряд. Большинство из них состоит из собеседований по кодингу и соответствию кодексу поведения Google (Googliness), а для сениор-разработчиков — ещё и из собеседований по проектированию систем. Если кандидат сможет приносить пользу на своём рабочем месте, то Googliness редко становится проблемой.
Из горстки добравшихся досюда кандидатов ещё меньшее количество получает оффер. Тем, кто не получил его, Google не предоставляет никаких отзывов. Если проблема заключалась не в Googliness, значит, что-то пошло не так на собеседовании по кодингу.
Вот какие ошибки часто совершают на собеседованиях по кодингу:
Ошибки на собеседованиях по кодингу
▍ Кандидат не уточняет задачу
Кандидаты сразу берутся за задачу, как только им выдают его текст, не задавая дополнительных вопросов. Собеседующий может их поправить. Но если он этого не сделает, то кандидат не поймёт, что решает не ту задачу.
▍ Сосредоточенность на второстепенных подробностях
Если задача связана с двоичным поиском, то сначала сосредоточьтесь на крупных частях, а потом возвращайтесь к мелочам. Некоторые кандидаты тратят половину времени собеседования, размышляя о null exception или неправильных входных данных, так и не добравшись до решения самого вопроса.
▍ Молчаливость
Кандидаты зайдут в тупик, и собеседующие знают это. Кандидату нужно знать, какие вопросы задавать, рассуждать вслух, делиться своими мыслями и получать информацию от собеседующих. Большинство кандидатов хранит молчание и обычно это вызвано тем, что никто не учил их, как общаться на собеседованиях по кодингу.
▍ Кандидаты предполагают, что их код работает
Когда код написан, все хотят праздновать и закончить собеседование. Но в коде, скорее всего, есть баги. Это вполне приемлемо, если при этом кандидат изучает примеры тестовых случаев и прогоняет через них код. Пропускать этот этап непрофессионально.
▍ Кандидат не объясняет время исполнения
Кандидата абсолютно точно спросят о времени исполнения его алгоритма. Большинство людей просто говорит, что оно составляет O (n) или O (nlogn), не вдаваясь в объяснения. Более опытные объясняют, почему это так. А самые лучшие кандидаты объясняют время исполнения разных частей кода и рассуждают о том, где в нём есть узкие места.
В заключение
Большинство кандидатов, проходящих собеседование в Google, знает, как писать код, и, скорее всего, практикуется в структурах данных и алгоритмов. Самая важная разница между теми, кто получает и не получает оффер, заключается в том, насколько хорошо они объясняют свой процесс кодинга.
Пол-лимона подарков от RUVDS. Отвечай на вопросы и получай призы