BA & SA | 10000 Interview questions
10.2K subscribers
172 photos
14 videos
342 links
Вопросы и задачи, которые задают на собеседованиях на позицию Бизнес и Системного аналитика. По вопросам сотрудничества- @DeliveryManager7
Download Telegram
🧑‍🎓Объяснение:
Этот кейс иллюстрирует ситуацию, когда зависимость от ненадёжного внешнего сервиса может «обрушить» всю систему. Простого таймаута или повторов недостаточно — нужен умный механизм защиты.

Паттерн Circuit Breaker («Автоматический выключатель»)
Работает как электрический автомат в квартире:

Замкнут (Closed) — запросы проходят, статистика ошибок собирается.

Разомкнут (Open) — если ошибки превысили порог (например, 50% за последнюю минуту), все последующие вызовы мгновенно отклоняются без попытки соединения. Вместо реального вызова возвращается fallback-ответ (заглушка).

Полуоткрыт (Half-Open) — через некоторое время пропускается тестовый запрос, чтобы проверить, восстановился ли сервис. Если успешно — выключатель снова замыкается.

Почему это спасает ресурсы:

При разомкнутом состоянии не тратятся потоки, соединения, память на бесполезные вызовы.

Сервис получает передышку для восстановления без лавины повторных запросов.

Пользователи получают быстрый ответ (fallback), а не ждут таймаута.

Почему другие варианты не решают проблему кардинально:

A (Retry with exponential backoff) — повторяет запросы с растущей задержкой, но при длительной недоступности всё равно будет пытаться, расходуя ресурсы. Может даже усугубить ситуацию, создавая отложенную нагрузку.

C (Bulkhead) — изолирует ресурсы (например, отдельный пул потоков для каждого банка). Это полезно, чтобы один банк не «съел» все потоки, но не предотвращает повторные попытки и не даёт сервису восстановиться.

D (Timeout) — ограничивает время ожидания ответа, но при каждом новом запросе снова ждёт, и ресурсы всё равно тратятся.

📌 Роль аналитика:

В требованиях к интеграциям нужно явно указывать необходимость реализации Circuit Breaker, а также определять:

Пороговые значения ошибок для срабатывани
Время восстановления (таймаут перед полуоткрытым состоянием)
Fallback-логику (что возвращать пользователю при отключении)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
№4703 категория вопросов: #TESTING
4703. При проектировании сложной бизнес-логики, описанной с помощью таблицы решений (decision table), какой метод тест-дизайна наиболее подходит для проверки корректности реализации?
Anonymous Quiz
15%
Эквивалентное разделение
23%
Анализ граничных значений
54%
Таблица решений
9%
Попарное тестирование
🧑‍🎓Объяснение:
Таблица решений — это компактное представление бизнес-правил, где перечислены все комбинации условий и соответствующие им действия. Для проверки такой логики идеально подходит метод тест-дизайна, основанный на той же таблице решений. Он гарантирует покрытие всех значимых комбинаций условий (или их разумного подмножества) и выявление ошибок в логике «если-то».

Другие методы менее эффективны для этой задачи:

Эквивалентное разделение (A) разбивает диапазоны значений на классы, но не учитывает комбинации разных условий.
Анализ граничных значений (B) фокусируется на границах диапазонов, что полезно для числовых полей, но не для логических комбинаций.
Попарное тестирование (D) сокращает количество тестов за счёт проверки всех пар значений, но может пропустить ошибки, возникающие только при определённых сочетаниях трёх и более условий.
Вывод для аналитика:
Понимание методов тест-дизайна помогает не только писать качественные требования, но и эффективно взаимодействовать с QA. Если бизнес-логика формализована таблицей решений, лучший способ её проверить — построить тесты, покрывающие столбцы этой таблицы.
Please open Telegram to view this post
VIEW IN TELEGRAM
№4704 категория вопросов: #UML
4704. Вам нужно описать бизнес-процесс обработки заказа, в котором участвуют несколько ролей (менеджер, склад, курьер) и есть параллельные ветки. Какую диаграмму UML лучше всего выбрать для этой задачи?
Anonymous Quiz
9%
Диаграмма классов
43%
Диаграмма последовательности
45%
Диаграмма деятельности
4%
Диаграмма компонентов
🧑‍🎓Объяснение:
Диаграмма деятельности (Activity Diagram) — это UML-диаграмма, предназначенная для моделирования потоков работ (workflows), бизнес-процессов и алгоритмов. Она идеально подходит для описания логики, где важны последовательности действий, условия, параллельные потоки и роли исполнителей.

