Архитектурные паттерны на собеседовании системного аналитика
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем спрашивают на собесе SA
Архитектурные patterns — основа дизайна. На собесе SA: «отличия», «когда что».
Layered (n-tier)
Стандартный pattern. Слои:
Presentation (UI)
↓
Application (business logic)
↓
Data Access (DAOs, repositories)
↓
DatabasePros: простота, separation of concerns.
Cons: anaemic — бизнес-логика сваливается в один слой; transitive coupling.
MVC
Model-View-Controller.
- Model. Domain logic, data.
- View. UI.
- Controller. Mediator.
Стандарт для web frameworks (Django, Rails, Spring MVC).
Variants: MVP, MVVM (Microsoft / iOS).
Hexagonal (ports and adapters)
Alistair Cockburn.
Идея. Domain в центре. Adapters для всех external (DB, API, UI).
┌─── UI Adapter ───┐
↓ ↑
Database Adapter ↔ DOMAIN ↔ External API Adapter
↑ ↓
└─── Test Adapter ─┘Ports — interfaces. Adapters — concrete implementations.
Pros:
- Domain isolated от infrastructure.
- Easier testing (replace adapters mocks).
- Tech swappable (Postgres → MongoDB — only adapter changes).
Clean architecture
Robert Martin. Похоже на hexagonal но с явными layers:
Entities (domain)
↑
Use cases (app)
↑
Interface adapters (controllers, presenters)
↑
Frameworks & drivers (DB, web, UI)Dependency rule. Inner layers don't depend на outer.
Pros: maintainability, testability.
Cons: boilerplate. Overkill для simple CRUD.
Microkernel / plugin
Core system + plugins.
Core (kernel) — minimum essentials
Plugins — features added via plugin APIExamples: Eclipse, VS Code, Salesforce, browsers.
Pros: extensibility, customization per customer.
Cons: plugin API complexity.
CQRS
Command Query Responsibility Segregation.
Commands → Write model → Event store
Queries → Read modelRead и write модели separated. Read часто denormalized, optimized под queries.
Pros: scale read и write independently. Different optimization.
Cons: complexity, eventual consistency.
Связанные темы
- DDD для SA
- Event-driven архитектура для SA
- Микросервисы vs монолит для SA
- C4 model для SA
- Подготовка к собесу системного аналитика
FAQ
Это официальная информация?
Нет. Статья основана на работах Cockburn, Martin, Fowler.
Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.