Собеседование на ML Engineer в VK Видео
Содержание:
Почему VK Видео — особенный работодатель для MLE
VK Видео — UGC-видеоплатформа группы VK, после ограничений YouTube в России — главный игрок российского рынка пользовательского видео-контента. Десятки миллионов активных пользователей в месяц, миллиарды просмотров, активная creator-экономика, интеграция с VK Клипами (short video). Для ML-инженера это работа с UGC-данными на огромном масштабе и в сильной инженерной культуре VK.
ML-системы: recommendation UGC-контента (главная, «похожее», поиск), NLP для метаданных и комментариев, video AI (модерация контента, автоматические теги), антифрод (детекция накруток, спама, ботов), advertising для AVOD-аудитории, integration с VK Клипами (cross-platform engagement). Особенность UGC по сравнению с проф-каталогом — постоянный приток сырого контента без метаданных, шумные сигналы (накрутки, manipulating watch time), необходимость моментально решать про новинки (cold start с тысяч новых видео в час), баланс между разнообразием авторов и удержанием подписчиков популярных каналов.
Стек: Python + Catboost для табличных задач + PyTorch для нейросетей (CV для video, NLP) + K8s для deployment + Hadoop для тяжёлых ETL + ClickHouse как аналитический движок + MLflow для трекинга экспериментов.
Актуальные вакансии — на hh.ru и сайте VK.
Информация основана на публичных источниках и опыте кандидатов. Команды VK Видео используют разные процессы — уточняйте у рекрутера.
Этапы собеседования
Цикл занимает 4-6 недель и включает 5-7 этапов. VK Видео — крупный медиапродукт VK с сильной инженерной культурой. Упор на алгоритмы VK-уровня, recsys и масштаб.
1. HR-скрининг (30-45 минут)
Рекрутер проверяет фон: production-опыт ML (минимум 1 год моделей под реальным трафиком), UGC / video / media background, мотивацию работать именно в VK Видео, ожидания по грейду и компенсации. Если есть опыт в Дзен, RuTube, Яндекс.Видео, Likee, TikTok — упомяни в первые 30 секунд. Готовь короткий питч: что делал, какие модели в проде, какой эффект на метрику.
2. ML-теория (60-90 минут)
Базовая секция с ведущим ML-инженером или DS из команды. Темы, которые встречаются: градиентный бустинг (CatBoost vs XGBoost, работа с категориальными фичами), классические recommendation-подходы (collaborative filtering, ALS, factorization machines), двухбашенные нейросети для retrieval, ранжирование (pointwise/pairwise/listwise, NDCG/MAP/MRR), CV-основы (CNN, ResNet, vision transformers), NLP (Word2Vec, BERT, эмбеддинги). Готовься объяснять trade-off моделей с цифрами — например, что выберешь для retrieval на 100M items: два-tower на эмбеддингах vs ANN-индекс vs ALS, и почему. Слабый кандидат описывает теорию из учебника; сильный — приводит свой опыт и реальные числа.
Подготовка: ML-теория.
3. Python live coding + алгоритмы (60-90 минут)
Алгоритмическая секция VK-уровня: 2-3 задачи LeetCode Medium-Hard в живом кодинге. Деревья, графы, динамика, hash map, two pointers — стандартный набор. После — задача на ML-pipeline: написать функцию для NDCG, реализовать negative sampling, отладить чужой код с утечкой train/test. VK исторически собеседует по алгоритмам строже многих компаний (наследие конкуренции на олимпиадах), поэтому минимум 100 решённых задач за 4-6 недель до собеса — норма.
Подготовка: Python для DS.
4. ML System Design (90 минут)
Самая сложная секция. Тебе дают кейс уровня «спроектируй ленту VK Видео» или «спроектируй ранжирование коротких роликов в Клипах». Нужно: уточнить бизнес-метрику (watch time vs engagement vs retention), описать архитектуру (retrieval → ranking → re-ranking), выбрать модели и обосновать, продумать фичи (offline vs real-time), описать данные для обучения, A/B-план, мониторинг и деградации. Слабые ответы — сразу «возьмём BERT»; сильные — где видно понимание trade-off latency vs quality и опыт production-проблем (popularity bias, filter bubble, train-serving skew). Подготовь 1-2 готовые системы — recsys для VOD, video tagging, comment moderation — чтобы не строить с нуля под стрессом.
Подготовка: MLOps, Model serving, Feature stores.
5. Production / scale (60 минут)
Секция с senior-инженером про инфраструктуру: как поднимал модели в прод, как откатывал, как мониторил drift, как разруливал инциденты. Кейсы про обработку миллиардов событий (батч-pipeline на Hadoop/Spark, потоковые сценарии на Kafka), про K8s (rolling/canary deploy, HPA, троттлинг under load), про latency optimization (квантизация, distillation, batch inference). Заготовь 2-3 истории production-инцидентов с цифрами — что упало, как чинил, что вынес.
Подготовка: Monitoring drift, Deployment strategies.
6. Поведенческое (45 минут)
С тимлидом и/или представителем команды. STAR-формат: расскажи про конфликт с продактом, про факап с моделью в проде, про спор по архитектуре или приоритетам. VK проверяет соответствие культуре — ownership, фокус на пользователе, готовность брать ответственность за прод. Не выдумывай: если факапа не было, рассказывай про учебный проект, но честно и с разбором.
Особенности по командам
Recommendation. Ядро продукта: лента «Главное», блок «Похожее», подписочная лента, поиск. Самая большая команда, плотная связка с продактами и аналитиками. Архитектура — двухбашенные сети для retrieval + Catboost/DNN для ранжирования. Главные челленджи: cold start для нового UGC-контента (тысячи новых видео в час), баланс «свежее vs популярное», explore/exploit на разных аудиториях (новички vs давние подписчики каналов), борьба с накрутками просмотров. Подходит MLE с опытом recsys на UGC-платформах или больших медиа.
Short video / Клипы. Ранжирование коротких вертикальных роликов (TikTok-style). Своя специфика: гипер-короткая обратная связь, важность первых секунд, fatigue (один и тот же креатор показывается слишком часто). Тесная интеграция с основным VK Видео — кросс-promotion и единая лента creators. Подходит тем, кто работал с short-form контентом или с быстрыми RL-подобными циклами обучения.
Video AI. Обработка видео: автоматическая разметка тегами, scene detection, ASR + диаризация, генерация превью, детекция NSFW и контрафакта. Стек включает PyTorch, video transformers, CLIP-like модели. Меньше команда, больше R&D, тут публикуются статьи. Подойдёт MLE с CV-background и опытом обработки видео потоком (десятки тысяч часов контента в день).
NLP. Анализ комментариев, описаний, заголовков: модерация (детектор токсичности, спама), классификация по темам, sentiment, извлечение сущностей, поиск дубликатов. Часто интегрирована с антифродом и recsys (текстовые сигналы как фичи ранжирования). Активно работает с LLM-инфраструктурой VK.
Antifraud. Детекция накруток просмотров, лайков, подписок, бот-комментариев, координированных атак на алгоритм. Adversarial setting — модели быстро устаревают по мере адаптации злоумышленников, нужно постоянное обновление. Подходит MLE с background в антифроде, security ML или классификации с heavy class imbalance.
Что VK Видео ценит в MLE
Production ML на масштабе. Базовое требование. Нужны истории про реальные модели в проде с количественным эффектом на бизнес-метрику. Слабый кандидат: «сделал на Kaggle лучше baseline на 3%». Сильный: «поднял двухбашенную retrieval-модель на 10М DAU, +0.8% watch time в A/B, продакшен на K8s с canary на 5% трафика, инцидент с деградацией поборол за 3 дня». Готовь 2-3 такие истории с цифрами.
UGC / video context. Слабый кандидат говорит «знаю recsys» и описывает Netflix-задачу. Сильный — понимает разницу UGC (тысячи новинок в час, шумные сигналы) vs курируемый каталог (медленное обновление, чистые метаданные), знает creator economy и почему важна exposure fairness, видел кейсы Дзена/Likee/TikTok по балансу discovery vs retention.
CV / NLP fluency. Слабый: «слышал про BERT». Сильный — может объяснить trade-off CLIP vs специализированных video-models, рассказать про fine-tuning, embedding fusion (видео + текст + аудио), стандартные подводные камни (хвостовое распределение классов, doмен-shift).
K8s. Слабый: «деплоил через docker-compose». Сильный — сам поднимал модель в K8s с rolling/canary, понимает HPA, ресурсные лимиты, как читать логи под нагрузкой, как откатывать. Минимум 1 модель в проде на K8s — обязательное условие.
Алгоритмы — VK-уровень. Слабый: с трудом решает LeetCode Easy. Сильный — Medium стабильно за 25-30 минут, Hard разбирает 30%+ задач. Олимпиадный или близкий бэкграунд — большой плюс, особенно в командах ранжирования и поиска.
Как готовиться: план
За 8-10 недель до собеседования:
- Неделя 1-2 — Алгоритмы VK-уровень. LeetCode Medium 50+ задач, Hard 10+. Параллельно прорешай вопросы по Python, ML и SQL в Карьернике: 1500+ задач с разбивкой по темам, по 10-15 минут в день закрывают пробелы перед собесом. Python для DS.
- Неделя 3-4 — Python + ML + recommendation. Recsys, бустинги. ML-теория.
- Неделя 5 — K8s + Docker.
- Неделя 6 — MLOps + feature stores. MLOps, Feature stores.
- Неделя 7 — System design + video AI. Model serving.
- Неделя 8 — Monitoring + deployment. Monitoring drift.
- Неделя 9-10 — Mocks + behavioral. Mock-интервью, 5-7 STAR-историй.
Частые ошибки
Слабые алгоритмы. Самый частый отказ — на code-секции. Кандидат с 5+ лет опыта в DS может не пройти задачи, которые студент 3 курса решает. Что работает: 100+ задач LeetCode Medium-Hard за 4-6 недель до собеса, с разбором паттернов (графы, динамика, two-pointers), а не просто «прорешать побольше».
Без UGC / video. На System Design сразу заметно, если ты не понимаешь специфику UGC: новинки без метаданных, шумные сигналы, exposure fairness. Слабый: «возьмём BERT и Catboost». Сильный: «UGC отличается от каталога тем, что приходит тысячи новинок в час, у них нет ground truth по качеству, нужен подход с быстрым обновлением рейтингов плюс защита от накруток». Читай блоги Дзена, TikTok Engineering, YouTube papers.
Без recommendation. Кандидаты с background в табличных задачах часто не имеют опыта recsys и не знают специфики — explore/exploit, popularity bias, train-serving skew, NDCG vs CTR. Что работает: pet-project на recsys (MovieLens, LastFM) с публичным разбором, чтение 3-5 ключевых статей (Wide&Deep, Two-Tower, DCN).
Без K8s. На production-секции спросят про deployment, мониторинг, инциденты. Если ты никогда не деплоил модель сам, а только отдавал inference-команде — пройти сложно. Хотя бы 1 модель сам в K8s подними до собеса, лучше с мониторингом latency и квантованной версией.
Только notebook. Кандидаты, которые писали только в Jupyter и никогда не модулировали код, обычно валятся на live-coding и system design. Перепиши свои свежие проекты в виде пакетов с тестами и CLI — это сразу заметно по структуре кода и по тому, как кандидат говорит про код в проде.
Связанные темы
- Собеседование на ML Engineer
- MLOps
- Feature stores
- Model serving
- Monitoring и drift
- Deployment strategies
FAQ
Удалёнка в VK Видео для MLE?
Гибрид и удалёнка распространены — особенно для senior+ инженеров. Главные офисы VK в Москве и Питере. Условия уточняй у рекрутера, для middle-уровня иногда требуют офис первые 3-6 месяцев.
Зарплатные вилки 2026?
Middle MLE: 290-440k. Senior: 440-680k.
Английский нужен?
Базовый — желательно.
Сколько этапов?
5-7 этапов, 4-6 недель.
Это официальная информация?
Этапы основаны на публичных источниках и опыте кандидатов. Уточняйте у рекрутера.