Архитектура и документация
Аналитику не нужно уметь строить систему, но нужно грамотно её описывать — назвать архитектурный стиль, обосновать выбор, заложить кэширование, доступ и документацию. Это тот словарь, на котором вы общаетесь с архитектором и лидами.
Ловушки называем сразу: монолит и микросервисы путают местами, микросервисы считают «всегда лучше», аутентификацию (кто ты) смешивают с авторизацией (что тебе можно), а кэш ставят без инвалидации и отдают устаревшие данные. Полная карта — в слоях ниже.
Карта темы
- Архитектурные стили — что такое монолит и микросервисы и чем они устроены по-разному.
- Компромиссы и HLD — плюсы и минусы стилей, когда что выбирать и что входит в High Level Design.
- Стратегии кэширования — где кэшировать, как инвалидировать и компромисс задержка против устаревания.
- Аутентификация и авторизация — различие идентификации, аутентификации и авторизации и их порядок.
- Модели управления доступом —
RBACпротивABACи принцип наименьших привилегий. - Артефакты документации — какие документы и диаграммы обязательны для системы.
Частые ошибки и ловушки
| Ошибка | Последствие |
|---|---|
| Менять местами определения монолита и микросервисов | Неверная картина системы у всей команды |
| Считать микросервисы «всегда лучше» без компромиссов | Сеть, консистентность и эксплуатация недооценены |
| Путать аутентификацию (кто ты) и авторизацию (что можно) | Дыры в доступе и неверная спецификация |
| Кэшировать без инвалидации | Пользователь видит устаревшие данные |
| Толковать наименьшие привилегии как «выдать всё» | Огромный радиус поражения при взломе |
| Делать HLD уровня кода вместо архитектуры | Документ бесполезен для согласования решения |
Значение для собеседований
Тему спрашивают, чтобы проверить, умеете ли вы рассуждать о системе на уровне архитектуры и безопасности, а не только «фич». Кандидат, который на вопрос про микросервисы сам называет минусы (сетевые задержки, распределённые транзакции), звучит куда убедительнее, чем «микросервисы — это модно и хорошо».
Что обычно проверяют:
- Разницу монолита и микросервисов и условия выбора (масштаб, команда, релизы).
- Порядок идентификация → аутентификация → авторизация и разницу
RBAC/ABAC. - Где кэшировать и как продумать инвалидацию (
TTLпротив событийной). - Что такое HLD, кому он нужен и до какой глубины его прорабатывают.
Типичный неверный ответ: «микросервисы всегда лучше монолита». На самом деле выбор зависит от контекста: для раннего продукта монолит проще, а микросервисы окупаются, когда этого требуют масштаб, размер команды и независимость релизов.