Как стать автором
Обновить

Как подготовиться к собеседованию на позицию системного аналитика. ТОП-5 тем

Время на прочтение7 мин
Количество просмотров119K

Представьте, что вам предстоит собеседование на позицию системного аналитика (СА). Что нужно знать для успешного прохождения интервью и какие вопросы могут задать? Эта статья может стать roadmap при подготовке к собеседованию.

Кто такой системный аналитик

Для начала, давайте обозначим границы, чтобы понимать для кого эти темы и вопросы актуальны. Границы роли системного аналитика далеко не всегда четко обозначены. От компании к компании я встречаю совершенно разные интерпретации должностных обязанностей таких специалистов. Однако, большинство компаний, занимающихся веб- и мобильной разработкой близки в своем понимании роли СА и требованиях к кандидатам.

Чаще всего требования к кандидатам следующие (помимо опыта работы в определенном домене):

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

  • Требуемые hard skills: навыки разработки технической документации (BRD, SRS), опыт работы с различными СУБД, уверенные знания SQL, проектирование модели данных, знание нотаций UML, BPMN, знание различных методов интеграции систем, понимание принципов проектирования REST API, опыт работы с SOAP, понимание особенностей форматов обмена данными JSON/XML.

  • Требуемые soft skills: коммуникабельность, способность находить общий язык и с разработкой, и с бизнесом, аналитическое мышление, умение работать в условиях недостатка информации, адаптивность к изменениям, проактивность и ответственность за конечный результат.

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

За последний год на позиции тимлида группы системных аналитиков я провела немало собеседований. Но не менее ценным опытом считаю личные собеседования на позицию СА в других компаниях, в ходе которых я выявила для себя ТОП-5 тем с возможными вопросами, которые повторялись практически на каждом интервью. Во избежание читерства я не буду давать ответы, но оставлю ссылки на ресурсы, изучив которые вы с легкостью ответите на все вопросы.

Сразу уточню, что далеко не все вопросы встретятся у вас на собеседовании одновременно. Но если вы претендуете на высокую позицию и пройдете N собеседований, то с большой долей вероятности встретите все эти вопросы на своем пути. Также хочу отметить, что для аналитиков разного уровня требуется разная детализация ответов. Если вы junior/pre-middle, то обычно достаточно поверхностного ответа на приведенные примеры вопросов, чтобы интервьюер понял, что вы сталкивались с темой или хоть чуть-чуть в этом разбирались.

ТОП тем

Требования к ПО

Тема очень важная, я бы даже сказала основополагающая, но при этом достаточно холиварная. Потому что обилие информации провоцирует ее разночтения. Чаще всего интервьюеры ожидают услышать ответы на основании модели, представленной в книге К. Вигерса и Д. Битти "Разработка требований к ПО". Поэтому не лишним будет заранее подготовить примеры по уровням требований (бизнес-требования, пользовательские и функциональные).

Возможные вопросы:

  • Что такое требование к ПО?

  • Какие виды требований вы знаете?

  • Чем отличаются бизнес-требования от функциональных?

  • Чем отличаются функциональные требования от нефункциональных?

  • Чем отличаются пользовательские требования от функциональных?

  • Привести примеры каждого из требований или классифицировать предложенные требования.

  • Какие критерии качества требований вы знаете?

Для компаний, где роль СА объединена с БА (бизнес-аналитиком). Сюда же могут попасть вопросы про выявление требований: основные техники сбора требований, управление стейкхолдерами (заинтересованными сторонами), выбор стратегии работы со стейкхолдерами и тп.

Ресурсы для изучения:

Ответы на все вопросы есть в замечательной книге К. Вигерса и Д. Битти «Разработка требований к ПО». Книга, на мой взгляд, обязательна к прочтению каждому СА. Но если вам все-таки лень читать 716 страниц достаточно сложного к восприятию текста, то вот список ресурсов, где хорошо описаны ответы на вопросы выше:

Процесс разработки ПО

В основном тут достаточно рассказывать про свой опыт и про то, как организован процесс разработки на текущем месте работы. Но будет плюсом, если вы покажете эрудицию, рассказав про разные методологии и их использование.

Возможные вопросы:

  • Какие методологии вы знаете? Работали ли вы по Agile/Waterfall или любой другой методологии.

  • Расскажите про жизненный цикл разработки проекта: этапы, роли, артефакты.

  • Какую роль выполняет системный аналитик в проектах разработки ПО?

  • Какие обязанности закреплены за вами на вашем текущем месте работы?

Ресурсы для изучения:

Документация к системе и другие артефакты деятельности аналитика

Опять же, как и в предыдущем блоке в основном вопросы про ваш опыт, чтобы оценить насколько он релевантен тому, что вам предстоит делать.

Возможные вопросы:

  • Какую документацию вы пишете на текущем месте работы?

  • Что вы описываете в ТЗ на разработку?

  • Насколько детально вы описываете то, что требуется реализовать? Бизнесовым или техническим языком?

  • Какие артефакты остаются в итоге вашей работы и для чего они используются в дальнейшем?

  • Был ли опыт работы с ГОСТом 34/19?

  • Кто ставит задачи на разработку? В описании постановок на разработку придерживаетесь ли вы какого-то определенного формата? Какой уровень детализации ваших постановок?

