Провести техническое интервью — задача сама по себе непростая. А если вам нужно сделать это впервые, она усложняется вдвойне. Как готовиться к собеседованию? Какие вопросы задавать кандидату во время интервью? Как вести себя в нестандартных ситуациях? Как оценивать уровень соискателей и принимать решение?
Все эти вопросы мы задали техническому интервьюеру из EPAM Ахрору Рустамову. Он собеседует JavaScript-разработчиков в компанию. Несмотря на то, что за спиной Ахрора больше сотни интервью, он до сих пор очень тщательно готовится к каждому собеседованию.
![](https://habrastorage.org/r/w1560/webt/zf/qy/eh/zfqyeh2k_d7swdk95yk1adsx-l0.png)
За несколько дней до интервью стоит внимательно изучить резюме соискателя, составить примерный список вопросов и освежить собственные знания.
Я всегда читаю анкету кандидата с карандашом: отмечаю, сколько лет он занимается разработкой, на каких проектах работал, какие технологии использовал и в какой области считает себя экспертом.
Затем, после общего исследования резюме, я фокусируюсь на деталях и начинаю делать заметки в блокноте. Например, если человеку 30-35 лет и он всё время писал только на jQuery, фиксирую этот момент. Если вижу, что синьор-разработчик не работал два года по специальности, отмечаю и это.
Опросник для кандидата на должность JS-разработчика я обычно делю на четыре части: вопросы о карьере, технические вопросы, вопросы на проверку уровня soft skills и практические задания.
Это вопросы из серии «расскажите о себе»: где учились, кем работали. Сюда же включаю вопросы, связанные с моментами, которые я выписал во время анализа резюме. Например, если человек раз в полгода менял работу, я обязательно спрошу, почему приходилось так часто искать новое место.
В первую очередь мне нужно понять, насколько хорошо кандидат знает базовые вещи: основы JavaScript, HTML/CSS, React/Redux и основные фреймворки.
Формулировка вопроса тоже играет большую роль. Если задавать общие вопросы, можно долго проговорить с кандидатом и при этом не сдвинуться с места. Я обычно спрашиваю конкретные вещи – так легче оценить уровень знаний человека.
![](https://habrastorage.org/r/w1560/webt/kx/q9/bw/kxq9bwdn-yoj2spzccrzshoa7fu.png)
От базовых вопросов по JS я перехожу к более специализированным. И вновь обращаюсь к своим записям и заметкам. Вижу, например, что в резюме человек указал, что изучал Webpack. Значит обязательно спрошу, чем Webpack 3 отличается от Webpack 4.
Я могу пропустить блок базовых вопросов, если соискатель претендует на позицию senior-разработчика и выше.
Если кандидат отметил, что хорошо разбирается в какой-то одной технологии, я все равно задам вопросы про смежные технологии и языки программирования. Так я проверяю, насколько у человека широкий кругозор, нравится ли ему учиться новому.
Несмотря на то что моя главная задача – оценить технические знания кандидата, я обязательно задаю вопросы, связанные с soft skills. На наших проектах мы работаем в командах, а быть командным игроком без навыков межличностного общения (умения задавать вопросы, слушать и слышать другого, аргументированно высказывать своё мнение) очень сложно.
Вот что я обычно спрашиваю:
Я никогда не даю кандидатам задач на сообразительность, хотя знаю, что в некоторых компаниях до сих пор от этого не отказались. Все эти загадки типа «почему крышки канализационных люков круглые?» никак не относятся к самому кандидату и не помогают узнать о человеке то, что мне нужно. Считаю такие вопросы пустой тратой времени.
Я всегда готовлю для кандидата несколько задач, которые можно решить за 10-15 минут. Если собеседую junior-разработчика, могу дать ему несколько подсказок. Инженерам уровня middle и выше обычно не подсказываю.
Обычно я делаю скидку на волнение – меня не сильно смутит, если кандидат решит задачу неверно. Мне важнее увидеть, как человек мыслит, и примерно оценить качество его кода.
Если в резюме кандидат отметил отличные знания в области, в которой лично я ориентируюсь плохо, стараюсь подтянуть эту тему – перед интервью читаю статьи, смотрю ролики.
Помню, на подготовку к своему первому собеседованию в качестве интервьюера я потратил целый день. Несколько часов провел на learn.javascript.ru, просмотрел серию книг «You don’t know JS» и освежил знания HTML и CSS.
Собеседование — дело волнительное, особенно для кандидата. Поэтому интервьюеру с самых первых секунд нужно создать атмосферу, в которой человеку станет комфортно. Будьте дружелюбными и приветливыми, задайте пару общих вопросов, чтобы разрядить обстановку. Если планируете записывать разговор, обязательно спросите разрешения.
Обычно я всегда озвучиваю кандидату наш план действий. Я делю собеседование на три этапа:
Это возможность кандидата презентовать себя. В этой части интервью инициатива полностью на стороне соискателя. Я очень внимательно слушаю его рассказ и отмечаю какие-то вещи, которые человек не указал в резюме: потом обязательно спрошу о них.
Это самая обширная часть интервью. Тут я задаю все вопросы, которые подготовил, а также те, которые возникают у меня по ходу разговора.
Бывает, человек начинают отвечать не на тот вопрос. Я задаю ему теоретический вопрос на знание технологии, а он переключается на свой опыт работы с ней. В таких ситуациях я прошу вернуться к вопросу и предлагаю обсудить его опыт в конце встречи.
Интересно наблюдать, как кандидат реагирует на вопросы, в которых плохо владеет материалом. По поведению можно понять, как он будет действовать в схожей ситуации на проекте.
Иногда кандидат ведет себя очень скованно и боится ошибиться. Тогда я стараюсь успокоить его, поддерживаю и говорю, что я такой же разработчик, что он не на экзамене. Я прекрасно понимаю, что никто не сможет ответить на все вопросы идеально. Моя задача не «утопить» человека, а оценить его как специалиста и понять, в какой точке он находится сегодня.
Теперь очередь соискателя задавать вам вопросы. Обычно люди спрашивают о будущих задачах, возможностях роста и развития, а также о бенефитах, которые предоставляет компания.
На все вопросы я советую отвечать максимально честно. Не давайте кандидату несбыточных обещаний: любой обман раскроется очень быстро, и со временм человек разочаруется в вашей компании, напишет плохой отзыв и больше никогда не придет к вам на собеседование.
Вот мой личный список того, чего ещё нельзя делать на собеседовании:
Интервьюеру нужно быть готовым к тому, что кандидат может повести себя на собеседовании совершенно неординарно. Если соискатель может позволить себе странное поведение, то интервьюер — нет.
Рассказываю, что делать в нестандартных ситуациях.
Начните заходить со стороны и задавать дополнительные, уточняющие вопросы. Похвалите человека, если он смог сказать что-то по теме. Похвала поможет кандидату почувствовать себя более уверенно. У меня был случай, когда соискатель думал, что не знает ответ на вопрос. Я успокоил его, подбодрил. После этого он расслабился и стал спокойно отвечать. Многие хорошие специалисты довольно самокритичны — думают, что недостаточно хорошо знают тему. В большинстве случаев это не так.
Если все шло гладко, а потом человек резко поменял свое поведение, попытайтесь аккуратно выяснить, в чем дело. Возможно, после вашего вопроса он вспомнил какой-то свой негативный опыт или его элементарно начал раздражать шумящий в переговорке кондиционер.
Были у меня и такие соискатели, которые с самого начала казались мне резковатыми или немного странными. Конечно, я никак не показывал этого своим видом, и вел интервью в своей обычной манере. Я всегда держу в голове, что оцениваю человека как специалиста, и никогда не перехожу на личностные оценки.
После собеседования я советую заполнить небольшую анкету, выписать рекомендации для кандидата и прийти к выводу — подходит специалист вашей компании или нет. Сделать все это желательно в течение нескольких дней — пока в вашей памяти не стерлись впечатления об интервью.
У меня есть небольшая заготовка анкеты, которую я использую прямо во время интервью. Она представляет собой список тем, напротив которых я ставлю «+» или «–» в зависимости от того, верно или неверно человек ответил на вопрос по этой теме. Я также вписываю туда свои наблюдения прямо во время разговора. Мне остается только все проанализировать и сделать вывод. Обычно на это уходит не больше 15 минут.
![](https://habrastorage.org/r/w1560/webt/qh/79/ak/qh79akdb_c7jnlsuzn6zrzlsrc0.png)
У нас в компании после собеседования принято давать кандидату обратную связь. Каждый специалист получает от меня довольно подробный фидбек – что было хорошо, а что стоит подтянуть. Я также делюсь с человеком списком полезных материалов.
Обычно мы берем людей на определенные проекты, поэтому я представляю, какими навыками и знаниями должен обладать кандидат. Я просто сопоставляю все данные из анкеты с нашими требованиями и понимаю, подходит человек или нет.
Анкеты всех кандидатов, которым мы отказали, хранятся в базе. Уже через три месяца человек вновь может прийти на собеседование. На этом интервью я не буду задавать тех вопросов, по которым специалист получил хорошую оценку. Начну сразу с тех, на которых он провалился: так я смогу оценить, улучшил ли он свои знания.
Перед тем как проводить своё первое собеседование, сначала посетите несколько интервью в качестве слушателя. Ещё можно порепетировать и разыграть интервью вместе с коллегой. Если у вас есть возможность взять опытного коллегу на первое интервью, воспользуйтесь такой возможностью.
Технические ресурсы
Фото: unsplash.com, firestock.ru.
Все эти вопросы мы задали техническому интервьюеру из EPAM Ахрору Рустамову. Он собеседует JavaScript-разработчиков в компанию. Несмотря на то, что за спиной Ахрора больше сотни интервью, он до сих пор очень тщательно готовится к каждому собеседованию.
![](https://habrastorage.org/webt/zf/qy/eh/zfqyeh2k_d7swdk95yk1adsx-l0.png)
Что делать перед собеседованием
За несколько дней до интервью стоит внимательно изучить резюме соискателя, составить примерный список вопросов и освежить собственные знания.
Изучите резюме кандидата
Я всегда читаю анкету кандидата с карандашом: отмечаю, сколько лет он занимается разработкой, на каких проектах работал, какие технологии использовал и в какой области считает себя экспертом.
Затем, после общего исследования резюме, я фокусируюсь на деталях и начинаю делать заметки в блокноте. Например, если человеку 30-35 лет и он всё время писал только на jQuery, фиксирую этот момент. Если вижу, что синьор-разработчик не работал два года по специальности, отмечаю и это.
Подготовьте список вопросов
Опросник для кандидата на должность JS-разработчика я обычно делю на четыре части: вопросы о карьере, технические вопросы, вопросы на проверку уровня soft skills и практические задания.
— Вопросы о карьере
Это вопросы из серии «расскажите о себе»: где учились, кем работали. Сюда же включаю вопросы, связанные с моментами, которые я выписал во время анализа резюме. Например, если человек раз в полгода менял работу, я обязательно спрошу, почему приходилось так часто искать новое место.
— Вопросы на проверку уровня технических знаний
В первую очередь мне нужно понять, насколько хорошо кандидат знает базовые вещи: основы JavaScript, HTML/CSS, React/Redux и основные фреймворки.
Формулировка вопроса тоже играет большую роль. Если задавать общие вопросы, можно долго проговорить с кандидатом и при этом не сдвинуться с места. Я обычно спрашиваю конкретные вещи – так легче оценить уровень знаний человека.
![](https://habrastorage.org/webt/kx/q9/bw/kxq9bwdn-yoj2spzccrzshoa7fu.png)
От базовых вопросов по JS я перехожу к более специализированным. И вновь обращаюсь к своим записям и заметкам. Вижу, например, что в резюме человек указал, что изучал Webpack. Значит обязательно спрошу, чем Webpack 3 отличается от Webpack 4.
Я могу пропустить блок базовых вопросов, если соискатель претендует на позицию senior-разработчика и выше.
Если кандидат отметил, что хорошо разбирается в какой-то одной технологии, я все равно задам вопросы про смежные технологии и языки программирования. Так я проверяю, насколько у человека широкий кругозор, нравится ли ему учиться новому.
— Вопросы на проверку уровня soft skills
Несмотря на то что моя главная задача – оценить технические знания кандидата, я обязательно задаю вопросы, связанные с soft skills. На наших проектах мы работаем в командах, а быть командным игроком без навыков межличностного общения (умения задавать вопросы, слушать и слышать другого, аргументированно высказывать своё мнение) очень сложно.
Вот что я обычно спрашиваю:
- Работал(a) ли по Agile, Scrum?
- Был ли опыт управления, менторинга, интересно ли это?
- Как расставить приоритеты в работе, если у вас есть несколько надвигающихся дедлайнов?
- Вы считаете, что ваш коллега или менеджер в чем-то не прав. Что вы сделаете?
Я никогда не даю кандидатам задач на сообразительность, хотя знаю, что в некоторых компаниях до сих пор от этого не отказались. Все эти загадки типа «почему крышки канализационных люков круглые?» никак не относятся к самому кандидату и не помогают узнать о человеке то, что мне нужно. Считаю такие вопросы пустой тратой времени.
— Практическое задание
Я всегда готовлю для кандидата несколько задач, которые можно решить за 10-15 минут. Если собеседую junior-разработчика, могу дать ему несколько подсказок. Инженерам уровня middle и выше обычно не подсказываю.
Обычно я делаю скидку на волнение – меня не сильно смутит, если кандидат решит задачу неверно. Мне важнее увидеть, как человек мыслит, и примерно оценить качество его кода.
Освежите собственные знания
Если в резюме кандидат отметил отличные знания в области, в которой лично я ориентируюсь плохо, стараюсь подтянуть эту тему – перед интервью читаю статьи, смотрю ролики.
Помню, на подготовку к своему первому собеседованию в качестве интервьюера я потратил целый день. Несколько часов провел на learn.javascript.ru, просмотрел серию книг «You don’t know JS» и освежил знания HTML и CSS.
Что делать во время интервью
Собеседование — дело волнительное, особенно для кандидата. Поэтому интервьюеру с самых первых секунд нужно создать атмосферу, в которой человеку станет комфортно. Будьте дружелюбными и приветливыми, задайте пару общих вопросов, чтобы разрядить обстановку. Если планируете записывать разговор, обязательно спросите разрешения.
Обычно я всегда озвучиваю кандидату наш план действий. Я делю собеседование на три этапа:
- короткий рассказ кандидата о себе;
- мои вопросы: о карьере, технический блок, вопросы про soft skills и практические задачи;
- вопросы от кандидата.
Этап первый: послушать рассказ кандидата о себе
Это возможность кандидата презентовать себя. В этой части интервью инициатива полностью на стороне соискателя. Я очень внимательно слушаю его рассказ и отмечаю какие-то вещи, которые человек не указал в резюме: потом обязательно спрошу о них.
Этап второй: задать свои вопросы
Это самая обширная часть интервью. Тут я задаю все вопросы, которые подготовил, а также те, которые возникают у меня по ходу разговора.
Бывает, человек начинают отвечать не на тот вопрос. Я задаю ему теоретический вопрос на знание технологии, а он переключается на свой опыт работы с ней. В таких ситуациях я прошу вернуться к вопросу и предлагаю обсудить его опыт в конце встречи.
Интересно наблюдать, как кандидат реагирует на вопросы, в которых плохо владеет материалом. По поведению можно понять, как он будет действовать в схожей ситуации на проекте.
Иногда кандидат ведет себя очень скованно и боится ошибиться. Тогда я стараюсь успокоить его, поддерживаю и говорю, что я такой же разработчик, что он не на экзамене. Я прекрасно понимаю, что никто не сможет ответить на все вопросы идеально. Моя задача не «утопить» человека, а оценить его как специалиста и понять, в какой точке он находится сегодня.
Этап третий: дать возможность кандидату задать вопросы
Теперь очередь соискателя задавать вам вопросы. Обычно люди спрашивают о будущих задачах, возможностях роста и развития, а также о бенефитах, которые предоставляет компания.
На все вопросы я советую отвечать максимально честно. Не давайте кандидату несбыточных обещаний: любой обман раскроется очень быстро, и со временм человек разочаруется в вашей компании, напишет плохой отзыв и больше никогда не придет к вам на собеседование.
Вот мой личный список того, чего ещё нельзя делать на собеседовании:
- Говорить кандидату, что тот отвечает неверно. Человек может впасть в ступор и ему будет тяжело собраться и ответить на остальные вопросы.
- Обращаться к кандидату на «ты» без разрешения. Если собеседнику комфортнее перейти на «ты», он сам об этом скажет.
- Использовать повелительный тон в общении. Если человек делает что-то не так, сообщите об этом максимально вежливо.
- Затягивать собеседование. Старайтесь уложиться в час, максимум – в полтора. Не забывайте, что кандидат может испытывать стресс: не нужно держать его в этом состоянии чересчур долго.
Как вести себя в нестандартных ситуациях на интервью
Интервьюеру нужно быть готовым к тому, что кандидат может повести себя на собеседовании совершенно неординарно. Если соискатель может позволить себе странное поведение, то интервьюер — нет.
Рассказываю, что делать в нестандартных ситуациях.
Ситуация: кандидат растерялся и на все вопросы отвечает «я не знаю»
Начните заходить со стороны и задавать дополнительные, уточняющие вопросы. Похвалите человека, если он смог сказать что-то по теме. Похвала поможет кандидату почувствовать себя более уверенно. У меня был случай, когда соискатель думал, что не знает ответ на вопрос. Я успокоил его, подбодрил. После этого он расслабился и стал спокойно отвечать. Многие хорошие специалисты довольно самокритичны — думают, что недостаточно хорошо знают тему. В большинстве случаев это не так.
Ситуация: кандидат занял агрессивную позицию — пассивную или активную
Если все шло гладко, а потом человек резко поменял свое поведение, попытайтесь аккуратно выяснить, в чем дело. Возможно, после вашего вопроса он вспомнил какой-то свой негативный опыт или его элементарно начал раздражать шумящий в переговорке кондиционер.
Были у меня и такие соискатели, которые с самого начала казались мне резковатыми или немного странными. Конечно, я никак не показывал этого своим видом, и вел интервью в своей обычной манере. Я всегда держу в голове, что оцениваю человека как специалиста, и никогда не перехожу на личностные оценки.
Что делать после собеседования
После собеседования я советую заполнить небольшую анкету, выписать рекомендации для кандидата и прийти к выводу — подходит специалист вашей компании или нет. Сделать все это желательно в течение нескольких дней — пока в вашей памяти не стерлись впечатления об интервью.
Заполните анкету по итогам интервью
У меня есть небольшая заготовка анкеты, которую я использую прямо во время интервью. Она представляет собой список тем, напротив которых я ставлю «+» или «–» в зависимости от того, верно или неверно человек ответил на вопрос по этой теме. Я также вписываю туда свои наблюдения прямо во время разговора. Мне остается только все проанализировать и сделать вывод. Обычно на это уходит не больше 15 минут.
![](https://habrastorage.org/webt/qh/79/ak/qh79akdb_c7jnlsuzn6zrzlsrc0.png)
Напишите рекомендации для кандидата
У нас в компании после собеседования принято давать кандидату обратную связь. Каждый специалист получает от меня довольно подробный фидбек – что было хорошо, а что стоит подтянуть. Я также делюсь с человеком списком полезных материалов.
Примите решение
Обычно мы берем людей на определенные проекты, поэтому я представляю, какими навыками и знаниями должен обладать кандидат. Я просто сопоставляю все данные из анкеты с нашими требованиями и понимаю, подходит человек или нет.
Анкеты всех кандидатов, которым мы отказали, хранятся в базе. Уже через три месяца человек вновь может прийти на собеседование. На этом интервью я не буду задавать тех вопросов, по которым специалист получил хорошую оценку. Начну сразу с тех, на которых он провалился: так я смогу оценить, улучшил ли он свои знания.
И ещё…
Перед тем как проводить своё первое собеседование, сначала посетите несколько интервью в качестве слушателя. Ещё можно порепетировать и разыграть интервью вместе с коллегой. Если у вас есть возможность взять опытного коллегу на первое интервью, воспользуйтесь такой возможностью.
Что читать начинающим интервьюерам
- Марк Роудз «Как разговаривать с кем угодно»
- Марк Гоулстон «Я слышу вас насквозь. Эффективная техника переговоров»
- Алан Пиз «Язык телодвижений»
- Дэниел Гоулман «Эмоциональный интеллект»
Технические ресурсы
- Gayle Laakmann «Cracking the Coding Interview: 189 Programming Questions and Solutions»
- learn.javascript.ru
- Kyle Simpson «You don’t know JS»
- The Complete Web Developer Course
- React.js
- Angular.js
Фото: unsplash.com, firestock.ru.