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