Архитектурные паттерны на собеседовании системного аналитика

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — 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)
       ↓
Database

Pros: простота, 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).
Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

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 API

Examples: 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 model

Read и write модели separated. Read часто denormalized, optimized под queries.

Pros: scale read и write independently. Different optimization.

Cons: complexity, eventual consistency.

Связанные темы

FAQ

Это официальная информация?

Нет. Статья основана на работах Cockburn, Martin, Fowler.


Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.