Собеседование на Data Engineer в Яндекс Лавке

Проверь себя · 1/3разбор после ответа
Вы пишете LAG(price) OVER (PARTITION BY product_id), чтобы получить «вчерашнюю цену» товара по дням. Почему результат может оказаться неожиданным?

Почему Яндекс Лавка — особенный работодатель для DE

Яндекс Лавка — это quick commerce (q-commerce): доставка продуктов из даркстора за считанные минуты, часть экосистемы Яндекс Go. Для дата-инженера это среда, где данные генерируются быстро и должны обрабатываться почти в реальном времени: события заказов, операции даркстора, перемещения курьеров, изменения остатков. DE здесь строит пайплайны для этих событий, поддерживает управление запасами (inventory) и аналитику, которая нужна операционным командам не завтра, а сейчас.

Главная особенность — сочетание операционной скорости и real-time. В классическом ритейле отчёт за вчера — норма, а в q-commerce решения о пополнении даркстора, распределении курьеров и доступности товара принимаются в течение дня, иногда минут. Поэтому от DE ждут не только уверенного batch-стека, но и понимания стриминга и потоковой обработки. Работа идёт на стеке Яндекса — это собственные распределённые системы обработки данных плюс ClickHouse (изначально яндексовская OLAP-СУБД), Spark и Kafka. Актуальные вакансии и детали — на странице карьеры Яндекса.

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

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

Точное число зависит от команды и грейда, но обычно это 5–6 этапов — стандартный для крупного техно-работодателя процесс.

1. Скрининг с рекрутером (30–45 минут)

Знакомство, опыт, мотивация, соответствие грейду. Полезно коротко рассказать про пайплайны, которые вы строили: объёмы данных, инструменты, влияние на продукт.

2. SQL и Python (live coding)

Практика по SQL (оконные функции, агрегаты, дедупликация, оптимизация) и Python. Могут добавить алгоритмическую задачу — Яндекс исторически любит проверять базовый алгоритмический бэкграунд.

3. Обработка больших данных (Spark)

Ключевой блок для q-commerce с её объёмами событий. Спросят про модель Spark, шаффлы, перекос данных (skew), партиционирование, оптимизацию джойнов. Подготовка — Spark на собесе DE.

4. ClickHouse и DWH

Работа с аналитическим хранилищем: движки таблиц (MergeTree и его варианты), партиционирование, материализованные представления, проектирование витрин под быстрые аналитические запросы.

5. Проектирование архитектуры (system design)

Кейсы уровня «спроектируй пайплайн» под реальные сценарии Лавки: обработка потока заказов, real-time отслеживание остатков, аналитика даркстора. Обсуждают выбор batch vs streaming, гарантии доставки, идемпотентность, мониторинг.

6. Поведенческое интервью и финал

Вопросы про работу в команде, кросс-командное взаимодействие, поведение при инцидентах и сорванных сроках. Часто совмещается с финальной встречей.

Что Яндекс Лавка ценит в DE

  • Spark и распределённая обработка. Умение обрабатывать терабайты событий, понимать шаффлы, skew и оптимизацию джойнов.
  • ClickHouse. Уверенная работа с OLAP: движки таблиц, партиционирование, материализованные представления.
  • Стриминг. Kafka и потоковая обработка — из-за real-time природы q-commerce это не «плюсом», а частью базового стека.
  • Real-time мышление. Понимание, где нужен стриминг, а где хватит батча, и какие у каждого варианта trade-offs.
  • Сильный SQL. Ожидаемый уровень — ближе к senior: сложные запросы, оптимизация, проектирование модели данных.

Типичные задачи и кейсы

  • Event-пайплайн заказов. Спроектировать обработку потока событий заказа от оформления до доставки: сбор, дедупликация, гарантии доставки, витрины для аналитики.
  • Real-time отслеживание остатков. Поддерживать актуальные остатки по дарксторам в near-real-time, чтобы товар не продавался, когда его уже нет.
  • Аналитика даркстора. Метрики операций даркстора: скорость сборки, загрузка, дефициты — с быстрым доступом для операционных команд.
  • Spark на терабайтах событий. Оптимизировать тяжёлую обработку: борьба с перекосом данных, партиционирование, эффективные джойны.
  • Партиционирование в ClickHouse. Спроектировать схему партиций и движок таблицы под объёмы и паттерны запросов Лавки.
Готовишься к собесу аналитика?
4000+ человек тренируются в Карьернике — 1700+ вопросов с реальных собеседований
Открыть Карьерник в Telegram

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

  1. Spark вглубь. Модель выполнения, шаффлы, skew, оптимизация джойнов и партиционирование. Spark на собесе DE.
  2. ClickHouse. Движки таблиц, партиционирование, материализованные представления, проектирование витрин.
  3. Стриминг. Kafka: партиции, consumer groups, гарантии доставки, идемпотентность.
  4. DWH и моделирование. Проектирование хранилища и витрин под аналитические сценарии.
  5. SQL до senior. Сложные запросы, оконные функции, оптимизация, дедупликация.

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

  • Слабый SQL. Плавать в оконных функциях и оптимизации — то, на чём срезаются на практическом этапе, при senior-планке особенно.
  • ClickHouse поверхностно. Знать «это быстрая OLAP-СУБД», но не уметь объяснить выбор движка таблицы, партиционирование и материализованные представления.
  • Стриминг поверхностно. Отвечать про Kafka на уровне «очередь сообщений», не понимая партиций, consumer groups и гарантий доставки — в real-time продукте это заметно сразу.
  • Игнорировать trade-offs batch vs streaming. Предлагать стриминг везде без оснований (или наоборот): интервьюер ждёт обоснованный выбор под сценарий.

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

FAQ

Сколько этапов на собесе DE в Яндекс Лавке?

Обычно 5–6: скрининг с рекрутером, live coding по SQL и Python, блок по Spark и большим данным, ClickHouse и DWH, проектирование архитектуры, поведенческое интервью с финалом. Точное число зависит от команды и грейда.

Нужен ли опыт в q-commerce или доставке?

Желателен, но не обязателен. Важнее понимать специфику real-time данных: обработку потока событий, актуальность остатков, требования к свежести аналитики. Если профильного опыта нет, покажите, что умеете строить стриминговые пайплайны и осознанно выбираете между batch и streaming.

Какие инструменты спрашивают чаще всего?

Ядро — Spark, ClickHouse и Kafka, поверх сильного SQL. Из-за real-time природы Лавки стриминг спрашивают серьёзнее, чем в среднем по рынку, а не «для галочки».

Какой уровень SQL ожидают?

Ближе к senior: сложные запросы с оконными функциями, оптимизация, дедупликация, проектирование модели данных под аналитические сценарии. Отдельно могут дать задачу на оптимизацию медленного запроса.

Это официальная информация о процессе найма?

Нет. Этапы и детали основаны на публичных источниках и опыте кандидатов и могут отличаться по командам и грейдам. Точный формат уточняйте у рекрутера Яндекса.