Какие вопросы задать по требованиям
Вопрос
Вам дали задачу «Спроектируйте сервис такси». Какие вопросы вы зададите в первые 5 минут и зачем?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Ключевые сценарии: заказ, поиск водителя, трекинг, оплата; что вне рамок
Масштаб: число городов, водителей онлайн, заказов в сутки и в пике
Частота обновления геопозиции водителя, она даёт основную нагрузку на запись
Требования к задержке подбора водителя и к доступности
Где нужна строгая консистентность (один водитель на один заказ, оплата), а где допустима eventual
Что могут спросить следом
- Что вы сознательно исключите из рамок?
- Какое требование тут самое жёсткое?
Разбор
Сначала сценарии: пассажир заказывает, система подбирает водителя рядом, оба видят трекинг, в конце оплата. Рейтинги, чаты и тарифы по зонам вынесу за рамки, если интервьюер не против. Потом масштаб: условно 1 город или вся страна, сколько водителей онлайн (например, 100 тысяч) и заказов в сутки. Спрошу, как часто водитель шлёт координаты: при 100 тысячах водителей и раз в 4 секунды это 25 000 записей в секунду, и это главная нагрузка. Дальше задержка подбора (секунды) и доступность. И консистентность: один водитель не должен получить два заказа одновременно, оплата строго консистентна, а позиция на карте может быть слегка устаревшей.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.