Собеседование на Data Engineer в Rutube
SELECT user_id, CASE WHEN age < 18 THEN 'подросток' WHEN age < 30 THEN 'молодой' WHEN age < 50 THEN 'средний' ELSE 'старший' END AS сегмент FROM users. Пользователю 25 лет — какое значение он получит и почему?Содержание:
Почему Rutube — особенный работодатель для DE
Rutube — крупная видеоплатформа, и это событийно-нагруженный (event-heavy) продукт. Каждый запуск плейера, секунда просмотра, пауза, переключение качества и ошибка буферизации — это событие, которое нужно собрать, обработать и превратить в метрику. Объёмы измеряются миллиардами событий в сутки, поэтому Data Engineer здесь строит пайплайны, которые не разваливаются под таким потоком.
Круг задач DE в Rutube — обработка событий плейера, аналитика доставки видео через CDN, инфраструктура для рекомендательных моделей (сбор фичей и обучающих выборок), рекламные пайплайны. Стек типичный для такого масштаба: Spark для батч-обработки, ClickHouse для аналитики событий, Kafka для стриминга. Отдельная специфика — CDN-масштаб: данные о том, как и откуда пользователю доставлялось видео, тоже нужно собирать и анализировать. Подробнее о вакансиях — на странице карьеры Rutube.
Информация в статье основана на публичных источниках и опыте кандидатов. Формат может отличаться по командам и грейдам. Уточняйте у рекрутера.
Этапы собеседования
Точное число этапов зависит от команды и грейда, но в среднем процесс выглядит так.
1. Скрининг с рекрутером (30–45 минут)
Знакомство: опыт, мотивация, ожидания. Отдельно спросят про опыт с событийными данными и стримингом, знание SQL и Python, готовность работать с объёмами уровня видеоплатформы.
2. SQL и Python (60 минут)
Живое кодирование. SQL нужен на уровне middle-senior: оконные функции, сессионные агрегации, дедупликация событий. Python — pandas и pyspark, умение написать трансформацию поверх датафрейма.
3. Big Data и стриминг (60–90 минут)
Ядро собеса. Вопросы по Spark (как устроено выполнение, шаффл, партиционирование, борьба с перекосом данных) и по Kafka (топики, партиции, гарантии доставки, семантика exactly-once).
4. ClickHouse (45–60 минут)
Как хранить и агрегировать события: движки семейства MergeTree, партиционирование, материализованные представления. Часто на примере метрик просмотра или воронки плейера.
5. Архитектура и system design (60 минут)
Разбор кейса вроде «спроектируй пайплайн для событий плейера» или «инфраструктура A/B-экспериментов». Оценивают, как вы выстраиваете путь данных от источника до витрины: сбор, стриминг, хранение, качество данных, мониторинг.
6. Поведенческое интервью + финал
STAR-истории про проекты и командную работу, обсуждение культурного соответствия, иногда финальная встреча с руководителем.
Что Rutube ценит в DE
- Spark вглубь. Основной инструмент батч-обработки миллиардов событий: нужно понимать выполнение, шаффл, партиционирование и как оптимизировать джобы.
- ClickHouse. Хранилище для событийной аналитики — движки, партиционирование и материализованные представления должны быть не на уровне «слышал».
- Пайплайны событий. Умение выстроить поток от событий плейера до готовых метрик, с дедупликацией и обработкой опоздавших данных.
- CDN-аналитика. Понимание, как собирать и анализировать данные о доставке видео — качество, буферизация, география.
- A/B-инфраструктура. Платформа для экспериментов: бакетирование пользователей, сбор метрик, отчёты для продуктовых команд.
Типичные задачи и кейсы
- «Пайплайн для событий плейера» — как собрать, дедуплицировать и агрегировать миллиарды событий в сутки.
- «CDN-аналитика» — метрики доставки видео: буферизация, битрейт, география, ошибки.
- «Пайплайн для ленты рекомендаций» — как готовить фичи и обучающие выборки для recsys-модели.
- «Рекламная аналитика» — учёт показов и событий рекламы, стыковка с продуктовыми метриками.
- «Spark-джоба на терабайты событий» — как оптимизировать и не упереться в перекос данных.
Как готовиться: план
- Spark вглубь. RDD и DataFrame, шаффл, партиционирование, борьба с перекосом и оптимизация джоб. Spark на собесе DE.
- ClickHouse. Движки MergeTree, партиционирование, материализованные представления, TTL.
- Стриминг. Kafka: топики, партиции, consumer groups, гарантии доставки.
- SQL. Доведите до middle-senior: оконные функции, сессионные агрегации, дедупликация.
- Видео-домен. Разберитесь, какие события генерирует плейер и как из них считаются метрики просмотра.
Частые ошибки
- Слабый SQL. На объёмах видеоплатформы аналитические запросы — ежедневная работа, и провал здесь закрывает собес.
- ClickHouse поверхностно. Ответа «это быстрая колоночная база» недостаточно: спросят про движки, партиционирование и материализованные представления.
- Стриминг поверхностно. Нужно понимать не только «Kafka передаёт сообщения», но и партиционирование, consumer groups и гарантии доставки, иначе система дизайн развалится на деталях.
Связанные темы
- Собеседование на DE в Okko
- Собеседование на DE в Кинопоиске
- Spark на собесе DE
- Собеседование на DS в Rutube
- Собеседование на PM в Rutube
FAQ
Сколько этапов на собесе DE в Rutube?
Обычно 5–6: скрининг, техническая секция по SQL и Python, Big Data и стриминг, ClickHouse, системный дизайн и поведенческое интервью. Точное количество зависит от команды и грейда.
Нужен ли опыт с видео?
Желателен, но не обязателен. Релевантным считается любой опыт с событийными данными и стримингом — например, e-com или другой event-heavy продукт с большими объёмами.
Какие инструменты главные?
Spark, ClickHouse и Kafka — это ядро стека. Их и стоит готовить в первую очередь.
Какой уровень SQL ожидают?
Middle-senior: уверенные оконные функции, сессионные агрегации, дедупликация событий и понимание, как считать метрики по сырым событиям плейера.
Это официальная информация?
Нет. Этапы основаны на публичных источниках и опыте кандидатов и могут отличаться по командам и грейдам. Точный процесс уточняйте у рекрутера.