Собеседование на ML Engineer в Кинопоиск

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Почему Кинопоиск — особенный работодатель для MLE

Кинопоиск — крупнейший медиапортал и VOD-сервис в РФ: десятки миллионов активных пользователей в месяц, библиотека из сотен тысяч единиц контента, интеграция с подпиской Плюс и поисковой инфраструктурой Яндекса. Для ML-инженера это в первую очередь масштаб — рекомендации работают на десятках миллионов запросов в день, любая модель должна укладываться в latency-бюджет внутри плеера и приложения, а изменения проходят A/B-тесты на миллионах юзеров.

Главные ML-домены: ранжирование контента (главная, поиск, «похожее»), мультимедийный AI (теги к видео, генерация постеров, метаданные, ASR/диаризация), NLP (модерация и анализ рецензий, генерация описаний), retention/churn для Плюса, анти-фрод и борьба с накрутками рейтингов. Часть моделей переиспользует наработки Яндекса (Catboost, рекомендательные алгоритмы Дзена и Маркета), часть — кастомные под медиа-специфику.

Стек: Python + PyTorch + Catboost + Kubernetes + YT (YTSaurus) — основной DWH/processing-движок Яндекса; ClickHouse для аналитики; MLflow и внутренние Яндекс-инструменты для трекинга экспериментов; Nirvana для пайплайнов. Часть критичной инфраструктуры — на C++ (особенно low-latency serving).

Актуальные вакансии — на hh.ru и сайте Яндекса.

Информация основана на публичных источниках и опыте кандидатов. Команды Кинопоиска используют разные процессы — уточняйте у рекрутера.

Этапы собеседования

Полный цикл — от первого скрининга до оффера — обычно занимает 4-6 недель и включает 5-7 этапов. Это типичный «Яндекс-style» процесс: алгоритмическая секция отдельным этапом, ML system design с реальными кейсами продукта, секция с командой и культурный fit.

1. HR-скрининг (30-45 минут)

Рекрутер проверяет базу: production-опыт ML (1+ лет в задачах с реальным трафиком, не только Kaggle), причины ухода, мотивация именно к Кинопоиску, ожидания по грейду и компенсации. Если есть опыт в media/streaming/recommender — упомяни в первые 30 секунд, это сильно ускоряет процесс. Готовь питч на 90 секунд: что делал, какие модели в проде, какой эффект на метрику.

2. ML-теория (60-90 минут)

Базовая секция с ведущим ML-инженером или DS из команды. Темы, которые встречаются регулярно: градиентный бустинг (как устроен CatBoost, почему он, а не XGBoost; что делать с категориальными фичами), классические рекомендательные подходы (collaborative filtering, ALS, factorization machines), двухбашенные нейросети для retrieval, ранжирование (pointwise/pairwise/listwise, NDCG/MAP), embeddings (Word2Vec, item2vec, графовые). Будь готов рассказать про адаптацию моделей под cold start — Кинопоиск регулярно добавляет новые тайтлы, проблема острая.

Подготовка: ML-теория.

3. Python live coding + алгоритмы (60-90 минут)

Та самая «Яндекс-секция»: 2-3 задачи уровня LeetCode Medium–Hard на алгоритмы и структуры данных в живом кодинге. Деревья, графы, динамика, хешмапы — стандартный набор. После — задача на ML-pipeline: написать функцию для расчёта метрики ранжирования, реализовать sampling для negative samples, отладить чужой код с утечкой train/test. Готовиться по LeetCode и Codeforces Div 2 A-C минимум 100 решённых задач за 4-6 недель до собеса.

Подготовка: Python для DS.

4. ML System Design (90 минут)

Самая сложная и характерная секция. Тебе дают продуктовый кейс уровня «спроектируй ранжирование главной страницы Кинопоиска» или «спроектируй систему генерации тегов к новому фильму». Нужно: уточнить бизнес-метрику и target, описать архитектуру (retrieval → ranking → re-ranking), выбрать модели и обоснование, продумать фичи (включая offline-сборку и online-вычисление), описать данные для обучения и оценки, A/B-план, мониторинг и деградации. Слабые ответы — те, где кандидат сразу прыгает в «возьмём BERT»; сильные — где видно понимание trade-off latency vs quality и опыт production-проблем (cold start, popularity bias, train-serving skew).

Подготовка: MLOps, Model serving, Feature stores.

5. Production / scale (60 минут)

