Наем инженера: 7 различных типов инженерных собеседований

Наем инженера: 7 различных типов инженерных собеседований

9 марта 2022 г.

Проведя сотни собеседований с кандидатами в инженеры от имени Stripe и LogicLoop, а также проведя собеседования в более чем 30 технологических компаниях, начиная от стартапов, в которых работает менее 10 человек, и заканчивая такими гигантами, как Facebook, Palantir и Google, -- по меньшей мере, я повидал весь спектр инженерных интервью. Если вы руководитель инженерного отдела, думающий о том, как разработать программу собеседования, или кандидат, интересующийся, какие типы собеседований существуют, давайте углубимся в наиболее распространенные типы вопросов, а также плюсы и минусы каждого из них.


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


1. Домашнее собеседование по программированию


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


Плюсы


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

  • Для более длительных домашних заданий некоторые компании даже компенсируют кандидатам потраченное время.

Минусы


  • Вы получаете меньше информации о мыслительном процессе кандидата и о том, как он взаимодействует с другими.

  • Легче обмануть или напрямую найти ответ в Интернете.

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

2. Интервью с алгоритмами


Собеседование по алгоритмам — самое классическое инженерное интервью, которое любят проводить такие компании, как Google, Facebook и Palantir. Обычно это включает в себя такие понятия, как динамическое программирование, рекурсия, сортировка, двоичные деревья и т. д. Кандидаты также должны быть знакомы с общими структурами данных, такими как массивы, словари, деревья и т. д.


Плюсы


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

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

Минусы


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

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

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


3. Раздавить жуков


Стремясь отразить более повседневную рабочую среду, некоторые компании ввели собеседование по подавлению ошибок. На этом собеседовании кандидату будет предоставлен доступ к некоторой уже существующей кодовой базе с ошибкой, и задача кандидата — найти и исправить ошибку.


Плюсы


  • Эти собеседования могут дать вам представление о том, как кандидат ориентируется в большой уже существующей кодовой базе, которую некоторые другие типы собеседований не проверяют, поскольку другие форматы собеседований обычно просят кандидата написать небольшую программу с нуля.

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

Минусы


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

  • Трудно понять большую кодовую базу за короткое время.

4. Дизайн систем


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


Плюсы


  • Интервью по системному дизайну — отличное собеседование без программирования, чтобы узнать, способен ли кандидат настроить систему и подумать о масштабируемости, надежности и работоспособности на уровне инфраструктуры.

  • Обычно это включает в себя много разговоров с интервьюером и задавание вопросов, чтобы вы поняли, как сотрудничать с кандидатом.

Минусы


  • Люди с большим опытом работы с инфраструктурой, как правило, хорошо справляются с этими собеседованиями, в то время как у новых выпускников и более молодых кандидатов может просто не быть опыта, чтобы хорошо ответить на этот вопрос.

5. Обзор кода


Хотя этот формат интервью является необычным, некоторые компании начали использовать собеседование по обзору кода, когда интервьюер либо просит кандидата просмотреть фрагмент кода, либо кандидат отправляет фрагмент кода на проверку интервьюеру и включает дана обратная связь.


Плюсы


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

  • В этом упражнении можно также проверить мягкие навыки. Восприняли ли они обратную связь с изяществом и исправили ли свои ошибки? Способны ли они конструктивно давать обратную связь?

Минусы


  • Может быть сложно просмотреть фрагмент кода изолированно без дополнительного контекста в более широкой кодовой базе.

6. Интервью по интеграции


Еще один «практический» кодовый вопрос, ставший популярным с годами, — это интеграционное собеседование. Нельзя отрицать, что в эпоху API-интерфейсов многим инженерам-программистам приходилось интегрировать некоторые внешние системы в рамках своей работы. Собеседование по интеграции просто просит кандидата продемонстрировать, что он может написать программу, которая интегрируется с некоторыми сторонними API, такими как Stripe или Twilio.


Плюсы


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

Минусы


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

7. Социальные навыки/соответствие культуре/собеседование с менеджером


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


Плюсы


  • Мягкие навыки — важная часть работы инженера, и менеджеру по найму важно встретиться с кандидатом, чтобы понять, будут ли они хорошо работать вместе.

Минусы


  • Насколько хорошо кандидат прошел это собеседование, может быть очень субъективным.

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



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE