BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс для системных аналитиков » Модуль 12.2. Тестовые задания системного аналитика

Модуль 12.2. Тестовые задания системного аналитика

Типовые кейсы: API-контракт, BPMN, ER, NFR + критерии проверки. Для каждого — чек-лист оценивания, примеры решений, типовые ошибки. В конце — «вопрос-ответ».

 

Зачем модуль и как им пользоваться

Этот модуль — готовый пакет тестовых для оценки SA на уровнях junior/middle/senior. Он закрывает четыре оси компетенций:
Поведение (BPMN) → Данные (ER/словари) → Интеграции (API/события) → Качество (NFR/наблюдаемость).
Каждый кейс содержит: бриф, ожидаемые артефакты, критерии и типичные анти-паттерны.

Формат для кандидата: «docs-as-code» (файлы в репозитории/архиве). Формат для проверяющего: рубрика (баллы) + «красные флаги».

 

Общие правила постановки и приёмки теста

Инструкция кандидату (вкладывается в задание)

  • Срок: 24–48 ч календарных (или 3–4 часа чистого времени — укажите).
  • Что сдавать: только перечисленные артефакты (без кода). Любая доп. гипотеза — явно помечена.
  • Версионирование: добавляйте version, changelog.
  • Ссылки внутри: взаимные ссылки между SRS/диаграммами/API/RTM.
  • Прозрачность: если что-то приняли по допущению — впишите в Assumptions.

 

Структура папок (шаблон)

test/
  README.md
  srs/assumptions.md
  bpmn/order_payment_delivery.bpmn
  api/openapi.yaml
  data/er_diagram.puml
  data/dictionary.md
  quality/nfr_catalog.md
  quality/observability.md
  rtm/rtm.csv

 

Рубрика уровней (что ожидаем)

  • Junior: корректная нотация, понятные имена, измеримые NFR, базовые коды ошибок, простая ER с ключами.
  • Middle: идемпотентность, пагинация курсором, async-ветви, boundary-события, DQ-пункты словаря, RTM.
  • Senior: trade-off’ы/ADR, версия API/событий, DMN-врезки, SLI/SLO + план проверки, эволюция схем, отказоустойчивость.

 

Кейс A — API-контракт (REST + события)

Бриф

Нужно описать контракт API для сценария «Создать счёт → Оплатить → Получить статус», с асинхронным PSP. Клиента не устраивают дубликаты и «зависающие» статусы.

 

Ожидаемые артефакты

  1. OpenAPI 3.0+: /v1/invoices (POST/GET), /v1/payments (POST/GET/POST {id}/capture, POST {id}/refund).
  2. Ошибки: единый словарь (code, message, details).
  3. Идемпотентность: Idempotency-Key + поведение на повтор.
  4. Пагинация: cursor-based (ключ поля сортировки, стабильный порядок).
  5. Безопасность: OAuth2/JWT scopes (минимальный набор).
  6. События: описание 2–3 доменных событий (JSON Schema/Avro) — payment.captured.v1, refund.issued.v1 (минимальные поля + семантика версий).

 

Пример (фрагменты)

openapi: 3.0.3
info: { title: Billing API, version: 1.2.0 }
paths:
  /v1/invoices:
    post:
      summary: Create invoice
      parameters:
        - in: header
          name: Idempotency-Key
          required: true
          schema: { type: string, maxLength: 128 }
      responses:
        "201": { description: Created }
        "409": { description: Duplicate key returns previous result }
        "422": { description: Validation error }
  /v1/payments:
    post:
      summary: Create payment
      responses:
        "201": { description: Authorized or Captured }
        "202": { description: Accepted (async PSP) }
        "409": { description: Duplicate }
        "422": { description: Validation }
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth/...
          scopes: { payments:create: "Create payments", payments:read: "Read" }

 

Событие (JSON Schema, выдержка):

{
  "title": "payment.captured.v1",
  "type": "object",
  "required": ["eventId","occurredAt","paymentId","invoiceId","amount","currency"],
  "properties": {
    "eventId": {"type":"string","format":"uuid"},
    "occurredAt": {"type":"string","format":"date-time"},
    "paymentId": {"type":"string","format":"uuid"},
    "invoiceId": {"type":"string","format":"uuid"},
    "amount": {"type":"string","pattern":"^[0-9]+(\\.[0-9]{2})$"},
    "currency": {"type":"string","enum":["RUB","USD","EUR"]},
    "correlationId": {"type":"string"}
  }
}

 

