Войти Регистрация
System design

30. Интервалы курьерской доставки Ozon

Средняя

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

При оформлении заказа покупатель видит интервалы на 7 дней вперёд: «завтра 10:00–12:00», «завтра 18:00–20:00». Занятые интервалы серые.

Ёмкость интервала задаёт логистика: сколько заказов развезут курьеры зоны за 2 часа. Для расчёта: Москва делится на 120 зон, в день 300 тыс. курьерских заказов, 6 интервалов в день.

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

В работе: Интервал доставки выбирают на шаге оформления; переполненный интервал — это опоздание курьера и звонок в поддержку.

Как проверяем Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
ёмкостьбронирование с TTLатомарный счётчиккэш

Источник: на задачах Ozon: курьерская доставка до двери. Условие пересказано своими словами.

  1. Уточнить требования — Что выяснить до схемы?
  2. Оценить нагрузку
  3. Бронь интервала — Как не продать в интервал больше, чем ёмкость?
  4. Список интервалов — Откуда брать 42 интервала для экрана оформления?
  5. Схема — Опишите хранение ёмкости, путь брони и что происходит при изменении ёмкости.