Формат — «дизайн системы с нуля» на собеседовании SberDevices. Сценарий наш: напоминания для голосового ассистента. Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.
Пользователь говорит колонке: «Разбуди в 6:45» или «Напомни в пятницу оплатить интернет». Напоминание видно и в мобильном приложении, его можно поставить с телефона.
Для расчёта: 5 млн устройств, 20 % ставят что-то каждый день, в среднем 1,5 срабатывания на такое устройство. 30 % будильников срабатывают с 7:00 до 7:05.
В работе: Будильник, который не зазвонил из-за упавшего Wi‑Fi, — опоздание на работу и удалённое приложение.
Как проверяем
Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
Источник: SberDevices, Python: секция «дизайн системы с нуля». Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
- Уточнить требования — Что уточнить?
- Оценить нагрузку
- Где срабатывает будильник — Кто запускает звонок?
- Серверные напоминания — Напоминания с push на телефон — как их планировать на сервере?
- Схема — Опишите путь от фразы «Разбуди в 6:45» до звонка.