Ресурсы для изучения:

Проектирование решения

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

Возможные вопросы:

  • Участвуете ли вы в проектировании решения? Если да, то каким образом?

  • Вопросы про работу с базами данных:

    • Что такое БД? Какие бывают БД (речь про классификацию по модели данных)? С какими БД работали?

    • Что такое СУБД? Основные функции СУБД? С какими СУБД работали? Какие клиенты для работы с СУБД использовали?

    • Чем отличаются SQL и NoSQL БД?

    • Что лежит в основе реляционных БД?

    • С какими нереляционными БД работали?

    • Какие типы ограничений в реляционных БД знаете (constraints)?

    • Что такое нормализация? Зачем она нужна?

    • Какие нормальные формы (НФ) вы знаете? Решить кейс с нормализацией данных.

    • Что такое ER-модель?

    • Умеете ли вы строить ER-диаграмму? Какие нотации знаете?

    • Есть ли у вас опыт проектирования БД?

    • Могут попросить спроектировать концептуальную/логическую модель данных для некоторой предметной области.

  • Есть ли у вас опыт написания запросов на SQL? Уровень запросов? Далее уточняющие вопросы по уровню знаний SQL:

    • Какие подмножества SQL вы знаете? (речь идет про DDL, DQL, DML и DCL). Расшифровать аббревиатуры и привести примеры операторов для каждого подмножества.

    • Рассказать про самые популярные операторы, зачастую это:

      • JOIN

      • UNION

      • ORDER BY

      • GROUP BY

      • HAVING

      • Различные агрегатные функции

    • Могут попросить написать простенький запрос или же рассказать про логику построения запроса для какого-то кейса.

    • Работали ли вы с индексами? Что это и для чего они нужны? Вопрос для знатоков, но на паре собеседований он у меня встречался. Важно для вакансий, где особое внимание уделено работе с БД.

  • Какие нотации моделирования бизнес-процессов знаете (зачастую подразумевается BPMN и UML)?

  • СА все таки чаще используют UML. Соответственно вопросы такие:

    • Какие диаграммы вы использовали в своей работе?

    • Для чего используют диаграмму деятельности (Activity diagram)/диаграмму состояний (Statechart diagram)/диаграмму вариантов использования (UseCase diagram)/диаграмму последовательности (Sequence diagram)?

    • Описывали ли вы варианты использования в табличном формате?

Ресурсы для изучения:

Интеграции

С этой темой надо быть аккуратнее. Есть ситуации, когда лучше сказать хоть что-то чем не сказать ничего, но здесь работает ровно противоположное. Если вы не уверены в том, что достаточно разбираетесь в теме, лучше не утверждать ничего, что вызовет дополнительные вопросы на понимание.

Возможные вопросы:

  • Какие способы интеграции систем вы знаете?

  • Чем отличаются синхронное и асинхронное взаимодействия?

  • Что знаете про очереди сообщений? Для чего их используют?

  • Проектировали ли вы API? Каким образом описывали спецификации?

  • Тестировали ли вы сами API? Какое ПО использовали?

  • HTTP:

    • Какие основные HTTP методы знаете?

    • Расскажите про HTTP сообщения. Какую структуру имеет запрос? Какую структуру имеет ответ? Какие коды состояния (status code) знаете и что они означают?

    • Чем отличается POST от PUT от PATCH?

    • Что знаете про концепцию CRUD?

    • Что такое JSON? Для чего используется?

  • REST:

    • Что такое REST?

    • Какие основные принципы REST знаете?

  • SOAP:

    • Что такое SOAP? В каком формате передаются сообщения?

    • Какая структура у сообщения SOAP?

    • Работали ли с XML? Что это? 

    • Что такое XSD? Проектировали ли вы XSD схемы?

    • Для чего используется XSLT? Приходилось ли вам писать XSLT преобразование?

Ресурсы для изучения:

Важно понимать

Мало знания теории по той или иной теме, нужны и навыки практического применения этих знаний. Важно уметь погружаться в предметную область, раскапывать все до мелочей, анализировать добытую информацию и делать на основе нее корректные и полезные выводы. Любое развитие предполагает решение задач по выбранной тематике и наработку опыта. Поэтому изучайте реальные кейсы, пытайтесь продумать как бы вы решали подобные задачи, анализируйте чужой опыт, старайтесь найти альтернативные пути, узкие места, потенциальные ошибки в знакомых вам системах, ищите общее в подходах к проектированию систем. В общем, тренируйте свою “нейросеть” мыслить аналитически :)

На мой взгляд, сейчас идеальное время для вхождения в профессию и развития в ней. Рынок предлагает огромное число вакансий для аналитиков с очень достойной оплатой труда и возможностью удаленной работы (к слову, для тех, кто находится в поиске – у нас в компании вакансий тоже много).

А какие из вопросов встречались на собеседовании у вас? Возможно какие-то вопросы вам кажутся неуместными для СА?

Иллюстрации: Михаил Голев

Теги:
Хабы:
Всего голосов 5: ↑4 и ↓1+6
Комментарии12

Публикации

Информация

Сайт
rtlabs.ru
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия

Истории