Business Analysis
System Analysis
Soft Skills
Agile & Delivery
Architecture & Integration
100

Чем различаются функциональные (FR) и нефункциональные требования (NFR)?

Функциональные требования определяют, что система должна делать (поведение, функции), а нефункциональные — как она должна это делать (производительность, безопасность, доступность, масштабируемость).

100

Чем отличается первичный ключ (Primary Key) от внешнего ключа (Foreign Key) в реляционных БД?

Primary Key уникально идентифицирует запись в текущей таблице и не может быть NULL. Foreign Key ссылается на Primary Key другой таблицы и обеспечивает ссылочную целостность данных.

100

Что такое «активное слушание» и какой простой прием помогает убедиться, что вы правильно поняли требования стейкхолдера?

Активное слушание — техника полного вовлечения в собеседника. Прием: парафраз / переформулирование («Правильно ли я понимаю, что...» или «Другими словами, вы хотите...»).

100

В чем разница между Definition of Ready (DoR) и Definition of Done (DoD)?

DoR — критерии готовности задачи к взятию в разработку (требования понятны, есть макеты, оценка). DoD — критерии готовности задачи к релизу/сдаче (код написан, протестирован, задокументирован, пройден Code Review).

100

В чем ключевое различие между протоколами REST и SOAP, и какой формат передачи данных чаще всего используется в REST API?

REST — это архитектурный стиль, работающий с ресурсами и обычно использующий JSON (а также XML/HTML), в то время как SOAP — это строго валидируемый протокол, работающий через протокол передачи данных и всегда использующий XML с WSDL-схемой.

200

Расшифруйте аббревиатуры критериев качества требований SMART и критериев оценки задач INVEST.

  • SMART: Specific (конкретные), Measurable (измеримые), Achievable (достижимые), Relevant (релевантные), Time-bound (ограниченные по времени).

  • INVEST: Independent (независимые), Negotiable (обсуждаемые), Valuable (ценные), Estimable (оцениваемые), Small (небольшие), Testable (тестируемые).

200

Что обозначает статус ответа HTTP 401 Unauthorized и чем он отличается от 403 Forbidden?

401 означает, что пользователь не аутентифицирован (система не знает, кто это). 403 означает, что пользователь аутентифицирован, но у него нет прав (авторизации) на доступ к данному ресурсу.

200

Разработчик категорически отказывается реализовывать ваше требование, считая его «бесполезным костылем». Каков ваш первый шаг?

Выслушать аргументы разработчика, объяснить бизнес-контекст и «почему» это нужно пользователю, а затем совместными усилиями поискать альтернативное архитектурное решение.

200

Чем отличаются показатели Lead Time (время выполнения) и Cycle Time (время цикла) в Kanban?

Ответ: Lead Time — время от момента появления идеи/заявки до ее финальной поставки клиенту. Cycle Time — время от момента, когда команда непосредственно взяла задачу в работу, до ее завершения.

200

Клиент запрашивает обновление данных профиля, но сервер отвечает кодом 422 Unprocessable Entity. В чем разница между этой ошибкой и 400 Bad Request?

400 Bad Request говорит о синтаксической ошибке в самом запросе (например, битый JSON), а 422 Unprocessable Entity — о том, что синтаксис верен, но сервер не может обработать содержащиеся данные из-за нарушения бизнес-логики или правил валидации.

300

В чем разница между нотациями BPMN 2.0 и UML Activity Diagram, если обе используются для моделирования процессов?

BPMN разработана специально для бизнес-процессов, понятна топ-менеджменту и исполняется BPM-движками. UML Activity Diagram — техническая нотация для алгоритмов и потоков управления внутри программного обеспечения.

300

В чем разница между INNER JOIN и LEFT JOIN при составлении SQL-запроса?

INNER JOIN возвращает только те строки, для которых есть совпадения в обеих таблицах. LEFT JOIN возвращает все строки из левой таблицы и совпадающие строки из правой (если совпадения нет, поля правой таблицы заполняются NULL).

300

Как корректно отказать ключевому Заказчику, если он просит внести критические изменения за день до релиза?

Применить фреймворк конструктивного отказа: подтвердить важность идеи, показать последствия (риск срыва сроков, баги на проде), предложить альтернативу (включить задачу в приоритет следующего спринта/релиза) и показать оценку ресурсов.

300

На спринт-планировании команда оценила задачи в 40 стори-поинтов, но средняя скорость (Velocity) за последние 3 спринта составляет 25 поинтов. Каковы действия аналитика/Scrum-мастера?

Обратить внимание команды на исторический Velocity, совместно отсечь наименее приоритетные задачи с помощью Product Owner и уменьшить объем спринта до реалистичных 25 поинтов.

300

Бизнес хочет получать уведомления о смене статуса заказа в режиме реального времени для миллиона пользователей. Что вы выберете: REST Polling, Webhooks или WebSockets? Обоснуйте выбор.

