Собеседование на Data Engineer в Спортмастере

Проверь себя · 1/3разбор после ответа
В таблице пользователей есть колонка middle_name, в которой часто хранится NULL. Что вернёт выражение COUNT(middle_name)?

Почему Спортмастер — особенный работодатель для DE

Спортмастер — крупнейший в России ритейлер спорттоваров: сотни офлайн-магазинов, интернет-магазин, мобильное приложение и программа лояльности с миллионами участников. Для дата-инженера это значит один нюанс, которого нет в чисто онлайновых компаниях: большая часть данных рождается офлайн — в кассах, на складах, в приёмке товара — и её надо аккуратно склеить с онлайн-событиями в единую картину клиента.

DE в Спортмастере работает с чеками POS-систем, движением товара по складам, ассортиментной матрицей, данными лояльности и омниканальными пайплайнами, где онлайн- и офлайн-покупки одного клиента сходятся в один профиль. Типичный стек — Spark для батч-обработки, ClickHouse для аналитических витрин и Greenplum как корпоративное хранилище (DWH). Актуальные вакансии и требования — на странице карьеры Спортмастера.

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

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

Процесс стандартный для крупного ритейлера: обычно 5–6 этапов, растянутых на 2–3 недели. Ниже — из чего они складываются и на что смотрит интервьюер на каждом.

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

Знакомство и сверка ожиданий: с каким стеком работали, какие объёмы данных прогоняли, почему интересен ритейл. Полезно за 90 секунд рассказать про свой опыт: что за пайплайны строили, на каких инструментах, какой был бизнес-эффект. Здесь же обсуждают грейд, формат работы и вилку.

2. SQL и Python (60 минут)

Живое написание кода. По SQL проверяют оконные функции, CTE, работу с дедупликацией и агрегациями по большим таблицам — типичные для чеков и продаж задачи. По Python — умение написать чистую трансформацию данных, разобрать вложенный JSON, собрать простой ETL-скрипт. Подготовиться помогут SQL для Data Engineer и SQL-тренажёр.

3. Spark и распределённая обработка (60 минут)

Ключевой этап: в Спортмастере большие объёмы гоняют именно через Spark. Спросят про разницу между map и reduce-стороной, почему возникает shuffle и как его сократить, что такое перекос данных (data skew) и как бороться с «горячими» ключами, когда уместен broadcast join. Хороший ответ — не пересказ терминов, а понимание, почему один и тот же джоб может работать 5 минут или 5 часов. Разбор — в статье Spark на собеседовании DE.

4. ClickHouse и хранилище (45–60 минут)

Как устроены аналитические витрины: движки семейства MergeTree, зачем нужен ключ сортировки, как работают материализованные представления, почему в ClickHouse не делают точечные UPDATE. Могут затронуть Greenplum как корпоративное DWH и принципы моделирования (звезда/снежинка). Смотрят, понимаете ли вы, под какую нагрузку заточена аналитическая СУБД и чем она отличается от транзакционной.

5. Архитектура и system design (60 минут)

Кейс на проектирование пайплайна под ритейл-задачу — например, витрина продаж по магазинам или интеграция чеков из касс. Здесь важнее не назвать модный инструмент, а проговорить компромиссы: батч или стрим, как обрабатывать опоздавшие данные, где хранить сырьё, как обеспечить идемпотентность при перезаливке.

6. Поведенческое интервью и финал (45 минут)

Вопросы по методике STAR: расскажите про сложный инцидент на проде, про конфликт с командой, про пропущенный дедлайн. Оценивают, как вы принимаете решения в условиях неопределённости и работаете со смежными командами — аналитиками, ML, продуктом.

Что Спортмастер ценит в DE

  • Уверенный Spark. Основной инструмент для батч-обработки больших объёмов. Ждут понимания оптимизации: shuffle, партиционирование, кэширование, борьба с перекосом.
  • ClickHouse и Greenplum. Аналитические витрины и корпоративное хранилище — рабочая повседневность. Нужно понимать, под что заточена каждая СУБД.
  • Retail-пайплайны. Умение работать с чеками, ассортиментом, остатками, движением товара — данными, которые редко бывают чистыми.
  • DWH-мышление. Слои хранилища (raw / ODS / витрины), моделирование, историчность (SCD), качество данных.
  • Интеграция с POS. Данные из касс приходят пачками, с задержками и дублями — умение аккуратно их принять и сверить критично.

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

  • Пайплайн чеков из POS. Собрать данные касс из сотен магазинов, дедуплицировать, привести к единой схеме и загрузить в витрину продаж.
  • Аналитика лояльности. Связать транзакции с профилем участника программы, посчитать частоту покупок, средний чек, отток.
  • Омниканальная интеграция. Склеить онлайн- и офлайн-покупки одного клиента в единый профиль, разрешив проблему матчинга идентификаторов.
  • Витрины в ClickHouse. Спроектировать быстрые агрегаты по продажам в разрезе магазина, категории и периода для дашбордов бизнеса.
  • Оптимизация Spark-джоба. Разобраться, почему расчёт стал тормозить, найти перекос данных или лишний shuffle и ускорить пайплайн.
Готовишься к собесу аналитика?
4000+ человек тренируются в Карьернике — 1700+ вопросов с реальных собеседований
Открыть Карьерник в Telegram

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

Ориентировочно 4–5 недель, если база уже есть:

  1. Spark. Модель выполнения, shuffle, join-стратегии, перекос данных, тюнинг. Spark на собесе DE.
  2. ClickHouse и DWH. Движки MergeTree, материализованные представления, слои хранилища, моделирование витрин.
  3. Омниканальное мышление. Как офлайн-чеки и онлайн-события сходятся в один профиль клиента, где ломается матчинг.
  4. SQL. Оконные функции, дедупликация, оптимизация тяжёлых запросов — до уровня middle-senior. SQL для DE.
  5. Моки и поведенческое. Прогоните system-design-кейс вслух и заготовьте 3–4 истории по STAR.

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

  • Слабый SQL. На потоке чеков и продаж без уверенных оконных функций и дедупликации не обойтись — это отсеивает на раннем этапе.
  • Игнорировать офлайн. Кандидаты из чистого онлайна недооценивают сложность офлайн-данных: задержки, дубли, сверка касс. Покажите, что понимаете эту специфику.
  • Поверхностный Spark. Знать, что «Spark обрабатывает большие данные», мало. Спросят про shuffle и перекос — и здесь общие слова не спасут.
  • Кейс без компромиссов. В system design оценивают не «правильный» ответ, а умение проговорить trade-offs. Решение без альтернатив выглядит слабо.

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

FAQ

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

Обычно 5–6: скрининг с рекрутером, SQL/Python, Spark, ClickHouse/хранилище, system design и поведенческое. Весь цикл занимает около 2–3 недель, но по командам и грейдам порядок и число этапов могут отличаться.

Нужен ли опыт в ритейле?

Желателен, но не обязателен. Понимание специфики (чеки, ассортимент, лояльность, омниканальность) даёт заметное преимущество, особенно на кейсах. Если ритейл-опыта нет — компенсируйте сильной инженерной базой и заранее разберитесь, как устроены retail-данные.

С какими инструментами работают?

Основа — Spark для батч-обработки, ClickHouse для аналитических витрин и Greenplum как корпоративное DWH. Плюс SQL и Python как базовый инструментарий дата-инженера.

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

Уверенный middle-senior: оконные функции, CTE, дедупликация, оптимизация запросов по большим таблицам. На потоке продаж и чеков это ежедневные задачи, поэтому SQL проверяют серьёзно.

Это официальная информация о вакансиях?

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