ТОП-50 вопросов системному аналитику на собеседовании
Всем привет! Я проходил собеседования на системного аналитика в разных компаниях с декабря 2022 до 2024 и на сегодняшний момент, каждую неделю по одному разу и каждый раз записывал все вопросы. Компании были не только российские, но и расположенные в самых разных регионах Европы, Азии и запада. Я собрал ТОП-50 вопросов технического собеседования. Вероятность что вам на всех собеседованиях попадутся именно эти вопросы очень сильна и я уверен что подготовившись на эти вопросы вам точно дадут оффер большинство, если не все компании.
P.S - Вопросы телефонного и первых этапов собеседования тут не включены, только вопросы технического собеседования
Требования
- Какие методы получения и сбора информации вы знаете?
- Какие виды требований вы знаете?
- Что входит в функциональные требования?
- Что входит в нефункциональные требования?
- ГОСТ 19 и 34 для чего нужны и в чем разница между ними?
- Критерии требований
- Use cases - это что и как пишутся?
- User stories - это что и как пишутся?
- Заинтересованные лица (стейкхолдеры) - кто это и как с ними взаимодействовать?
- Что содержится в вашей типовой постановке задач для разработчика
Процесс разработки
- Расскажите про процесс разработки, который был принят на вашем прошлом месте работы
- Чем Kanban отличается от Scrum?
- Где можно применять Scrum и где нельзя?
Интеграции и проектирование
- Что такое XSD?
- Чем SOAP отличается от REST?
- Что такое XML и что в нем содержится?
- Какие методы есть в REST
- Напишите пример rest-API для книжной библиотеки на JSON
- Что содержит URL в REST запросе?
- Что такое WSDL?
Понимание работы основных протоколов и способов взаимодействия систем (REST, GRPC, брокеры сообщений);
- Чем POST отличается от GET?
- Что такое идемпотентность?
- Что такое брокеры сообщений?
- Проектировали взаимодействие информационных систем?
- Какие виды и способы интеграций вы знаете?
- Чем Kafka отличается от RabbitMQ?
- Чем отличается ошибка 200 от 201?
- Что такое корпоративная шина?
- К корпоративной шине подключены веб-сервисы. В одном веб-сервисе появились два новых обязательных поля. Что изменится в интеграции?
- Чем брокер сообщений отличается от корпоративной шины?
- Назовите все способы снизить нагрузку на веб-сервис.
- Приходилось ли вам проектировать API в нотации OpenAPI/Swagger?
- Что такое клиент-сервер и микросервисы?
- Какими UML диаграммами вы пользуетесь?
- Что такое диаграмма последовательности?
- Какие элементы BPMN вы знаете?
- Опишите работу банкомата в BPMN
- Что такое Хореография и Оркестрация?
SQL и Базы данных
- Как привести данные в форму: что такое нормализация и зачем она нужна?
- Писали ли вы SQL запросы и для чего?
- Можете ли писать сложные запросы?
- Зачем нужны индексы в таблицах БД?
- JOIN запросы, что это и какими бывают?
- Что такое первичный ключ и какими свойствами обладает?
- Поисковые пути в БД это?
Другие вопросы
- Как работает https?
- Что такое FTP?
- Что такое SFTP
Чем отличаются синхронное и асинхронное взаимодействия?
- Чем авторизация отличается от аутентификации?
- Что такое СЭД и как они работают?
Что такое синхронное и асинхронное шифрование?
- Какие уровни протоколов знаете?
- Какие UX принципы вы знаете?
Чаще всего требования к кандидатам следующие (помимо опыта работы в определенном домене):
- Основная деятельность: сбор, анализ и документирование требований к ПО на техническом языке. Сопутствующее общение с заказчиками и проектной командой, изучение предметной области, участие в проектировании решений, проверка реализованного функционала на соответствие требованиям, участие в показах.
- Требуемые hard skills: навыки разработки технической документации (BRD, SRS), опыт работы с различными СУБД, уверенные знания SQL, проектирование модели данных, знание нотаций UML, BPMN, знание различных методов интеграции систем, понимание принципов проектирования REST API, опыт работы с SOAP, понимание особенностей форматов обмена данными JSON/XML.
- Требуемые soft skills: коммуникабельность, способность находить общий язык и с разработкой, и с бизнесом, аналитическое мышление, умение работать в условиях недостатка информации, адаптивность к изменениям, проактивность и ответственность за конечный результат.