Самокат

Спрос в дарксторах, логистика и сроки доставки, ассортимент

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

Этапы отбора

Порядок и состав секций меняются от команды к команде — это типовая схема, собранная по открытым источникам. Этапы, на которых проверяют знания, ведут в разбор формата: что оценивают и чем закрывать пробелы.

Все форматы проверок →
  1. Скрининг

    Рекрутер уточняет направление: спрос и ассортимент, логистика, продуктовая аналитика.

  2. Секция по Python и работе с данными

    Практическая секция: код, агрегаты по событиям, аккуратная работа со временем.

  3. ML-секция: модели, признаки, валидация

    ML-секция: постановка, признаки, валидация. Много вопросов про короткие горизонты и быстрый цикл.

  4. Секция по временным рядам и спросу

    Для команд спроса — секция по рядам: внутридневная сезонность, погода, локальные события.

  5. Секция дизайна ML-системы

    На middle+ — дизайн: прогноз на несколько часов вперёд для сотен точек или распределение заказов между курьерами.

  6. Финальная встреча

    Команда и задачи, ожидания по скорости и самостоятельности.

Что оценивают на любом направлении
  • Комфорт с короткими горизонтами: прогноз на два часа вперёд, а не на месяц.
  • Понимание операционных ограничений: вместимость даркстора, число курьеров, время сборки.
  • Готовность к тому, что модель меняет физический процесс и её ошибку видно в тот же день.
  • Умение работать с данными о геолокации и времени без утечек.

Чем проверяют себя перед отбором

4 формата проверки из отбора Самокат — и тест атласа под каждый. Слабые места видно сразу после захода, а темы для разбора собираются автоматически.

Код, который готовит данные: агрегаты, соединения, пропуски

На чём валятся
  • Код, который работает на примере и не масштабируется: построчные циклы вместо векторных операций.
  • Молчаливое отбрасывание пропусков без объяснения, почему это допустимо.

Классика табличных задач и честная проверка качества

На чём валятся
  • «Взял бустинг, получил 0.85 AUC» без бейзлайна и без объяснения, что это значит для продукта.
  • Случайное разбиение в задаче, где данные упорядочены во времени.
24 вопроса в банкеТест: Классический ML

От постановки до эксплуатации на одной доске

На чём валятся
  • Прыжок в архитектуру с первой минуты, без требований и метрик.
  • Схема, которая заканчивается обучением модели: ни выката, ни мониторинга.
22 вопроса в банкеТест: Дизайн ML-систем

Программа подготовки под компанию

16 тем по всем направлениям Самокат — если команда ещё не выбрана. Программа разложит их по неделям от математики к продакшену; под конкретное направление список короче, и его можно собрать ниже.

Собрать программу подготовки

Эти 16 тем можно разложить по неделям: программа выстроит их от математики к продакшену, поставит тест в конце каждой недели и вернёт тему на повторение, если вы в ней ошиблись. Выйдет примерно 4 недели под Самокат · Все направления.

Проверяем, вошли ли вы…

Направления

Выберите направление: обязательные темы со ссылками в атлас, типовые вопросы с ответами и тест для самопроверки.

Все тесты →
Направление

Спрос и ассортимент даркстораDemand & Assortment

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

Пройти тест: Временные ряды (24 вопроса)
Собрать программу подготовки

Эти 10 тем можно разложить по неделям: программа выстроит их от математики к продакшену, поставит тест в конце каждой недели и вернёт тему на повторение, если вы в ней ошиблись. Выйдет примерно 2 недели под Самокат · Спрос и ассортимент даркстора.

Проверяем, вошли ли вы…

Типовые вопросы секции (4)
Какие признаки решают в прогнозе на два часа вперёд?

Ближайшая история: продажи за последние часы, тот же час в предыдущие дни и в тот же день недели, текущая динамика заказов. Дальше — погода, праздники, локальные события, остатки на складе. На коротком горизонте свежие лаги важнее любой сложной модели.

Разбор в атласе: Feature-based forecasting — Прогноз через признаки
Дождь удваивает спрос. Как это встроить в модель?

Признаками прогноза погоды на горизонте прогноза, а не фактической погоды — фактическую в момент предсказания мы не знаем. Это же требование к валидации: в бэктесте нужно использовать прогноз погоды, доступный тогда, иначе модель покажет качество, недостижимое в проде.

Разбор в атласе: Data leakage — Утечка данных
В новом дарксторе истории нет. Как его запускать?

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

Разбор в атласе: Clustering — Кластеризация
Как валидировать модель с горизонтом в часы?

Скользящим бэктестом с шагом, равным частоте пересчёта: обучение до момента T, прогноз на T+2 часа, сдвиг, повтор. И обязательно с имитацией лага данных — если продажи попадают в витрину с задержкой в 15 минут, модель в бэктесте не должна их видеть раньше.

Разбор в атласе: Cross-validation — Кросс-валидация
Что сделать руками до собеседования
  • Постройте прогноз на несколько часов вперёд с лагами и календарными признаками и сравните с наивным «как вчера в этот час».
  • Добавьте прогноз погоды как признак и проверьте, что не используете факт.
  • Сделайте скользящий бэктест с имитацией задержки данных.