Pull to refresh
VK
Building the Internet

Еще меньше алгоритмов: как мы убрали одно алгоритмическое интервью в Дзене и к чему это привело

Level of difficultyEasy
Reading time3 min
Views8.6K

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

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

Как проходят технические интервью в Дзене для бэкенд‑разработчиков

И если кандидат успешно с ним справился, это еще не значит, что он будет успешно решать рабочие задачи — но об этом чуть ниже :)
И если кандидат успешно с ним справился, это еще не значит, что он будет успешно решать рабочие задачи — но об этом чуть ниже :)

Первый этап — Whiteboard Interview (более известный как «алгоритмическое интервью»). Кандидат решает две задачи на программирование простого и среднего уровня в онлайн-редакторе. Интервьюеры оценивают сложность получившегося алгоритма и задают каверзные и не очень вопросы.

Исторически в Дзене было два алгоритмических интервью — с разными задачами и интервьюерами. Это исключало субъективизм с нашей стороны и позволяло проверить умение кандидата построить рабочее решение из базовых структур и способность самостоятельно находить и исправлять баги. 

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

Тем не менее, это хороший инструмент для своих задач — совсем отказываться от алгоритмического интервью мы не хотели, но по обратной связи поняли, что надо что-то менять. И поменяли: заменили одно алгоритмическое интервью на Production Code. На этом этапе кандидат решает реальные задачи, которые когда-то были или есть в Дзене прямо сейчас.

Очевидно, что из этого масштабнее и увлекательнее
Очевидно, что из этого масштабнее и увлекательнее

Например, мы можем попросить кандидата:

  • реализовать API транзакции над базой данных и над внешним сервисом, который может возвращать ошибку;

  • написать код для сервиса по раздаче счетчика просмотров с высокой нагрузкой;

  • реализовать простой сервис для работы с оповещениями;

  • реализовать агрегацию определенных данных по потоку событий;

  • написать рабочие тесты на свой код и так далее.

Что же нам дал Production Code?

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

Пример второй секции был для меня необычен, первый раз такое проходил. Лично мне понравилось, что есть простор, где развернуться. По сути, по тому, как выполняешь такую задачу, можешь сам контролировать свой рост. Я после прохождения несколько раз уже возвращался с мыслью «а что и как я бы ещё мог сделать и на что стоило обратить внимание». Всё же алгоритмические задачи в этом плане несколько зажаты и менее практичны — там может всё сойтись на том, знаешь ли ты некий подход или алгоритм или нет.

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

Еще у нас появился четкий регламент прохождения интервью и понятные критерии оценки по знанию:

  • языка программирования (Java, C++);

  • базовых алгоритмов;

  • баз данных и интерфейсов взаимодействия с ними;

  • инструментам IDE (хоткеи, авто-рефакторинг);

  • устройства многопоточных приложений;

  • тестирования и так далее.

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

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

Итак, с мая по сентябрь полет успешный — мы собрали отзывы и увидели, что процесс стал более понятным и прозрачным для обеих сторон. Новые задания получились с вызовом и близкими к реальности, а конверсия в найме даже увеличилась, более 50% кандидатов успешно прошли новый формат интервью. Точно оставляем этот этап и уже думаем, как масштабировать его на другие технические направления Дзена.

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

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

Tags:
Hubs:
Total votes 38: ↑34 and ↓4+30
Comments20

Articles

Information

Website
vk.com
Registered
Founded
Employees
5,001–10,000 employees
Location
Россия
Representative
Миша Берггрен