Собеседование на Data Engineer в Яндексе
Содержание:
Почему Яндекс — особенный работодатель для DE
Яндекс — один из крупнейших ML/data-работодателей в РФ. DE здесь работает с уникальным стеком: ClickHouse (создан в Яндексе), YDB, собственные оркестраторы. Объёмы — миллиарды событий в день, петабайты данных. DE-команды у Поиска, Рекламы, Go, Маркета, Лавки, Музыки, Метрики.
Особенность: масштаб задач и собственный технологический стек. Многие DE приходят с опытом open-source инструментов (Airflow, Spark, Kafka) и осваивают внутренние Яндекс-инструменты. Это значит, что собес проверяет глубокое понимание принципов работы (партиционирование, индексы, репликация) независимо от конкретного инструмента. Актуальные вакансии — на странице найма Яндекса.
Информация в статье основана на публичных источниках и опыте кандидатов. Формат собеседования отличается по командам и грейдам. Уточняйте у рекрутера.
Этапы собеседования
1. Скрининг с рекрутером (30 минут)
Опыт, мотивация. Особенности Яндекса:
- Опыт с большими объёмами данных
- Знание SQL и Python на сильном уровне
- В какое направление интересно — Поиск / Реклама / Go / Маркет
2. SQL deep dive (60 минут)
Live-coding SQL на ClickHouse-подобных задачах: агрегаты на больших объёмах, оконные функции, оптимизация запросов через explain plan. Подробнее — SQL, оконные функции.
3. Архитектура и инструменты (60-90 минут)
Главный этап. Темы:
- Распределённые системы: партиционирование, репликация, consistency
- Spark: catalyst, shuffle, broadcast joins, partitioning
- Kafka: partitions, consumer groups, offsets, retention
- ClickHouse: merge tree, ReplicatedMergeTree, ReplacingMergeTree, materialized views
- Оркестрация: концепции DAG, idempotence, backfill
Подготовка: DE hub, Spark на собесе, Kafka на собесе.
4. Data modeling (45 минут)
«Спроектируй DWH для рекламной платформы», «как хранить временные ряды просмотров на масштабе 1B событий в день».
Структура: source layer → staging → DWH (star/snowflake) → data marts → consumption.
5. System design ETL (60 минут)
«Спроектируй pipeline для real-time расчёта CTR», «ingest 10TB/день логов из 1000 серверов».
6. Поведенческое и фит (45 минут)
STAR-вопросы.
7. Финал с лидом
Стратегический разговор: видение карьеры.
Что Яндекс ценит в DE
- Глубокое понимание SQL и оптимизации. Не только написать запрос, но обосновать, почему он быстрый
- Опыт с распределёнными системами. Spark, Hadoop, distributed query engines — must
- Скорость работы. Релизы недельные, инциденты быстрые
- Готовность учить внутренний стек. Многие инструменты — свои, документация ограничена
- Хорошие основы. Линейная алгебра, теория вероятностей — для понимания распределённых систем (consistency, replication)
Типичные задачи и кейсы
- «Запрос работает 30 минут вместо 30 секунд. План оптимизации?»
- «Spark job падает с OOM. Что делать?»
- «Spark shuffle стал медленным после добавления новой колонки. Гипотезы?»
- «Спроектируй streaming pipeline для real-time A/B-метрик»
- «ClickHouse-таблица растёт быстрее, чем рассчитывалось. Что делать?»
Как готовиться: план
- SQL до автоматизма. Не только запросы, но и оптимизация. SQL-раздел.
- Spark. Книга «Spark: The Definitive Guide». Pet-project с PySpark.
- ClickHouse. Документация ClickHouse + practice.
- Kafka и streaming. Книга «Kafka: The Definitive Guide».
- Distributed systems. Книга «Designing Data-Intensive Applications» (Kleppmann) — must для senior.
- Python. Pandas, базовая инженерия, тесты.
Частые ошибки
- Знать инструмент, не понимать принципы. «Я работал с Airflow» — мало. Нужно объяснить, почему idempotence важна и как её достичь
- Игнорировать optimisation. Запрос работает — мало. Нужно объяснить, как ускорить в 10x
- Не учитывать failure modes. Что если упадёт worker? Что если data corrupted?
- Зубрить ClickHouse-специфику без понимания основ. ClickHouse — это column-store с MergeTree. Понимать принцип, не зубрить опции
- Слабая алгоритмика. На live-coding всё-таки спросят BFS/DFS, hash map
Связанные темы
- Собеседование на Data Engineer
- Apache Spark на собесе DE
- Kafka на собесе DE
- Airflow на собесе DE
- ClickHouse vs PostgreSQL
FAQ
Сколько этапов в собеседовании на DE в Яндексе?
Обычно 5-7: рекрутер → SQL → инструменты → data modeling → system design → поведенческое → финал. Срок 4-8 недель.
Нужно ли знать ClickHouse?
Желательно. Это собственный инструмент Яндекса, многие команды его используют. Если не работал — упор на готовность освоить и понимание column-store основ.
Нужен ли ШАД?
Желателен, но не обязателен. ШАД даёт сильную CS-базу. Если без ШАД — компенсируется опытом и знаниями distributed systems.
Спрашивают ли ML?
В DE-командах — нет, фокус на инфраструктуре. Если в направление «ML Engineer» — да.
Это официальная информация?
Этапы основаны на публичных источниках и опыте кандидатов. Уточняйте у рекрутера.