Почему диаграмма деятельности — лучший выбор:

Поддержка параллельных потоков:
С помощью элементов fork (разветвление) и join (слияние) можно показать, что несколько действий выполняются одновременно. Например, после получения заказа параллельно запускаются проверка на складе и поиск свободного курьера.

Разделение по ролям (swimlanes / дорожки):
Диаграмма деятельности позволяет группировать действия по исполнителям, отображая зоны ответственности каждой роли. Это делает процесс наглядным для всех стейкхолдеров.

Условия и ветвления:
С помощью узлов решения (decision nodes) легко показать альтернативные пути, например, «если товар в наличии → резервировать, иначе → уведомить менеджера».

Понятность бизнес-аналитикам и разработчикам:
Диаграмма деятельности читается практически как блок-схема, что делает её отличным инструментом коммуникации между бизнесом и IT.

Почему другие варианты не подходят:
A (Диаграмма классов) — показывает статическую структуру системы: классы, их атрибуты, методы и связи. Она не предназначена для моделирования динамики процессов.

B (Диаграмма последовательности) — отображает взаимодействие объектов во времени, обычно для конкретного сценария использования (use case). Она хороша для детализации обмена сообщениями, но плохо подходит для параллельных веток и бизнес-процессов с множеством ролей.

D (Диаграмма компонентов) — описывает физическую архитектуру системы: компоненты, их интерфейсы и зависимости. Это уровень развертывания, а не бизнес-логики.

📌 Роль системного аналитика:
Выбор правильной диаграммы — важная часть работы аналитика. Для моделирования бизнес-процессов, особенно с параллельными ветвями и несколькими участниками, диаграмма деятельности является стандартным и наиболее выразительным средством в UML. Она помогает:

Согласовать процесс с заказчиком.
Выявить узкие места и лишние шаги.
Передать разработчикам четкое понимание логики.

Пример из практики:
В проекте по автоматизации доставки мы использовали диаграмму деятельности с дорожками для ролей «Клиент», «Магазин», «Курьер». Параллельные ветки показали, что комплектация заказа и маршрутизация курьера могут происходить одновременно, что сократило время доставки на 20%.
Please open Telegram to view this post
VIEW IN TELEGRAM
№4705 категория вопросов: #REQUIREMENTS
4705. Вы анализируете требования к новой системе онлайн-банкинга. Одно из требований сформулировано так: «Система обрабатывает не менее 1000 одновременных запросов в секунду с временем отклика не более 2 секунд». К какому типу требований оно относится?
Anonymous Quiz
9%
Функциональное требование
85%
Нефункциональное требование
3%
Бизнес-требование
4%
Ограничение
🧑‍🎓Объяснение:
В системном анализе принято разделять требования на несколько категорий, и понимание этой классификации — база профессии.

Почему это нефункциональное требование:

Нефункциональные требования (NFR — Non-Functional Requirements) описывают не что система делает, а как она это делает, насколько хорошо, быстро, безопасно, удобно. В данном случае указаны измеримые показатели производительности: 1000 запросов в секунду (нагрузочная способность) и время отклика 2 секунды (латентность). Это классические атрибуты качества, которые относятся к нефункциональным требованиям. Они критически важны для архитектуры системы — под них проектируют масштабирование, выбирают оборудование, настраивают кэширование.

Почему не подходят другие варианты:

A (Функциональное требование): Функциональные требования описывают конкретные функции, которые система должна выполнять. Примеры: «Система должна позволять переводить средства между счетами», «Система должна отображать историю операций». Требование про 1000 RPS не описывает функцию, а устанавливает критерий качества выполнения функций.

C (Бизнес-требование): Бизнес-требования формулируются на языке бизнеса и описывают цели, которые заказчик хочет достичь. Пример: «Увеличить долю рынка на 5% за счёт запуска мобильного приложения». Требование про 1000 RPS — это уже техническая детализация, а не бизнес-цель.

