Системный дизайн для junior
На собеседовании просят «спроектируйте мессенджер» и ждут не чертежи от архитектора, а разумную картину: какие блоки есть и что между ними происходит.
Слои типового сервиса
- клиент — браузер/приложение, отдаёт запросы API;
- API/бэкенд — бизнес-логика, валидация, auth;
- БД — источник правды (PostgreSQL, урок 56);
- кэш — Redis для частых чтений (урок 38);
- CDN — статика и кэш у края сети (урок 64).
// Типичный путь вашего поста:
// клиент → CDN (кеш статики) → API → Redis (кеш) → Postgres
// └──────── 200 ←──────────┘
💡
В интервью начните «с данных»: какие сущности и как часто читаются/пишутся. От этого растёт всё — индексы, кэши, нужны ли очереди.
ℹ️
Junior-ответ уже прокачанный, если вы: назвали блоки, сказали «где кэш», «где БД», и почему не падает при 1000 запросов/мин. Это сила резюме.