Собеседование на Data Scientist в Купер
bootstrap на одном шаге, чтобы получить одну реплику статистики?Содержание:
Почему Купер — особенный работодатель для DS
Купер (бывший СберМаркет) — сервис доставки продуктов и товаров из магазинов в составе экосистемы Сбера. Для дата-сайентиста это редкое сочетание двух миров: онлайн-ритейл с огромным ассортиментом (десятки тысяч SKU в каждом магазине) и физическая логистика, где решения модели превращаются в реальные маршруты сборщиков и курьеров.
Из-за этого задачи DS в Купере лежат на стыке классического ML и операционной аналитики. Основные направления: прогноз времени доставки (ETA) от оформления заказа до передачи покупателю, рекомендательные системы для товаров и магазинов, детекция фрода в платежах и промокодах, модель замен товара (когда нужного продукта нет на полке — что предложить взамен), прогноз нагрузки на сборщиков и курьеров по слотам. Всё это работает в условиях реального времени и высокой сезонности спроса.
Специфика, которую стоит держать в голове на собесе: в food delivery ошибка модели ощущается физически. Промахнулся с ETA — покупатель ждёт лишние 20 минут и ставит одну звезду; плохо спрогнозировал нагрузку — сборщиков не хватает в пиковый слот. Поэтому интервьюеры любят проверять не только знание алгоритмов, но и понимание того, во что модель обходится бизнесу, когда она ошибается.
Актуальные вакансии и формат обычно можно посмотреть на странице карьеры Сбера.
Информация в статье основана на публичных источниках и опыте кандидатов. Формат может отличаться по командам и грейдам. Уточняйте у рекрутера.
Этапы собеседования
Процесс обычно занимает 5–6 этапов и растягивается на 2–4 недели. Ниже — типовая последовательность; конкретный набор и порядок зависят от команды и грейда.
1. Скрининг с рекрутером (30–45 минут)
Знакомство, обсуждение опыта и мотивации, разбор ожиданий по грейду и вилке. Заранее подготовьте питч на 60–90 секунд: над какими задачами работали, какие метрики двигали, какой был измеримый impact. Для food delivery плюсом будет упоминание опыта с real-time, геоданными или рекомендациями.
2. Техническая секция: SQL и Python (60–90 минут)
Живое написание кода. SQL проверяют на уровне middle: оконные функции, агрегаты, JOIN-ы, дедупликация, работа с временными интервалами. Python — базовые структуры данных, pandas, иногда одна алгоритмическая задача. Обычно всё на реальных для сервиса сущностях: заказы, слоты, товары, сборщики.
3. ML-теория (60 минут)
Разбор классического ML: как устроены градиентный бустинг и деревья, метрики классификации и регрессии, переобучение и регуляризация, работа с дисбалансом классов (актуально для фрода). Часто просят объяснить, почему выбрали ту или иную метрику под конкретную бизнес-задачу.
4. ML system design (60–90 минут)
Ключевая секция для DS уровня middle+. Дают открытый кейс вроде «спроектируй систему прогноза ETA» и смотрят, как вы декомпозируете задачу: какие данные нужны, какие фичи, как учить и валидировать модель, как деплоить и мониторить, что делать с дрейфом данных. Здесь важнее ход рассуждений и умение обосновать trade-offs, чем единственно верный ответ.
5. Поведенческое интервью и финал (45–60 минут)
Вопросы по методу STAR: конфликты в команде, провальные проекты, как принимали решения в условиях неопределённости. Иногда финал совмещают с общением с нанимающим менеджером и обсуждением конкретных задач команды.
Что Купер ценит в DS
- Рекомендательные системы. Товарные рекомендации, cross-sell, подбор замен — ядро продуктовых задач. Ждут понимания коллаборативной фильтрации, content-based подходов и метрик ранжирования.
- Прогнозирование временных рядов. Прогноз нагрузки на слоты и сборщиков, спроса по категориям. Нужно уметь работать с сезонностью, праздничными выбросами и внешними факторами вроде погоды.
- Классический ML. Бустинги (CatBoost, LightGBM), логрег, деревья — рабочая лошадка для табличных задач: фрод, замены, конверсия.
- Real-time mindset. Понимание, что модель работает под нагрузкой и должна отдавать предсказание за миллисекунды, а не в оффлайн-батче.
- A/B-мышление. Умение спроектировать эксперимент, выбрать метрику, оценить значимость и не обмануться на подглядывании в результаты.
Типичные задачи и кейсы
Ниже — примеры формулировок, близких к реальным задачам сервиса. На собесе их дают как открытые кейсы, где важно рассуждение, а не готовая формула.
- «Прогноз ETA от оформления до получения заказа». Разложите на этапы: сборка, ожидание курьера, доставка. Обсудите фичи (магазин, размер корзины, время суток, пробки), метрику (MAE в минутах, а не MAPE), и цену ошибки в обе стороны.
- «Рекомендации товаров: cross-sell». Что положить в блок «с этим покупают». Обсудите холодный старт для новых товаров и пользователей, баланс между релевантностью и разнообразием.
- «Классификация замен товара». Нужного продукта нет на полке — какую замену предложить, чтобы покупатель согласился. По сути ранжирование кандидатов по вероятности принятия.
- «Прогноз нагрузки на сборщиков». Сколько сборщиков нужно в магазине в конкретный слот. Временной ряд с сильной сезонностью недели и часа плюс промо-всплески.
- «Детекция фрода в платежах и промокодах». Сильный дисбаланс классов, требование низкого false positive (нельзя блокировать честных), объяснимость решения.
Как готовиться: план
За 3–4 недели:
- Рекомендательные системы. Освежите коллаборативную фильтрацию, эмбеддинги, метрики ранжирования и проблему холодного старта. См. Embeddings на собесе DS и Ranking метрики (NDCG).
- Временные ряды. Сезонность, тренды, праздничные выбросы, базовые бейзлайны и бустинг на лагах. Разберите, почему выбираете MAE, а не MAPE, когда в данных есть нули.
- Классический ML. Бустинги, работа с дисбалансом, калибровка вероятностей, честная кросс-валидация без утечек.
- A/B-тесты. Дизайн эксперимента, выбор метрики, поправки на множественные сравнения. См. Holdout vs A/B на практике.
- SQL уровня middle. Оконные функции, дедупликация, работа с интервалами времени — прогоните на живых задачах.
Частые ошибки
- Рекомендации без холодного старта. Предлагаете решение, которое разваливается на новых товарах и пользователях. В ритейле ассортимент меняется постоянно — интервьюер обязательно спросит про cold start.
- MAPE на данных с нулями. Для прогноза спроса и нагрузки MAPE взрывается на нулевых значениях. Объясните, почему берёте MAE или взвешенную метрику.
- Модель в вакууме. Рассказываете про архитектуру, но не про цену ошибки для бизнеса и не про мониторинг в проде. Для food delivery это красный флаг.
- Слабый SQL. DS в Купере много работает с данными руками. Плавать на оконных функциях или дедупликации — заметный минус.
- Игнорировать real-time-ограничения. Предлагать тяжёлую модель там, где нужен ответ за миллисекунды под нагрузкой.
Связанные темы
- Собеседование на DS в Я.Еде
- Собеседование на DS в Самокат
- Embeddings на собесе DS
- Ranking метрики (NDCG)
- Собеседование на PM в Купер
FAQ
Сколько этапов в собеседовании?
Обычно 5–6: скрининг с рекрутером, техническая секция (SQL и Python), ML-теория, ML system design и поведенческое интервью с финалом. Точное число зависит от команды и грейда.
Нужен ли опыт в food delivery или ритейле?
Не обязателен, но желателен. Опыт с задачами доставки, геоданными, прогнозом спроса или рекомендациями в e-commerce заметно упрощает разговор о кейсах и показывает, что вы понимаете специфику домена.
Какой уровень SQL ожидают?
Уровень middle: уверенные оконные функции, агрегаты, JOIN-ы, дедупликация и работа с временными интервалами. Экзотику вроде рекурсивных CTE спрашивают редко, но базой нужно владеть свободно.
Какие ML-задачи встречаются чаще всего?
Прогноз ETA и нагрузки (регрессия и временные ряды), рекомендации товаров и замен (ранжирование), детекция фрода (классификация с дисбалансом). Классический табличный ML на бустингах — основной инструмент.
Это официальная информация о вакансиях?
Нет. Этапы и задачи описаны на основе публичных источников и опыта кандидатов. Конкретные требования зависят от команды, грейда и текущих процессов — уточняйте у рекрутера.