D (Ограничение): Ограничения (constraints) — это жёсткие рамки, которые нельзя менять. Они могут быть техническими («использовать только PostgreSQL»), организационными («разработка ведётся распределённой командой»), бюджетными или временными. Требование производительности — это цель, а не ограничение; его можно достичь разными способами.

Совет: В реальных проектах нефункциональные требования часто "забывают" или формулируют размыто («система должна быть быстрой»). Профессиональный аналитик всегда добивается измеримых метрик, как в этом примере, потому что иначе невозможно ни спроектировать архитектуру, ни проверить результат.
Please open Telegram to view this post
VIEW IN TELEGRAM
3
№4706 категория вопросов: #REQUIREMENTS
4706. ам нужно быстро разобраться в реальных процессах работы склада для их автоматизации. Руководитель дал неделю на сбор требований. Какой метод сбора требований даст наиболее достоверную картину?
Anonymous Quiz
16%
Провести анкетирование всех сотрудников склада
9%
Изучить должностные инструкции и отчёты
39%
Применить метод наблюдения и теневого копирования
35%
Организовать фокус-группу с начальниками смен
🧑‍🎓Объяснение:
Выбор метода сбора требований зависит от контекста, и для физических процессов (склад, производство) наблюдение часто оказывается самым надёжным.

Почему наблюдение (shadowing) — лучший выбор:
Метод теневого копирования предполагает, что аналитик буквально следует за сотрудником в течение рабочего дня, наблюдает за его действиями, задаёт вопросы по ходу. Это позволяет увидеть:

Реальные действия, которые часто отличаются от описанных в инструкциях
Неформальные практики и «обходные пути», выработанные годами
Узкие места, которые сотрудники уже не замечают
Исключительные ситуации, которые не попадают в отчёты
Для склада, где много физических операций и неформальных коммуникаций, это незаменимый метод. За неделю можно охватить ключевые роли и составить достоверную картину.
Почему другие варианты хуже:

A (Анкетирование): Анкеты дают субъективные ответы, люди склонны приукрашивать или упрощать. Кроме того, многие вещи сотрудники делают автоматически и не могут их описать в анкете. Анкетирование хорошо для сбора мнений, но не для изучения процессов.

B (Изучение документов): Должностные инструкции и отчёты показывают лишь «идеальную» картину, как должно быть по мнению руководства. Реальность почти всегда отличается, иногда кардинально. Документы не раскрывают неформальные практики и реальные проблемы.

D (Фокус-группа с руководителями): Начальники смен знают процессы, но часто — со своей управленческой колокольни. Они могут не знать деталей, с которыми сталкиваются рядовые сотрудники. Кроме того, в группе люди склонны соглашаться с мнением руководства, а не высказывать реальные проблемы.

Совет: В реальных проектах лучший результат даёт комбинация методов. Можно начать с наблюдения, чтобы понять реальность, затем уточнить детали в интервью с ключевыми сотрудниками, и уже потом сверяться с документами. Но если нужно выбрать один метод для быстрого погружения — наблюдение вне конкуренции.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
№4707 категория вопросов: #REQUIREMENTS
4707. Бюджет проекта ограничен, а список хотелок заказчика огромен. Нужно выделить требования для MVP (minimum viable product), которые обязательно должны войти в первую версию. Какую технику приоритизации лучше применить?
Anonymous Quiz
73%
MoSCoW
7%
Kano Model
16%
100-долларовый метод
4%
Pairwise comparison
🧑‍🎓Объяснение:
Приоритизация требований — ключевой навык аналитика, особенно в условиях ограниченных ресурсов. Для MVP нужна чёткая и понятная техника.

Почему MoSCoW — лучший выбор:
MoSCoW — это аббревиатура, которая делит требования на четыре категории:

Must have — критически важно, без этого продукт не имеет смысла
Should have — важно, но можно отложить на следующий релиз
Could have — желательно, но не критично
Won't have — точно не в этом релизе (но возможно в будущем)

Эта техника специально разработана для быстрой приоритизации в условиях ограниченных ресурсов. Она заставляет заказчика делать жёсткий выбор и чётко выделяет границы MVP. MoSCoW легко понять всем участникам — от бизнеса до разработчиков.

Почему другие варианты хуже:

B (Kano Model): Kano модель оценивает влияние требований на удовлетворённость пользователей, разделяя их на «базовые», «линейные» и «восхищающие». Это полезно для понимания, какие функции сделают продукт конкурентоспособным, но не даёт жёсткой приоритизации под бюджет. Kano хороша для стратегического планирования, а не для выделения MVP.

C (100-долларовый метод): Участники распределяют 100 условных долларов между требованиями, показывая их относительную важность. Метод полезен для сбора мнений группы, но результат субъективен и не даёт чёткой категоризации «обязательно/необязательно». К тому же, он трудоёмок при большом количестве требований.

D (Pairwise comparison): Попарное сравнение (каждое требование с каждым) даёт точную числовую оценку приоритетов, но при N требований требует N*(N-1)/2 сравнений. Для списка из 50 требований это 1225 сравнений — непозволительная роскошь при ограниченном времени.

Совет: В реальных проектах MoSCoW часто комбинируют с голосованием или стоимостной оценкой. Но как базовый инструмент для выделения MVP он остаётся стандартом де-факто.
Please open Telegram to view this post
VIEW IN TELEGRAM
№4708 категория вопросов: #REQUIREMENTS
4708. В середине спринта заказчик обращается с просьбой добавить новое требование: «Хочу, чтобы в личном кабинете отображалась история покупок за всё время». Команда уже загружена задачами спринта. Что должен сделать аналитик в первую очередь?
Anonymous Quiz
1%
Согласиться и добавить задачу в текущий спринт
2%
Отказать, сославшись на занятость команды
93%
Оценить влияние требования, задокументировать и добавить в бэклог для следующего спринта
4%
Провести переговоры с заказчиком о замене одного требования другим
21
🧑‍🎓Объяснение:
Это классическая ситуация управления изменениями в гибких методологиях. Реакция аналитика определяет, сохранится ли доверие заказчика и не сорвутся ли сроки.

Почему вариант C — правильный:
В Scrum (и других Agile-методах) действует правило: изменения в текущий спринт не вносятся, чтобы команда могла спокойно достичь спринт-цели. Аналитик должен:

Задокументировать новое требование (чтобы не забыть)
Помочь команде грубо оценить его сложность (хотя бы по шкале S/M/L)
Добавить его в бэклог продукта
На ближайшем планировании спринта команда вместе с заказчиком решит, насколько это требование приоритетно по сравнению с другими
Такой подход сохраняет предсказуемость спринта и уважает работу команды, но при этом не игнорирует потребности заказчика.

Почему другие варианты хуже:

A (Согласиться и добавить): Это прямой путь к срыву сроков. Добавление новой задачи без пересмотра остальных приведёт либо к перегрузке команды, либо к тому, что что-то другое не будет сделано. Scrum-мастер такого не допустит, и правильно.

B (Отказать): Жёсткий отказ без обсуждения испортит отношения с заказчиком. Возможно, требование действительно критичное для бизнеса, и тогда надо искать компромисс (например, заменить менее важную задачу). Аналитик не должен быть «стеной», он должен быть коммуникатором.

D (Переговоры о замене): Это возможный следующий шаг, но не первый. Сначала требование нужно зафиксировать и оценить, иначе непонятно, на что его менять. К тому же, замена одного требования другим в текущем спринте — это исключительная мера, которая требует согласия всей команды и пересмотра спринт-цели.

Совет: В реальной жизни после такого обращения аналитик обычно говорит: «Отличная идея, давайте я её запишу. Мы посмотрим, сколько это примерно займёт, и на следующем планировании решим, что важнее — эта история или то, что мы запланировали на следующий спринт». Заказчик чувствует, что его слышат, а команда защищена от хаоса.
Please open Telegram to view this post
VIEW IN TELEGRAM
№4709 категория вопросов: #REQUIREMENTS
4709. Для описания процесса оплаты заказа в интернет-магазине нужно предусмотреть основной сценарий (успешная оплата) и альтернативные (ошибка ввода карты, недостаточно средств, отмена пользователем). Какой формат спецификаций лучше всего подойдёт?
Anonymous Quiz
11%
User Story: «Как покупатель, я хочу оплатить заказ картой, чтобы получить товар».
81%
Use Case с основным и альтернативными потоками
7%
Бизнес-правило в виде таблицы решений
1%
Прототип интерфейса (мокапы)