Критерии проверки (баллы)

  • Ресурсы/глаголы корректны (5)
  • Идемпотентность и статус 202 для долгих операций (10)
  • Пагинация курсором + стабильная сортировка (7)
  • Ошибки: структ./коды/пример (8)
  • Security (scopes), rate-limits, размеры (5)
  • События: версия/минимализм/корреляция (5)
  • Версионирование API/депрекейшн-политика (5)
    Итого: 45

 

Типовые ошибки

  • 200 с текстом «обработка началась» вместо 202 + job/state.
  • Идемпотентность описана словами, но нет ключа/реестра/поведения на повтор.
  • «Вернём всё» пагинацией offset без сортировки → дырки/дубли.
  • События «свободного формата» без схемы/версии.
  • PII в событиях (email/телефон).

 

Кейс B — BPMN 2.0 (коллаборация)

Бриф

Нужно смоделировать To-Be процесс «Заказ → Оплата → Доставка» с асинхронным PSP и SLA доставки. Обязательны: Event-based gateway на ожидании результата платежа, Boundary timer на доставке, compensation на наклейке.

 

Ожидаемые артефакты

  • Collaboration с пулами: Витрина/Checkout, Payments, Warehouse, Carrier, Customer.
  • Boundary events: Timer на «Оплате» (таймаут PSP), Timer на «Доставке» (SLA breach), Error на «Печать этикетки».
  • Multi-instance подпроцесс «Собрать посылки по OrderItems».
  • Message flows для вебхуков payment.captured и tracking.updated.
  • End Events: «Заказ завершён», «Заказ отменён».

 

Критерии проверки (баллы)

  • Межсистемные вызовы — message flow, не sequence (6)
  • Event-based gateway на платеже (8)
  • Boundary timer и эскалация SLA (6)
  • Compensation/откат (5)
  • Нет висящих токенов, у XOR есть default (5)
  • Именование: глагол + объект, до 12 элементов на уровне (5)
    Итого: 35

 

Типовые ошибки

  • XOR вместо Event-based; отсутствие таймаутов.
  • Sequence-переходы между пулами.
  • Нет End-событий/«висящие» инстансы.
  • Отсутствие альтернатив (decline/timeout).

 

Кейс C — ER-модель + словарь данных

Бриф

Смоделируйте данные для домена «Заказы–Клиенты–Платежи–Возвраты». Нужны: сущности, ключи, связи, обязательность, денежные типы, уникальность, бизнес-ключи для интеграций.

 

Ожидаемые артефакты

  1. ER-диаграмма (6–10 сущностей): Customer, Order, OrderItem, Payment, Refund, Shipment, Warehouse.
  2. Ключи: натуральные vs суррогатные, уникальные ограничения.
  3. Деньги: DECIMAL(18,2) + ISO4217; суммы в мин. единицах (обоснование).
  4. Словарь данных: атрибут, тип, обязательность, домен/справочник, DQ-правила (валидность/полнота/уникальность).

 

Критерии проверки (баллы)

  • Корректные связи и кардинальности (8)
  • Ключи и уникальность (натуральные/суррогатные) (6)
  • Денежные поля и валютная модель (5)
  • Обязательность и DQ-правила в словаре (6)
  • Бизнес-ключи для интеграций (ExternalId) (5)
    Итого: 30

 

Типовые ошибки

  • FLOAT для денег; отсутствие валютной поддержки.
  • Отсутствие уникальности по (orderId, sku) в позициях.
  • Нулевая/nullable семантика не описана.
  • Нет ExternalId/таблицы маппинга.

 

Кейс D — NFR + наблюдаемость (SLO/SLI) + план проверки

Бриф

Определите NFR для эндпоинтов и процессов из кейсов A–B и опишите, как проверите их достижение (методика/инструмент/окно/порог).

 

