Перейти к содержимому
На этой странице

Применение нотаций

Все темы Systems Analyst

Нарисуйте диаграмму последовательностей получения данных из REST-сервиса через веб-форму.

Структура диаграммы последовательности для процесса, когда пользователь отправляет запросы в REST-сервис через веб-форму:

  1. Актеры:

    • Пользователь (User)

    • REST-сервис (REST Service)

  2. Основные шаги:
    • Пользователь заполняет и отправляет веб-форму.

    • Веб-сервер получает запрос от пользователя.

    • Веб-сервер отправляет запрос REST-сервису для получения данных.

    • REST-сервис обрабатывает запрос и выполняет необходимые операции.

    • REST-сервис возвращает данные в ответ на запрос.

    • Веб-сервер получает данные от REST-сервиса.

    • Веб-сервер отображает полученные данные пользователю.

  3. События и сообщения:
    • Событие: “Отправка запроса от пользователя через веб-форму”.

    • Сообщение: “Запрос данных к REST-сервису”.

    • Событие: “Получение данных от REST-сервиса”.

  4. Диаграмма последовательности:

    • Покажите отдельные линии жизни пользователя, браузера с веб-формой, веб-сервера и REST-сервиса. Если браузер вызывает REST API напрямую, промежуточный веб-сервер не нужен. Добавьте сообщения запроса, ответа и ветку ошибки.

Этот процесс демонстрирует взаимодействие между пользователем, веб-сервером и REST-сервисом при получении данных через веб-форму и REST API.


Составьте схему BPMN для процесса, описывающего работу банкомата (устно)

Для описания работы банкомата с использованием BPMN (Business Process Model and Notation) можно представить следующую схему:

  1. Начало процесса:

    • Начальное событие: “Пользователь приходит к банкомату”.
  2. Основные шаги:

    • Активность: “Ввод PIN-кода пользователем”.

    • Шлюз (Gateway): “Проверка правильности PIN-кода”.

      • Если PIN-код верен: переход к следующему шагу.

      • Если PIN-код неверен: возврат к вводу PIN-кода.

    • Активность: “Выбор операции (снятие/пополнение/баланс)”.

    • Шлюз: “Выбор типа операции”.

      • Различные ветви в зависимости от выбора операции (снятие/пополнение/просмотр баланса).
    • Активность: “Выполнение операции банкоматом”.

    • Шлюз: “Подтверждение выполнения операции”.

      • Если операция выполнена успешно: завершение процесса.

      • Если произошла ошибка: переход к началу или альтернативным шагам.

  3. Завершение процесса:

    • Конечное событие: “Пользователь забирает карту и чек”.

Какие бывают Gateway в BPMN?

В BPMN (Business Process Model and Notation) существуют различные типы шлюзов (Gateways), которые используются для управления потоком процесса. Основные типы шлюзов в BPMN:

  1. Exclusive Gateway (XOR):

    • Используется для принятия решений на основе условий.

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

  2. Inclusive Gateway (OR):

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

    • Используется для моделирования альтернативных путей выполнения процесса, когда могут выполняться несколько условий одновременно.

  3. Parallel Gateway (AND):

    • Используется для разделения потока процесса на несколько параллельных путей.

    • Все исходящие потоки выполняются параллельно и независимо друг от друга.

  4. Complex Gateway:

    • Позволяет моделировать более сложные логические условия, которые не могут быть представлены с помощью других типов шлюзов.

    • Используется для описания более специфических случаев, требующих детализации логики принятия решений.

Каждый тип шлюза в BPMN имеет свои особенности и применяется в зависимости от необходимости моделирования конкретных условий и потоков выполнения процесса.


Как проверить корректность BPMN-диаграммы?

Проверку начинают со сценария: у процесса есть корректное начало, все нужные действия достижимы, а каждый путь приходит к допустимому завершению или явно ожидает событие. Последовательные потоки не должны перескакивать между пулами; взаимодействие участников показывают сообщениями. Для каждого шлюза проверяют условия исходящих ветвей, их полноту и соответствие типу шлюза, а для параллельных ветвей возможность корректного объединения. Роли и ответственность должны совпадать с реальным процессом. После формальной проверки диаграмму проходят на конкретных примерах, включая ошибки, таймауты и отмену, вместе с владельцем процесса.


Когда в BPMN нужен событийный шлюз?

Событийный шлюз нужен, когда после него процесс ждёт одно из нескольких альтернативных событий, например сообщение клиента или истечение таймера. Побеждает первое наступившее событие, остальные ожидающие ветви отменяются. Исходящие ветви должны вести к catching event или receive task и не задаются обычными условиями данных. Exclusive gateway выбирает ветвь сразу по уже известным данным, поэтому это другой механизм. Типичный пример: ждать подтверждение оплаты не больше 15 минут, затем продолжить по сообщению либо по таймауту. Важно проверить, что каждый допустимый исход имеет продолжение.


Когда использовать фрагмент opt на sequence diagram?

Фрагмент opt показывает одну условную последовательность: она выполняется, только если истинно guard-условие, например [товар есть на складе]. Если условие ложно, взаимодействие внутри фрагмента пропускается. Когда нужно показать две или больше взаимоисключающих ветвей, используют alt, а не несколько несвязанных opt, если они создают ложное впечатление независимости. Guard пишут как понятное бизнес-условие, а рамкой охватывают только участвующие сообщения и lifeline. Мелкие очевидные проверки лучше не добавлять: диаграмма должна объяснять взаимодействие, а не повторять каждую строку алгоритма.


Как показать цикл на диаграмме последовательности?

Повторяющуюся последовательность помещают в combined fragment loop. В guard указывают условие или диапазон повторений, например [для каждого элемента] или [пока статус pending], а рамка показывает, какие сообщения входят в итерацию. Нужно обозначить, кто меняет условие завершения, иначе диаграмма допускает бесконечный цикл. Если внутри много ветвей и деталей, лучше вынести повторяемое взаимодействие в отдельную диаграмму или ref, оставив на верхнем уровне цель цикла. Sequence diagram показывает обмен сообщениями, поэтому сложный алгоритм цикла удобнее описать текстом или activity diagram.

Собеседования: Системный анализ

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

Эти вопросы встречались нам на реальных собеседованиях в 2025 году. Мы регулярно проходим собеседования и пополняем подборку новыми вопросами. Основы профессии и ключевые технологии остаются востребованными годами, а детали конкретных инструментов и версий стоит сверять с текущей документацией.

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: Системный аналитик, Бизнес-системный аналитик. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.