Собеседование на Data Engineer в Яндексе
Содержание:
Почему Яндекс — особенный работодатель для DE
Яндекс — крупнейшая внутренняя data-платформа России: YT (in-house MapReduce, аналог Hadoop), ClickHouse (open-source проект Яндекса), in-house DWH, Logbroker (in-house Kafka), YQL (SQL-диалект над YT). Большая часть команд работает на этом стеке, а не на классических Hadoop/Spark.
Из-за in-house стека Яндексу нужны DE, которые быстро адаптируются: знание Spark поможет, но через 2-3 месяца ты пересядешь на YT. Главное — фундамент SQL, distributed systems, data modeling. Актуальные вакансии — на странице найма Яндекса.
Информация основана на публичных источниках и опыте кандидатов. Команды Яндекса используют разные процессы — уточняйте у рекрутера.
Этапы собеседования
1. Скрининг с рекрутером (30-45 минут)
Знакомство:
- Какой стек использовал (Spark/Hadoop/ClickHouse/Airflow)
- Опыт с distributed системами и объёмом данных
- Готов ли к in-house стеку Яндекса
Питч 90 секунд: продукт, задача, объём данных, инструменты.
2. SQL deep dive (60-90 минут)
В Яндексе DE пишет много SQL: ETL-pipeline, отчёты, расследование инцидентов. Глубокая проверка SQL — must.
Что спрашивают:
- Window functions, CTE, рекурсивные queries
- Оптимизация: index, plan, materialized views
- Join'ы: типы, оптимизация порядка
- Анализ slow queries по EXPLAIN
Подготовка: SQL для DE, SQL-тренажёр.
3. Алгоритмы / coding (60 минут)
LeetCode Easy-Medium. Python обычно. Иногда задача на pandas (агрегация, мердж) или просто чистый Python.
Сложность ниже, чем для DS, но проходимо.
4. Data Engineering system design (60-90 минут)
Сценарий:
- «Спроектируй ETL-pipeline для логов кликов Поиска (10TB/день)»
- «Как сделать near-real-time агрегатор метрик»
- «Hot/warm/cold storage strategy для аналитического хранилища»
Что оценивают:
- Понимание trade-off: batch vs streaming, OLAP vs OLTP
- Знание distributed systems (CAP, exactly-once, idempotency)
- Data modeling: dimensional vs Data Vault, slowly changing dimensions
- Monitoring, alerting, на чём ломается
Подготовка: data modeling, Airflow паттерны, CAP теорема для DE.
5. ClickHouse / специфичный стек (45-60 минут)
Если команда работает на ClickHouse — отдельный раунд.
Вопросы:
- MergeTree engines, выбор для конкретной задачи
- Партиционирование, сортировка ключа, ORDER BY
- Materialized views: когда use, когда нет
- Projections, skip indexes
- Distributed tables, shards, replicas
Подготовка: ClickHouse и OLAP, ClickHouse MergeTree на собесе DE.
6. Поведенческое (45 минут)
STAR. Акцент Яндекса:
- Расскажи про инцидент, который чинил
- Конфликт с DS / Analytics команды — как разрешил
- Как декомпозировал большой проект
- Решение, которое потом пришлось переделывать
Особенности по командам
| Команда | Стек / задачи |
|---|---|
| Поиск | YT, YQL, in-house pipelines, ClickHouse для агрегатов |
| Реклама | ClickHouse, real-time агрегаты для аукциона |
| Go | Геоаналитика, streaming на Logbroker |
| Маркет | Hadoop-like-стек, частично open-source |
| Облако | Yandex DataLens, Managed DWH, для внешних клиентов |
| ML-инфра | Pipelines для обучения, feature stores |
| Дзен / Музыка / Кинопоиск | Контентные рекомендации, OLAP-агрегаты |
Что Яндекс ценит в DE
- Понимание distributed systems. «Как работает join больших таблиц в Spark/YT» — должен ответить, не зубрёжкой
- Инженерная зрелость. Код в git, тесты ETL, мониторинг pipeline. Не «один раз настроил Airflow и забыл»
- SQL глубоко. На уровне «вижу slow query, понимаю что переписать»
- Готовность к in-house стеку. Не «я не работал с YT, мне это не интересно», а «изучу за месяц»
- Pragmatism. Не «идеальная архитектура за полгода», а «MVP за 2 недели, итерируем»
Как готовиться: план
- SQL deep. Window functions, CTE, оптимизация. SQL-тренажёр + анализ EXPLAIN.
- Distributed systems. CAP теорема, репликация, шардирование, consensus.
- Стек. Airflow + dbt + ClickHouse + Spark — минимальный современный набор. Изучи Airflow на собесе DE, ClickHouse MergeTree.
- Data modeling. Kimball vs Inmon, SCD type 1/2/3, fact/dimension.
- DE system design. 5-7 кейсов вслух: ETL pipeline, real-time агрегатор, lakehouse.
- Алгоритмы Easy-Medium. Python.
Частые ошибки
- Слабый SQL. «Я знаю pandas» — для DE недостаточно. Window functions, оптимизация — обязательны
- Не понимать distributed. «Я работал с Pandas DataFrames на 10GB» — это single-machine. DE нужно знать «миллиарды строк»
- «Я не работал с YT». Не закрывает дверь, если объяснишь, что готов учиться. Закрывает — если отвергаешь стек
- System design без trade-off. Назвать только batch ETL, не упоминая streaming/lambda/kappa — слабо
- Игнор мониторинга. ETL без alerts, без data quality checks — junior уровень
Связанные темы
- Собеседование на Data Engineer
- Собеседование на PM в Яндексе
- SQL для DE
- ClickHouse и OLAP
- Airflow паттерны
FAQ
Сколько раундов в Яндексе для DE?
Обычно 4-6: рекрутер → SQL → coding → system design → стек-specific → фит. Срок 4-8 недель.
Нужно ли знать YT перед собесом?
Нет, но готовность учиться обязательна. Базу даст YQL — это SQL-диалект, переход с обычного SQL быстрый.
Чем DE в Яндексе отличается от Spark-команд?
In-house стек требует адаптации. Open-source инструменты (Spark, Airflow) тоже встречаются, но реже.
Берут ли в Яндекс DE без опыта в big data?
Сложнее. Junior — через стажировки и Яндекс ШАД. Senior без опыта в distributed — редкость.
Это официальная информация?
Этапы основаны на публичных источниках и опыте кандидатов. Уточняйте у рекрутера.