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

3. Офлайн-режим приложения курьера

Средняя

Формат — секция Mobile System Design до 1,5 часа. Сценарий наш: приложение курьера доставки. Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.

За смену курьер везёт 40 заказов. На каждый — 6 событий: принял, забрал, в пути, на месте, фото у двери, доставлено. Фото — около 300 КБ.

Сеть пропадает в метро, лифтах и подвалах на 5–20 минут. Клиент и диспетчер видят статус с задержкой, но статус «доставлено» нельзя потерять: от него зависит выплата курьеру.

В работе: Курьер нажал «Доставлено» в подвале — статус не должен пропасть и не должен прийти дважды.

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

Источник: Яндекс: секция Mobile System Design. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.
  1. Уточнить требования — Что уточнить?
  2. Оценить объёмы
  3. Модель синхронизации — Как синхронизировать действия курьера?
  4. Фоновая отправка — Как отправлять очередь, если приложение свернуто?
  5. Схема — Опишите слои приложения и путь события от нажатия до сервера.