Собеседование — это ключевой этап, определяющий, насколько кандидат подходит компании. Важно создать процесс, который не только выявит технические знания, но и покажет, насколько человек соответствует корпоративной культуре, стрессоустойчив ли он и способен ли работать в условиях реальной нагрузки.
Тестовое задание
Перед собеседованием можно добавить этап выполнения тестового задания. Хорошее тестовое задание должно быть максимально приближено к реальным задачам. Чтобы оценить навыки, можно предложить что-то объёмное, например, разработку небольшого, но полнофункционального сервиса. Важно, чтобы кандидат сделал всё самостоятельно и в кратчайшие сроки — это покажет, насколько он заинтересован в позиции. Если человек отказывается от тестового задания, это говорит о недостаточной вовлечённости.
Собеседование
Сколько человек должно проводить собеседование? Оптимально 3-5. Один интервьюер может что-то упустить, а вот группа сможет задать вопросы с разных точек зрения. Например:
Разработчики проверят технические навыки.
Тимлид оценит, впишется ли кандидат в команду.
HR посмотрит на его софт-скиллы.
Проектный менеджер уточнит, насколько кандидат готов к дедлайнам и изменяющимся требованиям.
Наличие большого количества интервьюеров — это не только объективность, но и возможность увидеть, как кандидат реагирует на вопросы с разных сторон. Если человек путается, теряется или испытывает дискомфорт, это может быть сигналом, что он не справится с командной работой под давлением.
Разогрев
Первое, с чего стоит начать собеседование, — проверить способность кандидата к адаптации. Для этого лучше организовать небольшую задержку перед началом интервью. Дайте ему посидеть в зуме или в офисе минут 10–15, чтобы он смог привыкнуть к обстановке, успокоиться и морально подготовиться. В реальной работе нередко приходится ждать ответа коллег или заказчиков, и умение сохранять самообладание в таких ситуациях — важное качество.
Один из самых показательных вопросов на собеседовании — «Почему вы хотите работать именно у нас?». Задайте его первым. Он позволяет сразу определить, насколько кандидат заинтересован в компании, изучил ли он её заранее и готов ли искренне обосновать свой выбор. Если кандидату важны только деньги, то вы быстро сможете это определить и закончить разговор не потратив впустую час‑два времени.
Затем переходите к вопросам, о самом человеке. Наличие детей, семейное положение, планы на ближайшие годы — всё это влияет на мотивацию сотрудника и его стабильность в компании. Например, молодой человек без семьи может быть более гибким и готовым к переработкам, тогда как кандидат с детьми, напротив, будет ответственнее относиться к графику работы. Конечно, задавать такие вопросы в лоб не стоит, но можно поинтересоваться увлечениями и досугом — это поможет сделать выводы о том, насколько кандидат сможет гармонично встроиться в команду.
Обязательно уточните наличие диплома. Хотя сейчас многие учатся самостоятельно, профильное образование остаётся важным маркером серьёзного отношения к профессии. Диплом хорошего университета свидетельствует не только о наличии знаний, но и о дисциплине, умении системно мыслить и выполнять сложные задачи в срок. Конечно, самоучки могут быть не менее талантливыми, но зачем рисковать, если есть кандидат с классическим образованием?
Основная часть
Существует две стратегии задавания технических вопросов. Первая это задать небольшое количество вопросов и копать в глубину, уточняя все детали у кандидата. Вторая это после первого вопроса, сразу переходить к заготовленному следующему вопросу. Вторая стратегия на практике показывает себя лучше, так как за небольшое время мы имеем возможность проверить гораздо больше разных навыков. К тому же не придется каждое собеседование строить по новой схеме, однообразные собеседования гораздо проще сравнивать между собой выбирая более подходящего кандидата.
В некоторых случаях можно сразу распечатать этот список вопросов и дать кандидату время на решение. В это время вы можете выйти из помещения, где он сидит, чтобы его не смущать. Когда подойдет время, заберите у него листок с ответами и посчитайте количество правильных ответов. Если их больше 80%, то кандидат, скорее всего, вам подходит. Если этот вариант не подходит, то можно идти следующим путем.
Начните проверку технических навыков с базы. Хороший разработчик отличается от посредственного не умением пользоваться инструментами, а глубоким пониманием основ. Именно поэтому на собеседовании важно проверять знание фундаментальных принципов, которые не меняются. Лучшие вопросы для проверки настоящего уровня:
Опишите модель OSI
Объясните, как работает распределённая согласованность в CAP-теореме.
Как реализовать собственный garbage collector?
Расскажите почему структурная типизация более гибкая чем номинальная?
Расскажите что означает буква L в SOLID?
Сюда же относятся алгоритмы и структуры данных. Вот хорошие вопросы, которые имеет смысл задать, особенно фронтенд-разработчикам:
Реализуйте двусвязный список без использования встроенных структур данных.
Как работает хеш-таблица и что делать при коллизиях?
Объясните разницу между глубиной рекурсии и стековой памятью.
Затем переходите к языку. Убедитесь в том, что человек действительно знает тот язык, на котором он разрабатывает. Задайте ему вопросы по спецификации языка. Уточните про различие между версиями и спросите о том, в какой версии появилась та или иная фича. Хорошие вопросы на этом этапе:
C какими кавычками код работает быстрее с двойными или одинарными?
Что быстрее: интерполяция или конкатенация?
Как называется функция, которая делает первую букву заглавной?
Теперь можно проверить, что кандидат умеет читать и анализировать код. Подготовьте заранее и покажите ему во время собеседования куски кода, по которым он должен сказать, что произойдет если их запустить на выполнение. Варианты примеров должны в себя включать: неожиданный вывод, неправильную работу, ошибки синтаксиса и компиляции.
Не забудьте, что хороший программист должен уметь решать задачи без посторонней помощи, поэтому на собеседовании важно не давать никаких подсказок. Если кандидат действительно обладает глубокими знаниями, о�� сам найдёт верное решение, даже если вопрос сложный, а формулировка не совсем ясна. Особенно полезно оставить небольшую паузу после его ответа. Если кандидат начинает нервничать и переспрашивать «Я правильно понял вопрос?» или «Можете уточнить, что вы имеете в виду?», это может говорить о недостаточной уверенности.
Если он справился со всеми вопросами, то начинаем закругляться и переходим к финальной части.
Заключение
В конце интервью, стоит уделить внимание вопросам кандидата. Правильный специалист должен быть заинтересован не только в технических деталях, но и в культуре компании. Если он не спрашивает о переработках, о размере команды или перспективах роста — значит, он по-настоящему предан делу и готов работать на результат, а не просто искать комфортные условия.
Как правильно обсуждать зарплату? Используем стратегию «нижнего диапазона». Если кандидат озвучил вилку зарплаты, разумно предложить нижнюю границу или даже немного ниже. Например: «Вы сказали, что рассчитываете на 250 000 ₽, но на этой позиции обычно стартуют с 180 000 ₽, пока человек не вольётся в процессы». Если кандидат настаивает на повышении суммы, можно слегка удивиться и мягко намекнуть, что люди с таким подходом у нас не задерживаются.
После интервью
После прохождения всех этапов важно не торопиться с ответом. Подождите неделю, две, а лучше три, чтобы кандидат прочувствовал всю значимость решения. Заодно это позволит проверить, насколько он заинтересован: если начнёт писать и спрашивать, значит, действительно хочет работать в вашей компании. Важно создать ощущение, что кандидат должен доказать свою ценность, а не наоборот.
Меня зовут Кирилл Мокевнин и я сооснователь школы программирования Хекслет. Больше про разработку, профессиональный рост и бизнесовую часть процесса я пишу в своем телеграм-канале Организованное Программирование.
