Тесты для системного аналитика: подготовка к собеседованию
На собеседовании системного аналитика редко просят пересказать определение. Спрашивают, как вы соберёте требования у заказчика, опишете интеграцию двух систем и покажете её на диаграмме. Отдельно смотрят, задаёте ли вы уточняющие вопросы, когда требования звучат противоречиво.
На Proanalytics.tech собрано 1 517 вопросов с объяснением каждого ответа, 120 тем и 13 курсов, включая «API и интеграции» и «Брокеры сообщений». Бесплатная диагностика из 20 вопросов покажет ваш уровень, а вводная тема любого курса открыта без регистрации — можно спокойно посмотреть, как устроены разборы.
Начните с бесплатной диагностики из 20 вопросов: она покажет, какие темы по API и проектированию стоит подтянуть до первого собеседования.
Тест для системного аналитика: 20 вопросов бесплатно
Двадцать вопросов: восемь про базу, восемь про работу с интеграциями и данными, четыре про сложные случаи. Отвечайте без подсказок — после каждого ответа будет разбор, в конце увидите результат по уровням.
-
Заказчик говорит: «Нужно, чтобы отчёт был удобным и понятным». Что сделаете первым делом?
Разбор
«Удобно» нельзя проверить, пока не понятно решение и сценарий. Вопросы «кто, когда, что решает» превращают пожелание в условие, которое можно принять. -
Где фиксируют договорённости по требованиям, чтобы вернуться к ним через месяц?
Разбор
Документ с версией и датой — единственное место, где видно, о чём договорились именно на этом этапе. Переписку и комментарии через месяц не восстановить. -
Что показывает диаграмма последовательностей?
Разбор
Диаграмма последовательностей отвечает на вопрос «кто кому что отправил и в каком порядке». Состав таблиц показывает модель данных, а процесс — BPMN. -
Какой код ответа вернёт сервис, если новый объект успешно создан?
Разбор
201 Created — стандартный ответ на успешное создание. 204 означает «сделано, но в ответе нечего показать», 302 — перенаправление. -
Что описывает первичный ключ таблицы?
Разбор
Первичный ключ уникален и не пуст: по нему всегда находится ровно одна строка. Связь с другой таблицей описывает внешний ключ. -
Нужно найти дубли в таблице orders по номеру заказа. Какой запрос напишете?
Разбор
GROUP BY собирает строки по номеру, COUNT(*) считает повторы, HAVING оставляет только те номера, где строк больше одной. DISTINCT показывает уникальные номера, но не говорит, какие из них задублированы. -
Зачем на проекте рисуют схему процесса в BPMN?
Разбор
BPMN показывает, как процесс идёт в жизни: кто выполняет шаг, где развилка, что происходит при отказе. Оценку сроков и текст требований схема не заменяет. -
Требование звучит так: «Интеграция должна работать быстро». Как превратить его в проверяемое?
Разбор
Проверяемое требование отвечает на три вопроса: сколько, при какой нагрузке и для какой доли запросов. Без нагрузки цифра ничего не значит: при десяти запросах в секунду её выполнит почти любой сервис. -
Что даёт ключ идемпотентности в запросе на создание заявки?
Разбор
Клиент присылает уникальный ключ, сервис помнит его и на повторный запрос отдаёт тот же результат. Так обрыв связи и повторная отправка не превращаются в две заявки. -
Список заказов листается по offset, и при быстром появлении новых записей заказы повторяются на соседних страницах. Что предложите?
Разбор
При offset база отсчитывает строки заново на каждом запросе, и вставка сдвигает границы. Курсор фиксирует место в отсортированном списке, поэтому строки не повторяются и не пропадают. -
Чем топик отличается от очереди в брокере сообщений?
Разбор
Очередь делит поток работы между потребителями: каждое сообщение достаётся одному. Топик раздаёт копию каждому подписчику — так одно событие обрабатывают несколько сервисов. -
Брокер гарантирует доставку «хотя бы один раз». Что должно уметь приложение?
Разбор
«Хотя бы один раз» означает, что копии возможны. Приложение либо проверяет идентификатор сообщения, либо делает обработку повторяемой — иначе одно событие превратится в два списания. -
Что убирает приведение таблицы к третьей нормальной форме?
Разбор
Третья нормальная форма убирает транзитивные зависимости: когда город берут из таблицы клиентов по индексу, а он тянет за собой регион. Повторяющиеся группы в ячейке — это про первую форму. -
В таблице платежей внешний ключ на пользователей задан с ON DELETE RESTRICT. Что произойдёт при попытке удалить пользователя, у которого есть платежи?
Разбор
RESTRICT запрещает удаление, пока есть связанные строки. CASCADE удалил бы платежи вместе с пользователем, SET NULL обнулил бы ссылку. -
В требованиях записано: «Время отклика не больше 2 секунд». Чего в записи не хватает?
Разбор
Без «95 % запросов при такой-то нагрузке» цифру нельзя ни проверить, ни оспорить. Средняя по больнице скрывает медленные запросы, из-за которых люди и уходят. -
Почему права доступа выдают роли, а не отдельному человеку?
Разбор
Когда права живут в роли, новому сотруднику достаточно назначить роль, а при уходе — снять её. Личные исключения со временем превращаются в набор, который никто не помнит. -
Операцию затрагивают два сервиса со своими базами. Почему выбирают сагу, а не двухфазную фиксацию?
Разбор
Двухфазная фиксация держит блокировки и падает, когда один из участников недоступен. Сага идёт шагами, а при сбое откатывает уже сделанное компенсирующими действиями — но данные какое-то время рассогласованы. -
Отчёт по таблице на 50 млн строк работает 20 минут. С чего начнёте разбор?
Разбор
План запроса показывает, где время: полный перебор, сортировка, соединение. Индексы «на всё» замедляют запись и занимают место, а память не помогает, если дело в переборе строк. -
Две системы считают одно и то же поле по-разному, и в отчётах цифры не сходятся. Как снять конфликт?
Разбор
Пока у поля нет владельца и зафиксированного правила, расхождения будут возвращаться. Контракт с версией нужен, чтобы изменение расчёта не ломало вторую систему молча. -
Как убедиться, что новая интеграция выдержит рост нагрузки?
Разбор
Запас по железу не отвечает на вопрос, где предел. Нагрузочный профиль на похожих данных показывает первое узкое место: очередь, соединения, время ответа внешнего сервиса.
Регистрация для теста не нужна, результат нигде не сохраняется. Если захотите посмотреть, что ещё спрашивают, — начните с бесплатной диагностики из 20 вопросов: она покажет уровень по всем курсам сразу.
Что спрашивают у системного аналитика
- Сбор и согласование требований: как вы отделяете пожелание от обязательного требования и где проводите границу задачи.
- Документы: техническое задание, спецификация требований, сценарии использования, процессные схемы в BPMN и диаграммы последовательностей в UML.
- API и интеграции: REST и SOAP, форматы JSON и XML, коды ответов, пагинация, идемпотентность, повторная отправка запроса.
- Брокеры сообщений: очереди и топики, гарантии доставки, порядок сообщений, что делать с «зависшими» сообщениями в очереди.
- Проектирование и чтение схем: сущности, связи, ключи, нормализация, простые SQL-запросы для проверки гипотез о поведении системы.
- Требования к работе системы: нагрузка, время отклика, отказоустойчивость, логирование, разграничение прав доступа.
- Разбор кейса: «на проде интеграция отдаёт ошибку» — как локализуете причину, что предложите изменить и как проверите результат.