Собеседование в Авито и не только
В настоящее время процесс прохождения собеседования в большинство крупных компаний имеет схожие черты и отличается лишь незначительно. Эти отличия определяются конкретной компанией, конкретной вакансией, а также лицом, проводящим интервью на каждом из шагов. Шаги могут быть объединены в секции и/или в этапы и проходить в один или несколько дней.
Ниже расскажу как устроен процесс собеседования и мой личный опыт прохождения.
Для инженеров в Авито выделяют 3 этапа собеседования:
1) Первичное интервью
Оно же скоринговое интервью. Насколько мне известно, здесь происходит первичный созвон и кандидату задают небольшое количество вопросов на знание теории и практики в соответствии с вакансией. По итогам собеседования технический специалист даёт оценку кандидату, в случае успеха — добро пожаловать на следующий этап.
В моем случае со мной связался HR и предложил сразу согласовать следующий этап. Подозреваю, причина в резюме и в том, что оно попало по рекомендации от уже работающего внутри компании, это называется «прийти по рефералке».
2) Техническое интервью , состоящие для разработчиков из 3 секций:
・Программирование. В этой секции вам дают задачи, похожие на то, что можно встретить на leetcode. Вам необходимо будет на выбранном языке, но подходящего вакансии, написать решение, причем без запуска кода. В коде могут быть опечатки, не страшно. Важно объяснить сам алгоритм и определить его алгоритмическую сложность. Кстати одна из задач, которая мне попалась разбиралась на канале Algorithmics: хакаем алгоритмические собесы — рекомендую подписать, если собираетесь готовиться к этой секции.
・Платформа. Здесь проверяются знания в конкретном языке программирования и понимание разработки в рамках экосистемы этого языка. Frontend-разработчик? Что такое область видимости? Замыкание? Event Loop? Разреши цепочку промисов? Напиши с нуля что-то похожее JQuery. В общем спрашивают базу и то, как JavaScript работает в браузере, возможно как работает сам браузер.
・Проектирование. Более распространенное название — System design. Секция опциональна и идёт последней при успешном прохождении предыдущих, плюс является главным дифференциатором для попадания на уровень E5 (сеньор). Если кто не сталкивался с проектированием, полистайте книжку Alex Xu. System Design Interview, можно поискать русский перевод. Кратко, вас попросят высокоуровнево и с нуля спроектировать какой-нибудь сервис. Мне предложили спроектировать мессенджер общения покупателей и продавцов в Авито.
Цель данного этапа — определить уровень инженера. Добавлю, что человеческий фактор для первых двух секции свиден к минимуму: есть внутренняя база вопросов с уже известными и ожидаемыми ответами.
3) Финальное интервью
На финальной встрече, в моем случае, мой будущий тимлид описывал, чем занимается команда, конкретные рабочие задачи и как устроены процессы. В рамках финального интервью проходит и поведенческое интервью, спрашивают как поведешь себя в той или иной ситуации, например, как будешь разрешать конфликт с коллегой, который не согласен с твоим Pull Request. На этом этапе оценивается насколько кандидату будет комфортно с потенциальными коллегами, будут ли интересны ему задачи, соответствуют ли его взгляды ценностям и культуре компании.
Оффер
По итогу нанимающие менеджеры и HR принимают окончательное решение. Если все успешно, то будет предоставлен оффер — пришлют PDF файлик с указанием зарплаты и детальным описанием условий работы.
К чему такие трудности
Во-первых, одного только желания и умения делать реальные задачки будет недостаточно, вам необходимо будет проявить все свои навыки и компетенции на деле. Во-вторых, наличие сильной базы делает вас уверенным и гибким в условиях неопределенности. В-третьих, все ваши усилия окупятся.
Дополнительные материалы
・Avito Playbook — открытый справочник по ценностям, бизнес-процессам, стандартам, процедурам и правилам, которые мы используем в команде разработки в Авито
・Выпуск подкаста iterka — как попасть в Авито: резюме, собеседования и испытательный срок в топовой АйТи компании