Главная идея – задавать вопросы.
- Что точно должна уметь делать система (сколько предметов влезает в коробку, каковы они по размерам)?
- Формат системы? Веб/мобилка/дестктоп?
- Вопросы по функциональность. Что должно быть? Какие главные возможности?
- Если лента, то подумать, как это сортировать новости.
- Какие будут файлы? Сколько они будут весить? Что за формат данных в системе будет?
- Сколько пользователей будет? Какой объем трафика?
- Storage сколько? Что мы должны хранить?
- Сколько запросов будем обрабатывать? Load balance?
- Шифрование?
- Мне надо проектировать эндпоинты?
- Спросить интервьюера, а что он думает?
Общий вид схемы
Шаг 1. Понять задачу и определить масштаб: 3–10 минут. Спросить про функциональные требования (какие кнопочки). Спросить про НФТ (что хотелось бы)
Шаг 2. Предложить общее решение и получить одобрение: 10–15 минут.
Шаг 3. Подробное проектирование: 10–25 минут.
Шаг 4. Подведение итогов: 3–5 минут.
Вспомнить виды БД и способы их масштибарования.
Кэширование, вертикальное и горизонтальное масштабирование