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

14. Будильники и напоминания на умных колонках

Средняя

Формат — «дизайн системы с нуля» на собеседовании SberDevices. Сценарий наш: напоминания для голосового ассистента. Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.

Пользователь говорит колонке: «Разбуди в 6:45» или «Напомни в пятницу оплатить интернет». Напоминание видно и в мобильном приложении, его можно поставить с телефона.

Для расчёта: 5 млн устройств, 20 % ставят что-то каждый день, в среднем 1,5 срабатывания на такое устройство. 30 % будильников срабатывают с 7:00 до 7:05.

В работе: Будильник, который не зазвонил из-за упавшего Wi‑Fi, — опоздание на работу и удалённое приложение.

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

Источник: SberDevices, Python: секция «дизайн системы с нуля». Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.
  1. Уточнить требования — Что уточнить?
  2. Оценить нагрузку
  3. Где срабатывает будильник — Кто запускает звонок?
  4. Серверные напоминания — Напоминания с push на телефон — как их планировать на сервере?
  5. Схема — Опишите путь от фразы «Разбуди в 6:45» до звонка.