Загрузка…
Загрузка…
backend / senior / tech_deep
Формат
online
Стадия
tech_deep
Когда
within_quarter
Длительность
—
01
Поведенческий
Расскажите про ваш опыт: с какими технологиями и API имели дело (по пунктам требований вакансии)?
HR-интервью (Яндекс и VK)
02
Поведенческий
Что вам нравится или не нравится в текущей (или предыдущей) компании?
HR-интервью
03
Поведенческий
Каковы ваши зарплатные ожидания?
HR-интервью; кандидат отказался называть цифру
04
Код
Написать программу для составления карты сайта (sitemap): даны функции GetPage(url) -> (string, error), Hostname(url) -> string и ParsePage(text) -> []string; результат — мапа, где ключ — адрес страницы сайта, а значение — список URL страниц, на которые можно перейти отсюда (не выходя за пределы домена).
Заметки
Ретро-статья (февраль–март 2026) о параллельном прохождении двух процессов найма: основной — Яндекс (Серф-Кэмп, претендовал на Senior), второй — VK (VK-видео, затем VK-музыка). Яндекс: HR (2 фев), алгоритмическая секция зачтена с 2024 года, секция «язык» (Go, live-coding в блокноте без запуска кода, 10 фев), секция «архитектура» (20 фев), секция «про опыт» (2 мар), финалы с руководителями не состоялись. Итог Яндекс — отказ (4 мар) с выставленным грейдом Middle+ вместо Senior; ключевой нюанс — HR использовала устаревшее внутреннее резюме и неверно записала зарплатные ожидания (360), которых кандидат не называл; на грейде Middle+ удалёнку не согласуют с HRBP. VK: HR (10 фев), технический скрининг (12 фев), live-coding (17 фев), финал VK-видео (20 фев), финал VK-музыки (2 мар); на момент публикации (11 мар) ни оффера, ни отказа, ни ответа от VK — по сути no_response. Ранее кандидат собеседовался в VK-ID (2023) и Яндекс (2024).
Подготовка
Для архитектурных задач заранее уточнять ограничения и масштаб (количество объектов, размер выборки) ДО начала реализации. Для секции «про опыт» подготовить небольшую презентацию (~7 слайдов) со схемами: физическая суть проекта, состав бэкенда, структура команды и роль кандидата, статистика проекта. При решении задач придерживаться подхода: объяснить наивное решение → его недостатки → предложить лучший вариант → согласовать с интервьюером → реализовать. Для секции «опыт» подбирать проект, где больше DevOps-составляющей. Для live-coding в Яндексе помнить, что код пишется в блокноте без запуска (нужен «глаз-компилятор»).
Стиль интервьюера
Стиль сильно разнится между интервьюерами. Архитектурная секция Яндекса: интервьюер опоздал на 12 минут, долго не давал оценки масштаба, настаивал на конкретном числе копий для записи. Письменный фидбэк через HR нередко расходится с впечатлением от живого диалога и выглядит спорно. VK live-coding: интервьюер сам недостаточно продумал ограничения задачи. Финал VK-видео: собеседующие были слабо подготовлены, чрезмерно придирались к названию таблицы. Финал VK-музыки: молодой, оптимистичный интервьюер, заранее изучивший резюме, «на одной волне» с кандидатом. Секция «опыт» Яндекса: вдумчивые вопросы, один интервьюер тренировался под присмотром ментора. HR обеих компаний слабо осведомлены о собственных процессах и не видят зарплатных цифр из резюме.
Яндекс, секция «язык» (Go), live-coding в блокноте без запуска кода
05
Теория
Как обрабатывать ошибки скачивания страниц при построении карты сайта (важно сохранять тип ошибки, чтобы понимать, где повторный запрос поможет)?
Замечание интервьюера по ходу задачи о карте сайта
06
Код
Усложнение: распараллелить обход сайта на несколько потоков, вплоть до заданного максимального числа N. Как корректно определить момент завершения (массив на обработку пуст И все воркеры пассивны)?
Follow-up к задаче о карте сайта
07
System design
Спроектировать сервис шаринга фото, подобный Instagram: пользователь создаёт пост (фото + текст), пользователи подписаны на других и видят в ленте (feed) последние посты тех, на кого подписаны.
Яндекс, секция «архитектура»
08
System design
Оцените масштаб системы: на какое количество пользователей и постов (и скорость их генерации) ориентируемся?
Часть архитектурной секции
09
System design
Как поддерживать консистентность, если пост-сервис создал пост, а картинка не загрузилась в медиа-сервис?
Follow-up архитектурной секции
10
System design
Как наращивать количество шардов по мере роста сервиса?
Follow-up архитектурной секции
11
System design
Как будем реплицировать данные (в том числе между датацентрами в разных регионах)?
Follow-up архитектурной секции
12
System design
Что будет происходить, если удалось записать пост не во все датацентры?
Follow-up архитектурной секции
13
System design
Во сколько копий нужно записать данные (две, три или больше), чтобы считать запись успешной?
Спорный момент: интервьюер настаивал на конкретном числе, кандидат — что это вопрос политики и стоимости инфраструктуры
14
Поведенческий
Подробно расскажите про один крупный, недавний (до 7 лет), завершённый и внедрённый в прод проект, где вы играли ключевую техническую роль (техлид/архитектор): детали технических решений в проектировании, разработке и эксплуатации.
Яндекс, секция «про опыт»; кандидат рассказывал про бэкенд крипто-телеком стартапа (по мотивам Helium)
15
Код
Дан массив чисел и желаемая сумма S — найти пару чисел в массиве, дающих в сумме S, либо сообщить, что такой пары нет (объяснить наивное решение O(N^2), его недостатки и оптимизировать).
VK, технический скрининг, live-coding с проверкой на тестах
16
Теория
Вопросы по языку Go.
VK, технический скрининг, устные вопросы по разделам
17
Теория
Вопросы по базам данных (SQL): индексы, шарды и т.п.
VK, технический скрининг
18
Теория
Вопросы по сетям: TCP, UDP, как резолвится DNS и т.п.
VK, технический скрининг
19
Теория
Вопросы по операционной системе: чем потоки отличаются от процессов и пр.
VK, технический скрининг
20
Теория
Вопросы по безопасности (например, SQL-injection и распространённые аббревиатуры/уязвимости).
VK, технический скрининг; кандидат отметил слабое знание раздела
21
Код
Реализовать новостной сервис с 3 эндпоинтами (in-memory): добавление новости (id, заголовок, текст, score), получение топа новостей по score, апдейт новости (в т.ч. изменение score). Выбрать подходящую структуру данных.
curl http://localhost:8081/news/topVK, live-coding на своей машине в IDE с расшаренным экраном
22
Теория
Какого объёма может быть «топ» новостей?
Уточняющий вопрос кандидата по задаче новостного сервиса (ответ: например тысяча)
23
Теория
Зачем вообще мапа — почему не хранить все новости в массиве и сортировать его при каждой вставке?
Follow-up интервьюера к задаче новостного сервиса
24
System design
Спроектировать чат, в котором стример общается с подписчиками; посты стримера отображаются со значком короны, посты ботов — с другим значком.
VK-видео, финал с двумя руководителями команды; считать, что чат один
25
Теория
Как отобразить пользователю последние M сообщений в чате?
select from messages where stream_id = ... order by msg_id limit 50Финал VK-видео; ожидаемый ответ — обычный SQL: order by + limit
26
Теория
Когда мы подключаемся к серверу, то по какому протоколу идёт обмен? (имелся в виду TCP)
Финал VK-видео; также спрашивали про DNS
27
Поведенческий
Расскажите про компании и проекты, в которых вы работали (какие проекты нравятся, какого типа).
Финал VK-музыки (инфраструктурная часть); технических вопросов не было