March 11, 2021

Вопросы для собеседования ВА

Здесь постарался собрать список вопросов, которые задаю во время собеседований Бизнес-аналитиков. Для нас ВА специалист это человек который соберёт требования от заказчика, поймёт их и проанализирует, оценит существующие решения на рынке и затем сделает спецификации (постановки частных ТЗ) для разработчиков. Это объединение бизнес анализа и системного анализа в одну позицию, что не всегда бывает под понятием "Бизнес аналитик".

Список вопросов:

Начальные

  • Расскажите про ваш текущий/последний опыт работы (если опыт менее 2 лет - предыдущие места работы так же, но не глубже чем последние 5 лет).
  • Сколько лет вы уже занимаетесь разработкой ПО? Какие были команды у прошлых проектов/продуктов? (Команды без тестировщиков, команды из 1-2 программистов, команды только аналитиков - плохой показатель, так как формирует определённый опыт, который редко может быть применим в наших проектах. Оптимально - команда из 4-10 разработчиков + тестировщики + дизайнеры)
  • Какие видите перспективы на следующие 2 года? Какую работу хотели бы выполнять? (Ответ чаще всего показывает, насколько человек готов продолжать работать как аналитик - если есть мысли уже перейти в другое русло, то скорее всего это будет проявляться уже сейчас в работе)
  • Какие книги/курсы смотрели в последнее время по аналитике? Как стараетесь развиваться в рамках бизнес анализа? (Отсутствие интереса к развитию не является минусом, но если кандидат читает и смотрит курсы - это плюс)
  • Чем отличается бизнес аналитик от системного аналитика?