Ожидаемые артефакты

  • Каталог NFR: Latency (p95/p99), Availability, Error rate, Security, Audit, Capacity, Compliance, A11y (если UI).
  • SLI/SLO таблица: метрика, цель, окно, как меряем (лог, трейсы, метрики).
  • Нагрузочный план: профиль трафика, RPS, длительность, «нагрев/полка/остывание».
  • Алерты: условия + действия (эскалация/фичефлаг/деградация).
  • Observability: события/логи со схемой, traceId/correlationId, RED/USE.

 

Пример (фрагмент)

ID

Область

SLO

Окно

Метод проверки

NFR-PERF-01

POST /v1/orders

p95 ≤ 900 ms, p99 ≤ 1500 ms

08:00–23:00 CET

нагрузочный тест + SLI в прод-подобном стенде

NFR-AVAIL-01

Payments API

≥ 99.9% успешных за месяц

Календарный месяц

SLO-дашборд

NFR-OBS-01

Логи

JSON, поле traceId, маскирование PII

Всегда

инспекция + автомат. тест

 

Критерии проверки (баллы)

  • NFR измеримы (метрика+окно+метод) (6)
  • SLI/SLO оформлены, привязка к системам мониторинга (6)
  • Нагрузочный план реалистичен (профиль) (5)
  • План деградации/фичефлаг/откат (4)
  • Безопасность логов/PII (3)
    Итого: 24

 

Типовые ошибки

  • «Быстро/надёжно» без цифр.
  • p95 без окон/условий.
  • Нет способа проверки (как измерим?).
  • Логи без схемы/маскирования.

 

Суммарное оценивание (пример веса)

  • Кейс A (API): 45
  • Кейс B (BPMN): 35
  • Кейс C (ER+словарь): 30
  • Кейс D (NFR/SLI/SLO): 24
  • Бонусы: RTM, ADR/DR, DMN, версионирование схем — до +10
    Максимум: 144 + 10

 

Junior — 60–85; Middle — 86–115; Senior — 116+ (ориентиры, адаптируйте под свою шкалу).

 

Чек-лист для проверяющего (быстрый просмотр)

  • Ясные Assumptions и границы.
  • Согласованность терминов между BPMN/API/ER.
  • Идемпотентность/асинхрон отражены и в API, и в BPMN.
  • Бизнес-ключи и ExternalId пригодны для интеграций.
  • NFR не «вода», привязаны к метрикам и методам.
  • Есть RTM (хотя бы минимальный CSV) и CHANGELOG.
  • В событиях — минимум PII.
  • Диаграммы читабельны (≤ ~12 элементов на уровень).

 

Красные флаги:

  • 500 «на всё», отсутствие 202; нет Default Flow; sequence между пулами; деньги FLOAT; нет уникальности; «SLA быстро»; события без схемы/версии.

 

Примеры мини-решений (как должно выглядеть «вкратце»)

API (идея)

  • POST /v1/payments → 201/202; заголовки Idempotency-Key, X-Correlation-Id.
  • События: payment.captured.v1 (минимум полей).
  • Ошибки: AMOUNT_TOO_SMALL (422), DUPLICATE (409), PSP_TIMEOUT (202).
  • Пагинация: /v1/payments?cursor=…&limit=100 (cursor = base64(lastId, createdAt)).

 

BPMN (идея)

  • Event-based gateway (Message vs Timer).
  • Boundary timer на «Доставка», ветка «Эскалация/компенсация».
  • Compensation на «Печать этикетки».

 

ER (идея)

  • Order( orderId PK, customerId, status, total DECIMAL(18,2), currency )
  • OrderItem( orderItemId PK, orderId FK, sku, qty, unitPrice, UNIQUE(orderId, sku) )
  • Payment( paymentId PK, orderId FK, amount, currency, status )
  • В словаре: обязательность/домены/справочники/валидации.

 

NFR/SLI (идея)

  • POST /orders: p95 ≤ 900 ms, 08–23, EU/Stockholm; метод — нагрузочный тест + метрики.
  • Наблюдаемость: JSON-логи c traceId, OpenTelemetry трассы, RED-метрики.

 

Риски при выдаче теста и как их гасить

Риск

Проявление

Митигирующие меры

Туманная постановка

«Додумал не туда»