Секция с senior-инженером или тимлидом про инфраструктуру: как ты поднимал модели в прод, как откатывал, как мониторил drift, как разруливал инциденты с упавшим качеством. Кейсы про latency optimization (квантизация, distillation), про работу с YTSaurus / Spark-аналогами (как написать тяжёлый ETL на десятки терабайт), про K8s (deployment, HPA, как делал rolling/canary). Спрашивают про реальные кейсы — заготовь 2-3 истории с цифрами.

Подготовка: Monitoring drift, Deployment strategies.

6. Поведенческое + культурный fit (45 минут)

С тимлидом и/или представителем команды. STAR-формат: расскажи про конфликт с продактом, про факап с моделью в проде, про спор по архитектуре. Параллельно проверяют соответствие Yandex Values — ownership, фокус на пользе пользователю, готовность копать вглубь. Не выдумывай: если факапов в прод не было, рассказывай про факап в учебном проекте, но честно.

Особенности по командам

Recommendation. Ядро продукта: главная страница, блок «похожее», «продолжить смотреть», подборки. Команда самая большая, работает в плотной связке с продуктовыми менеджерами и аналитиками. Модели на двухбашенной архитектуре для retrieval + Catboost/нейросети для ранжирования. Главные челленджи: cold start для нового контента (особенно эксклюзивов), баланс «свежее vs популярное», explore/exploit на разной аудитории (новички vs давние подписчики Плюса). Сюда часто берут MLE с опытом recsys в e-commerce или больших медиа.

Video AI. Обработка видео-контента: автоматическая разметка тегами, поиск ключевых сцен, генерация постеров (cover selection / generation), ASR + диаризация для русскоязычного и зарубежного контента, детекция NSFW-сцен. Стек включает PyTorch, CLIP-like модели, кастомные video transformers. Команда меньше, но больше R&D — тут активно публикуют статьи. Подойдёт тем, у кого CV background и опыт обработки видео потокового масштаба.

NLP. Обработка рецензий и описаний пользователей: модерация (детектор токсичности, спама, нерелевантного контента), классификация по темам, sentiment, поиск дубликатов, генерация коротких описаний. Активно работает с LLM-инфраструктурой Яндекса (YandexGPT, fine-tuned модели). Часто пересекается с recommendation (использовать сигнал из текстов рецензий для ранжирования).

Retention / Churn ML. Прогноз отписки от Плюса, propensity-модели для апсейла подписки и пробного периода, ML-driven CRM-кампании. Тесно работает с маркетинг-аналитикой и финансовой командой. Модели идут не только в самом Кинопоиске, но и в общеяндексовских коммуникациях. Подойдёт кандидатам с background в banking/telco churn.

Search. Поисковое ранжирование внутри Кинопоиска — отдельный сложный домен: запросы с опечатками, многоязычность, специфика «найти фильм по описанию сюжета». Команда заимствует наработки Яндекс.Поиска, но адаптирует под медиа-семантику. Сюда берут MLE с серьёзным search background и пониманием learning-to-rank.

Что Кинопоиск ценит в MLE

Production ML на масштабе. Самое важное. Нужны истории про реальные модели в проде с количественным эффектом на бизнес-метрику. «Сделал модель на 3% лучше baseline на Kaggle» — не пройдёт. «Запустил рекомендательную модель на 5М DAU, +1.2% в retention D7, поборол degradation за 2 недели после релиза» — это сильный сигнал. Готовь 2-3 такие истории.

Media / streaming context. Понимание особенностей контента, recsys-метрик в медиа (watch time vs CTR, freshness, exposure fairness), знание trade-off в видео-стриминге. Если в media/streaming не работал, читай вокруг — блоги Netflix Tech, Spotify Engineering, статьи Яндекса по рекомендациям Дзена и Маркета.

Алгоритмы — Яндекс-уровень. Без серьёзной алгоритмической подготовки скорее всего отвалишься на code-секции, это самый частый отсев. Стандарт — LeetCode Medium стабильно решаешь за 25 минут, Hard разбираешь хотя бы 30% задач. Олимпиадный бэкграунд — большой плюс, особенно в командах ранжирования и поиска.

CV / NLP fluency. Не обязательно эксперт в обоих, но базовый язык должен быть твоим. Transformer-архитектуры, attention, основные предобученные модели, fine-tuning и адаптация — это рабочий минимум.