Общие вопросы про командную разработку

  • Какие методологии разработки знаете и в каких участвовали? (Хороший ответ - Waterfall и Agile методологии. Указание конкретных методологий Agile, таких как Scrum, Kanban, Lean, XP ... - отличный ответ)
  • Чем отличается Waterfall и Scrum? Какие есть плюсы в разработке по Waterfall? Какие есть минусы при разработке по Scrum?
    • На что влияет длительность спринта в Scrum? В каких случаях лучше выбирать какую длительность спринта?
  • Работали ли вы с тестировщиками? Что такое test-case и для чего нужен? (Отсутствие работы с тестировщиками или тестирование самим ВА не лучший ответ)
  • Работали ли вы с дизайнерами интерфейсов? Есть такое понятие как UX/UI Design - что означает UX? (Правильный ответ - опыт пользователя в работе с приложением. Это улучшение понимаемости пользователем пунктов меню, иконок, оптимальный набор информации на экране и т.д. (юзабилити и дружелюбность интерфейса)
  • С какими трекерами задач работали (Jira, Trello, Redmine, ...)? Какие системы сбора и хранения требований использовали и знаете (Confluence, Wiki, ...)?
  • От кого была изначальная постановка задач - от вас или от Заказчика? (Ответ что ВА сам ищет постоянные точки роста, и сам генерирует идеи и их прорабатывает может говорить об одностороннем опыте. Хороший вариант - был заказчик/заказчики от которых приходили изначальные постановки, а затем аналитик их прорабатывал, согласовывал и передавал в работу)

Вопросы по аналитике

  • Что такое user story (можно своими словами определение)? Приведите простой пример user story (например для калькулятора).
  • Что такое use case? Приведите пример use case (например для калькулятора).
    • Чем use case отличается от test case?
    • Одни из блоков для спецификации/постановки задачи - "definition of done" и "acceptance criteria". Что это за блоки и что в них описывается?
  • Какие нотации для создания диаграмм знаете и используете (BPMN, UDEF0, UML)?
    • Какие базовые элементы будут в любой диаграмме BPMN?
    • Может ли быть два входа у диаграммы BPMN?
    • Каким элементом будет отображаться на схеме если необходимо дождаться определённого события, например, среда 15:00?
    • Какие типы диаграмм UML знаете?
  • Что такое нефункциональные требования? Приведите пример нефункциональных требований (например для калькулятора).
    • Требования по безопасности относятся к функциональным или нефункциональным требованиям?

Технические вопросы

  • Существует такое понятие как "Микро сервисная" архитектура - что это такое? Какие ещё реализации других архитектур знаете?
    • Какие плюсы есть у "Монолита" по сравнению с "Микро сервисной" архитектурой?
  • Есть такое понятие как "клиент-серверное взаимодействие" у ПО. Что такое "клиент" и что такое "сервер"? Какие есть другие варианты реализации ПО кроме "клиент-серверного взаимодействия"?
  • Знаете ли вы RestApi? Какие основные методы RestApi? Чем отличается метод PUT от POST?
  • Что такое XML? Какие есть другие аналоги XML? Когда лучше использовать XML, а когда JSON?
  • Что такое Реляционная БД (своими словами)?
    • Можно ли назвать Excel файл примером реляционной БД?
    • Какие бывают другие базы данных кроме реляционных? Когда лучше использовать (для какой задачи или системы) не реляционную базу данных?
  • Знаете ли язык запроса SQL?
    • Чем отличается "left outer join" от "full outer join" (левое соединение от внешнего соединения)?
    • Какой оператор используется чтобы выбрать неповторяющиеся значения (уникальные)?
  • Что такое транзакция?

Кейс про Библиотеку

Мы компания, которая занимается заказной разработкой ПО. К нам пришёл Генеральный директор сети библиотек, которая состоит из 10 филиалов. В каждом филиале есть свой директор и библиотекари. Сейчас весь учёт выданных и возвращённых книг в библиотеках ведётся в файлах Excel. Библиотеки не связаны общей сетью, но у каждой есть выход в Интернет. Директор хочет получить возможность формировать сводный отчёт по выданным и возвращённым книгам по всем библиотекам за период, например, месяц или квартал.

  • С чего предложите начать как аналитик? (Правильный ответ - со сбора требований. Это может быть как длительная фаза сбора требований, так и собеседование с Генеральным директором. Хороший вариант - задавать уточняющие вопросы по задаче. Плохой вариант - предлагать решения: "Сделаем общую базу в которую будем грузить файлы", "Пусть библиотекари отправляют файлы в общее хранилище на гугл диске" и прочее. Аналитик - это про выявление потребности и анализ вводных)
  • Предположим мы предложили разработать новую систему учёта книг в библиотеке:
    • Какие бизнес процессы стоит заложить в основу системы учёта книг? (Правильный ответ - выдачу и возврат книг, так как вопрос об этом. Хорошие варианты - принятие или поступление книг на склад/библиотеку, списание книг, заведение карточек/абонементов читателей. Плохой ответ - управление ролями пользователей, формирование отчётов, денежные операции, управление безопасностью и т.д.)
    • Какие сущности/объекты стоит завести в первую очередь? (Правильный ответ - книги, читатели, библиотеки. Хороший ответ дополнительно к правильному ответу - пользователей/библиотекарей. Плохой ответ - отсутствие книг или библиотек)
    • Какие атрибуты/реквизиты стоит завести у сущности "книги"? (Правильный ответ - название, автор. Дополнительно хорошими будут - издательство, год выпуска, жанр, идентификатор книги. Плохие ответы - стоимость/цена книги, остатки книги в библиотеке, какой читатель взял, когда была взята)
    • Чем руководствуетесь при определении набора атрибутов/реквизитов у сущности "книги"? (Правильный ответ - необходимостью бизнеса для учёта книг. Хороший вариант - в зависимости от текущей потребности и с учётом будущих возможностей использования в системе учёта. Плохие ответы - все которые сможем использовать, какие назовут библиотекари, все которые есть в каталогах/сборниках книг)
    • Какая будет связь между сущностью "книги" и "авторы"? (Правильный ответ - многие ко многим, то есть у многих книг могут быть многие авторы. Нормальный ответ - один ко многим, и после уточнения "а у книги может быть несколько авторов?" - вариант многие ко многим. Плохой вариант - один к одному, один ко многим даже после уточняющего вопроса)
    • При сборе требований Генеральный директор ссылается на директоров филиалов в качестве источника требований, а те в свою очередь хотят привлечь опытных библиотекарей для этой цели. Если количество людей заинтересованных в формировании требований более 20 человек - как аналитик должен организовать процесс сбора данных? Какие знаете методики или варианты для классификации stakeholder-ов/заказчиков? (Правильный ответ - классификация заказчиков на группы (RACI матрица), определение "лидеров" групп, выявление требований у лидеров и согласование с другими участниками. Плохой ответ - сбор требования у всех заказчиков, собеседование всех заказчиков, "услышать каждого". Время аналитика очень ценно - если он не может его организовать и упорядочить, то станет "бутылочным горлышком" для всей разработки)
    • По итогу сбора требований мы получили ТЗ, отдали его на оценку команде разработки и они дали оценку в 6 месяцев для реализации такого задания. Мы передали оценку Генеральному директору, но он хочет получить систему в 3 месяца вместо 6 месяцев. Что предложите как аналитик? (Правильный ответ - выбрать наиболее важные/основные бизнес процессы и попытаться стартовать с 3 месяцев, и дальнейшей разработкой в последующие месяцы. Хороший вариант - убедить Директора в необходимости именно полной разработки всего проекта за 6 месяцев. Плохие варианты - увеличить команду в 2 раза (увеличение команды не ведёт к существенному увеличению сроков), попытаться уложиться в 3 месяца, взять готовое решение (должны быть предварительная оценка сроков внедрения и применимости решения)