Дайте «Assumptions.md» с примерами допустимых допущений

Слишком большой объём

Не успевает

Предложите «обязательный минимум» + бонусы

Плагиат/«копипаста»

Без адаптации

Ставьте доменные нюансы, просите устную защиту 10–15 мин

Перегруженные диаграммы

«Обои»

Ограничение на элементы/уровень, требование подпроцессов

Не сравнил альтернативы

Решение «по вкусу»

Попросите 1–2 ADR/DR (контекст-варианты-решение)

 

Доп. задания (для старших уровней)

  • RTM: CSV «REQ → AC/BDD → API/Events → Tests → Metrics».
  • DMN: таблица SLA доставки (hit policy F).
  • События: политика версионирования (semver, additive-only, deprecation).
  • DWH/BI: CDC описание, MERGE дедуп (одним SQL-фрагментом).
  • Security: ABAC матрица (кто что может).

 

Вопрос–Ответ

В: Можно ли сдавать диаграммы скриншотами?
О: Да, но приложите исходники (BPMN XML/PlantUML) для ревью.

 

В: Нужны ли ссылки на стандарты и термины?
О: Желательно. В глоссарии пропишите термины (Order/Invoice/Payment) и дайте ссылки на разделы SRS.

 

В: Что считать «правильной» идемпотентностью?
О: Ключ на создающих операциях (Idempotency-Key), реестр на стороне сервиса, тот же ответ при повторе, уникальные индексы в БД; описать TTL/границы.

 

В: Как обосновать выбор offset vs cursor?
О: Cursor для изменяемых наборов и больших объёмов (нет «дыр» и «дублей»); offset — только для стабильных/малых наборов. Приведите критерии.

 

В: Обязательно ли делать DMN?
О: Нет, но DMN-фрагмент в кейсе со SLA/скидками — плюс к оценке (senior-поведение).

 

В: Как показать, что NFR выполнимы?
О: Дайте метод верификации: сценарий нагрузки, как меряем SLI, как алертим нарушения, какой fallback (деградация/фичефлаг).

 

Шпаргалка кандидату

  • Всегда пишите Assumptions и ограничения.
  • Имена = глагол+объект, данные = тип+домен.
  • На каждом уровне думайте об идемпотентности и асинхронности.
  • NFR = метрика + окно + метод.
  • Диаграмма = одна идея, остальное в подпроцессы.
  • PII минимизируйте; события — только минимальный payload.
  • Делайте CHANGELOG и указывайте версии артефактов.

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Модуль 12.1. 100 вопросов системному аналитику на собеседовании
Следующая статья →
Модуль 12.3. Техническое собеседование: SQL, API, UML/BPMN

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • ПАО «Ростелеком» — российский провайдер цифровых услуг и сервисов. Предоставляет услуги широкополосного доступа в Интернет, интерактивного телевидения, сотовой связи, местной и дальней телефонной связи и др. Занимает лидирующие позиции на российском рынке высокоскоростного доступа в интернет, платного ТВ, хранения и обработки данных, а также кибербезопасности

  • Авиакомпания NordStar (АО «АК «НордСтар») – работает под данным брендом с 2008 г. и сейчас входит в топ-15 крупнейших российских авиакомпаний (данные Росавиации) с пассажирооборотом более 1 млн человек в год. АО «АК «НордСтар» выполняет и внутренние, и внешние рейсы, а ее основные хабы - Домодедово, Пулково и Емельяново. С 2021 года компания является базовым перевозчиком аэропорта Норильск.

  • Российский филиал одного их ведущих мировых производителей и дистрибьютеров косметики Estee Lauder Companies Inc. выбрал аналитическую платформу Loginom для предиктивной аналитики продаж как в офлайн-, так и в онлайн-канале.

  • Ручная обработка заявок на займы в МФО ДоброЗайм была малоэффективной и приводила к высоким затратам по ФОТ отдела верификации и андеррайтинга. При этом время обработки заявок было высоким, как и количество ошибок под влиянием человеческого фактора. Дополнительные сложности создавал сложный документооборот, обусловленный неконсолидированной кредитной историей и скоринговой оценкой. Все это суммарно мешало масштабированию бизнеса МФО.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.