Собеседование системного аналитика

Готовишься к собесу системного аналитика?
827 вопросов: REST, UML, OAuth, ERD, требования. Тренируйся в Telegram
Тренировать SA в Telegram

Что спрашивают на собесе системного аналитика

Собеседование системного аналитика — между бизнес-аналитикой и инженерией. Проверяют: как переводить бизнес-требования в технические, как читать архитектуру, как формулировать API-контракты, как описать процессы через BPMN, как работать с базами данных. SA редко пишет код в production, но читает его и проектирует системы.

В отличие от Data Analyst (фокус на метриках) или Data Engineer (фокус на инфраструктуре данных), SA работает с продуктовыми процессами и сервисной архитектурой. Это инженерная роль с фокусом на проектирование и документирование, не на статистику.

Этапы собеседования

1. Скрининг с рекрутером (20-30 минут). Опыт, грейд, инструменты.

2. Архитектура и REST (60-90 минут). REST, API contracts, микросервисы, протоколы. CAP, ACID, идемпотентность.

3. Требования и моделирование (45-60 минут). Use cases, BPMN, ER-diagrams, C4-model, ADR.

4. SQL и базы данных (45-60 минут). SQL, нормализация, индексы, JOIN, отличия SQL/NoSQL.

5. Системный кейс (60-90 минут). «Спроектируй интеграцию заказа с банком», «как обработать failover между сервисами».

6. Поведенческое (45 минут). STAR-вопросы.

7. Финал с лидом. Фит с командой.

Главные темы по разделам

Архитектура и системный дизайн

API и контракты

Базы данных

Моделирование процессов

Безопасность

Гайды по компаниям

Примеры вопросов

1. Что такое CAP-теорема и как применяется на практике?

CAP — Consistency, Availability, Partition tolerance. В распределённой системе нельзя обеспечить все три одновременно, нужно выбрать два. Partition tolerance обязательна, потому что сети ненадёжны. Выбор между CP (PostgreSQL в кластере, MongoDB strong consistency) и AP (Cassandra eventual consistency, DynamoDB). Для банковских транзакций — CP. Для соцсети — обычно AP.

2. REST vs gRPC — когда что?

REST — текстовый протокол поверх HTTP, человекочитаемый, любой клиент. gRPC — бинарный, на Protocol Buffers, быстрее, сильно типизирован. REST для публичных API (партнёрские интеграции), gRPC для внутренних сервис-к-сервис.

3. Что такое идемпотентность API?

Многократный вызов даёт тот же результат. PUT и DELETE идемпотентны. POST обычно нет (создаёт новую сущность). Достигается через: client-supplied ID (UUID от клиента), MERGE по primary key, idempotency-key header. Важно для retry-логики и финансовых операций.

4. Acceptance criteria в формате Given-When-Then.

Пример: «Given юзер с подтверждённой почтой, When он отправляет запрос на сброс пароля, Then email с одноразовой ссылкой приходит в течение 30 секунд». Структурированный формат для тестируемых требований. Используется в BDD (behavior-driven development).

5. 2PC vs Saga — какой выбрать?

2PC (two-phase commit) — атомарная распределённая транзакция через координатора. Сильная consistency, но блокирующий и медленный. Saga — последовательность локальных транзакций с компенсирующими действиями. Eventual consistency, нет блокировок, но сложнее реализовать. На современных микросервисах преимущественно Saga.

Как готовиться

  1. Архитектурные основы. Книга «System Design Interview» (Alex Xu).
  2. CAP, ACID, идемпотентность. Понимать принципы, не зубрить.
  3. REST/gRPC. Уметь спроектировать API для сценария.
  4. BPMN, ER-diagrams, C4. Тренироваться рисовать на доске.
  5. SQL. Не на уровне DA, но JOIN, GROUP BY, индексы — обязательно. SQL-раздел.
  6. 152-ФЗ и compliance. Для российских компаний — обязательно.

Другие темы

FAQ

Чем SA отличается от BA?

Business Analyst (BA) — фокус на бизнес-процессах, требованиях. Systems Analyst (SA) — на технической реализации, архитектуре, API. На практике границы размыты, особенно в малых компаниях.

Нужно ли уметь кодить?

Junior SA — желательно базовый Python/JavaScript. Middle/Senior — читать код, понимать архитектуру. Писать в production — обычно нет.

Сколько готовиться?

Junior: 3-6 месяцев. Middle/Senior: 1-3 месяца.

Нужны ли BPMN-инструменты?

Знание Camunda / Bizagi / draw.io — желательно. На собесе обычно достаточно нарисовать на доске или объяснить словами.