Собеседование на Data Engineer в Л'Этуаль

Проверь себя · 1/3разбор после ответа
Нужно вывести только оплаченные заказы (status = 'paid') и отсортировать их по времени создания от новых к старым. Какой запрос соответствует задаче?

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

Л'Этуаль — крупнейшая сеть бьюти-ритейла в России: сотни магазинов офлайн плюс интернет-магазин и мобильное приложение. Для Data Engineer это значит, что данные приходят из очень разных источников и их нужно свести воедино: чеки с касс (POS), онлайн-заказы, программа лояльности с миллионами карт, assortment и остатки, промо-акции и рекламные кампании.

Главная особенность — омниканальность и лояльность. Один и тот же покупатель ходит в магазин, заказывает онлайн и копит баллы по одной карте, и бизнес хочет видеть его как единого клиента. Задача DE — построить пайплайны, которые склеивают офлайн- и онлайн-события в единый профиль, кормят аналитику и ML-фичи для персонализации (рекомендации, таргетированные промо). Стек типичный для крупного ритейла: Spark для тяжёлой батч-обработки, ClickHouse для быстрой аналитики и витрин, Greenplum как классическое MPP-хранилище для DWH.

Актуальные вакансии и описание процессов — на странице карьеры Л'Этуаль.

Информация основана на публичных источниках и опыте кандидатов. Процессы и формат отличаются по командам и грейдам — уточняйте детали у рекрутера.

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

Стандартный процесс DE в крупном ритейле — обычно 5 этапов на 2-3 недели. Ниже типичная последовательность; конкретная команда может что-то объединять.

1. HR-скрининг (30-40 минут)

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

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

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

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

Модель выполнения Spark (lazy evaluation, трансформации против действий), shuffle и почему он дорогой, skew данных, партиционирование, broadcast join. Типовой кейс — оптимизировать джоб, который джойнит большой поток чеков со справочником товаров или клиентов. Разбор — в статье Spark на собеседовании DE.

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

Как устроен MergeTree в ClickHouse, ключи партиционирования и сортировки, материализованные представления для витрин. По Greenplum — идея MPP, распределение данных (distribution key), почему неудачный ключ приводит к перекосу по сегментам. Практический уклон: как спроектировать витрину продаж, чтобы аналитики получали ответ за секунды.

5. System design + поведенческое (60-90 минут)

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

Что Л'Этуаль ценит в DE

  • Уверенный Spark. Основной инструмент батч-обработки чеков и клиентских данных. Нужно понимать shuffle, skew и уметь оптимизировать медленные джобы.
  • ClickHouse на практике. Проектирование витрин под аналитику продаж и лояльности, материализованные представления, партиционирование под объёмы.
  • DWH и Greenplum. Понимание слоёв хранилища (сырой слой, ODS, витрины), моделирования и MPP-специфики.
  • Интеграция POS. Умение работать с сырыми данными касс: разные форматы, задержки, дубли, сверка с онлайн-заказами.
  • Данные лояльности. Склейка покупателя по карте лояльности между каналами, построение клиентского профиля под персонализацию.

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

  • Пайплайн чеков POS. Собрать сырые чеки с касс, дедуплицировать, привязать к клиенту и товару, посчитать агрегаты и загрузить в витрины.
  • Аналитика лояльности. Построить витрину по программе лояльности: активность по картам, накопление и списание баллов, сегментация клиентов.
  • Омниканальная интеграция. Свести офлайн- и онлайн-события одного покупателя в единый профиль, разрулив дубли и разные идентификаторы.
  • Витрины в ClickHouse. Спроектировать таблицы под типовые аналитические запросы по продажам, магазинам и категориям так, чтобы читалось минимум данных.
  • Оптимизация Spark. Ускорить медленный джоб на больших объёмах: борьба со skew, broadcast join для справочников, ребалансировка партиций.
Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

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

Ориентировочно 3-4 недели, если стек знаком.

  1. Spark. Модель выполнения, shuffle, skew, оптимизация. Прогоните Spark на собеседовании DE.
  2. ClickHouse. MergeTree, партиционирование, материализованные представления, проектирование витрин.
  3. DWH и Greenplum. Слои хранилища, моделирование, distribution key и перекосы в MPP.
  4. Retail-домен. Разберитесь в специфике: чеки, ассортимент, лояльность, омниканал — это язык, на котором говорят на собесе.
  5. SQL. Оконные функции, дедупликация, агрегаты по продажам. Уровень middle.

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

  • Слабый SQL. В ритейле аналитические SQL-задачи (средний чек, повторные покупки, сегменты) спрашивают почти всегда. Плавать на оконных функциях — красный флаг.
  • Игнорировать офлайн. Кандидат думает только про онлайн-данные и забывает, что половина (а то и больше) выручки — это офлайн-чеки с касс со своими задержками и дублями. В бьюти-ритейле офлайн критичен.
  • ClickHouse поверхностно. Сказать «строил дашборды на ClickHouse», но не объяснить партиционирование, ключ сортировки и материализованные представления — типичный провал на секции по хранилищу.

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

FAQ

Сколько этапов в собеседовании DE в Л'Этуаль?

Обычно около пяти: HR-скрининг, техническая секция по SQL/Python, Spark, хранилище (ClickHouse/Greenplum) и финальный архитектурный блок с поведенческими вопросами. По времени — 2-3 недели, но зависит от команды и грейда.

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

Не обязателен, но желателен. Понимание чеков, ассортимента, лояльности и омниканальности помогает сразу говорить на языке домена. Без ритейл-бэкграунда компенсируйте сильным Spark/ClickHouse и готовностью быстро разобраться в специфике продаж.

Какие инструменты главные?

Spark, ClickHouse и Greenplum — ядро стека. Spark для батч-обработки, ClickHouse для быстрой аналитики и витрин, Greenplum как MPP-хранилище для DWH. Вокруг — SQL, Python и оркестрация пайплайнов.

Что спрашивают про омниканал?

Как свести данные одного покупателя из офлайна (чеки, карта лояльности) и онлайна (заказы, приложение) в единый профиль. Ожидают, что вы обсудите разные идентификаторы, дубли, поздние данные и идемпотентную склейку — это ядро бьюти-ритейла.

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

Нет. Материал собран из публичных источников и опыта кандидатов. Конкретные этапы, задачи и требования зависят от команды, грейда и текущих процессов — финальные детали уточняйте у рекрутера.


Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.