Для дуплексной связи в реальном времени с частыми обновлениями подходят WebSockets. Если уведомления отправляются только клиенту (однонаправленно), подойдет SSE (Server-Sent Events) или Webhooks для межсистемного взаимодействия. Polling создавать слишком большую нагрузку на сервер при таком количестве пользователей.

400

Бизнес-заказчик просит добавить форму из 20 полей для регистрации. С помощью какого метода вы выявите минимально необходимый набор данных для MVP, чтобы не ухудшить конверсию?

Анализ пользовательских сценариев (User Journey Mapping / CJM), применение техники MoSCoW для полей, A/B-тестирование гипотез или метод формализации Jobs-to-be-Done (какую задачу пользователя решает каждое поле).

400

В диаграмме последовательности (UML Sequence Diagram) вам нужно описать условный переход (if-else) и параллельное выполнение процессов. Какие операторы (combined fragments) используются для этого?

Для условного перехода используется блок alt (альтернатива) или opt (опционально), а для параллельного выполнения — par (параллельность).

400

На фасилитации митинга два стейкхолдера из разных отделов спорят из-за конфликтующих требований и не дают продолжить встречу. Техника фасилитатора?

Остановить дискуссию, зафиксировать спорную точку в «Парковке идей» (Parking Lot), вернуть встречу к единой цели и назначить отдельную фокусированную встречу (Sync) только с участниками конфликта.

400

Что такое «Технический долг» (Tech Debt) и как аналитик должен учитывать его при планировании бэклога?

Техдолг — накопленные компромиссы в коде/архитектуре ради быстрого выпуска. Аналитик должен закладывать квант времени (например, 15-20% емкости спринта) на техдолг или квантифицировать риски от его невыполнения для PO (как долг влияет на скорость реализации фич).

400

При проектировании интеграции двух систем вам нужно выбрать между брокером сообщений (RabbitMQ/Kafka) и прямыми REST API вызовами. В каких ситуациях асинхронное взаимодействие через брокер будет критически необходимо?

Когда требуется асинхронность (отправителю не нужно ждать немедленного ответа), при необходимости гарантированной доставки при сбоях получателя (Dead Letter Queue), для сглаживания пиковых нагрузок (backpressure/rate limiting) или при реализации Event-Driven архитектуры (Publish-Subscribe).

500

Заказчик утверждает, что система «работает медленно и неудобно», и отказывается принимать этап. Как аналитику перевести эти эмоциональные претензии в метрики и контрактные требования?

Оцифровать требования: для «медленно» зафиксировать SLA по времени отклика (например, $95\%$ запросов $< 1.5$ сек при нагрузке $N$ RPS); для «неудобно» провести юзабилити-тестирование, зафиксировать System Usability Scale (SUS) или метрику успеха выполнения сценария (Task Completion Rate) без ошибок за время $T$.

500

При проектировании REST API для сущности «Заказ» нужно предусмотреть частичное изменение адреса доставки. Какой HTTP-метод использовать, как обеспечивается идемпотентность и почему PUT здесь не подходит?

Использовать PATCH. PUT не подходит, так как он заменяет ресурс полностью (требует передачи всей сущности). Для обеспечения идемпотентности PATCH передается специальный заголовок Idempotency-Key или формат JSON Patch (RFC 6902).

500

Вы пришли на проект, где предыдущий аналитик не оставил документации, стейкхолдеры выгорели и не хотят отвечать на вопросы («мы уже всё один раз говорили»), а разработчики делают задачи «по памяти». С чего начать восстановление процессов?

Начать с аудита исходного кода / UI для восстановления верхнеуровневой картины (Reverse Engineering), составить черновик процессов, прийти к стейкхолдерам не с открытыми вопросами, а с готовой гипотезой на валидацию («Я разобрал текущий процесс, проверьте, пожалуйста, только эти 3 момента»), снизив их трудозатраты.

500

Проект перешел с фиксированной оплаты (Fixed Price) на Time & Materials. Как аналитику адаптировать процесс работы с требованиями, чтобы предотвратить катастрофический Scope Creep (разрастание рамок проекта)?

Внедрить гибкое управление бэклогом с постоянной приоритезацией (MoSCoW/WSJF), зафиксировать правила «Trade-off» (если добавляется новая фича — исключается эквивалентная по трудоемкости фича с низа бэклога) и короткие итерации с постоянной демонстрацией инкремента.

500

В распределенной микросервисной системе происходит оформление заказа: списание денег, резервирование товара и отправка SMS. Сервис оплаты сработал, а сервис склада выдал ошибку. Как решить проблему консистентности данных без использования тяжелых 2PC (двухфазных коммитов)?

Использовать шаблон Saga (Choreography или Orchestration) с компенсационными транзакциями (например, при ошибке склада запускается команда на возврат средств клиенту) либо паттерн Transactional Outbox для обеспечения идемпотентности и событийной консистентности (eventual consistency).