Cross-team и продуктовое мышление. MLE в Кинопоиске работает плотно с продактами и аналитиками. Умение договариваться о метриках, спорить по приоритетам, оценивать бизнес-эффект — это не «soft skills», это рабочая ежедневная компетенция. На собесе это проверяется на System Design и behavioral.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Как готовиться: план

За 8-10 недель до планируемого собеса:

  1. Неделя 1-2 — Алгоритмы. LeetCode Medium 30+ задач, Codeforces Div 2 A-C 50+ задач. Деревья, графы, динамика, hash map, two pointers, sliding window. Не растягивай — основная масса задач в первые 2 недели.
  2. Неделя 3-4 — Python + ML. Освежи Catboost (категориальные фичи, ordered boosting), recsys-подходы (CF, MF, two-tower), ranking metrics (NDCG, MAP, MRR). Параллельно — прорешай вопросы по Python, ML и SQL в Карьернике: 1500+ задач с разбивкой по темам, по 10-15 минут в день закрывают пробелы перед собесом. Один маленький pet-project на recsys с публичным датасетом (MovieLens, например) — будет о чём рассказать на собесе. Python для DS, ML-теория.
  3. Неделя 5 — Big data + K8s. Spark/YT/Hadoop-аналоги, разница batch vs streaming, K8s основы. Если не работал — туториалы Yandex Cloud по DataSphere и YT.
  4. Неделя 6 — MLOps + feature stores. Как устроены feature stores, что такое train-serving skew, как ловят и предотвращают. MLOps, Feature stores.
  5. Неделя 7 — ML System Design. Прорешай 5-7 кейсов: recsys для VOD, video tagging, search ranking, fraud detection, ASR pipeline. Структура ответа: бизнес → метрики → данные → архитектура → trade-off → A/B → monitoring. Model serving.
  6. Неделя 8 — Monitoring + deployment. Drift detection, online/offline metrics divergence, canary deploys, A/B-инфраструктура. Monitoring drift, Deployment strategies.
  7. Неделя 9-10 — Mocks + behavioral. Mock-интервью с друзьями или платно. Готовь behavioral-истории: 5-7 кейсов с конфликтами, факапами, успехами по STAR.

Частые ошибки

Слабая алгоритмическая подготовка. Самый частый отказ — на code-секции. Кандидат с 5+ лет опыта в DS может не пройти задачи, которые студент 3 курса решает. Не пренебрегай.

Без media domain — ходишь по верхам. На System Design сразу заметно, если ты не понимаешь специфику recsys в медиа. Прочитай хотя бы 3-5 статей: Netflix Tech, Spotify Engineering, статьи Яндекса. Знай отличие watch-time-оптимизации от CTR-оптимизации.

Без production-историй. Кандидаты часто рассказывают про модели «в Jupyter», без деталей про prod. «У нас была система рекомендаций» — не история. «Поднял Catboost-рекомендер для главной, +2.1% CTR в A/B на 1М DAU, продакшен на K8s с canary на 5% трафика» — история.

Слабый K8s / инфраструктурный язык. На production-секции спросят про deployment, мониторинг, инциденты. Если ты никогда не деплоил модель сам, а только отдавал inference-команде — пройти будет сложно. Хотя бы 1 модель сам в K8s подними до собеса.

Только notebook-подход. Кандидаты, которые писали только в Jupyter и никогда не модулировали код, обычно валятся на live-coding и system design. Перепиши свои свежие проекты в виде пакетов с тестами — это сразу видно.

Связанные темы

FAQ

Удалёнка в Кинопоиске для MLE?

Чаще гибрид с офисом в Москве (БЦ «Красная Роза», «Аврора»). Полная удалёнка возможна для senior+ при сильной мотивации и согласовании с тимлидом, но это не правило.

Зарплатные вилки 2026?

Middle MLE: 320-490k. Senior: 490-780k. Staff/Lead уровни — выше, но зависит от грейда и команды. Опционы/RSU в Яндексе сейчас не для всех (с 2022 года ситуация подвижная), уточняй у рекрутера.

Английский нужен?

Базовый — желательно (читать статьи, документацию). Свободный говорящий не обязателен для большинства команд, но для коллабораций с международными R&D-проектами Яндекса плюсом будет.

Сколько этапов?

5-7 этапов, 4-6 недель с момента первого скрининга до оффера. Если процесс затягивается до 2 месяцев — это нормально, в Яндексе много согласований.

Это официальная информация?

Этапы основаны на публичных источниках и опыте кандидатов. Уточняйте у рекрутера — команды и грейды могут менять процесс.