Процесс собеседования. Системный анализ
Подобрались к самому вкусному. В рамках интервью блок системного анализа подразумевает проверку технических навыков кандидата. Реалии таковы, что это наиболее важный сегмент, показывающий ваш уровень. К теории подготовиться реально, хоть и немного сложнее, чем в бизнес анализе. А вот практика дастся легко, если уже работали с той или иной технологией. В ином случае, некоторые абстрактные концепции могут вызывать трудности. Глобально, секция системного анализа делится на три темы:
1) Архитектура ПО
2) Веб-сервисы
3) Базы данных
Казалось бы, всего три темы, но, если разбираться, каждую из них можно обсуждать часами. Сегодня рассматриваем исключительно теоретические вопросы, а практику оставим на будущее.
Архитектура ПО. Какие виды архитектуры ПО бывают? Какая разница между монолитами и микросервисами? Какие плюсы и минусы монолитов и микросервисов? Паттерны реализации микросервисной архитектуры?
Чаще всего уделяют внимание именно монолитам и микросервисам, хотя вы всегда можете блеснуть знаниями и рассказать о бессерверной или сервис-ориентированной архитектурах. С другой стороны, если в чем-то не уверен, лучше туда не лезть.
Веб-сервисы. За этой темой кроятся вопросы, затрагивающие интеграцию. Причем от верхнеуровневых, до конкретных. Какие виды интеграции можешь назвать? В чем разница между синхронной и асинхронной интеграциями? Что такое REST и SOAP? В чем разница между ними? Что такое ESB? В чем разница между брокером и ESB? Какие способы аутентификации можешь назвать?
На самом деле, тут копать и копать, можно выдергивать отдельную технологию и рассуждать о ней. Но наиболее часто и глубоко спрашивают про REST. Что такое RESTful принципы? Какие методы HTTP можешь назвать? Какие методы идемпотентны? Какие коды ответов знаешь?
Из интересного, меня однажды спросили: «Почему для реализации чата используется WebSocket, а не gRPC?» Как бы вы ответили на такой вопрос?)
Базы данных. Классика, которую спрашивают, как у бизнес, так и у системных аналитиков. Чаще всего просят решить простенькую задачу на SQL, с использованием JOIN, и агрегатных функций. Если говорить о теории, то я бы выделил следующие вопросы: В чем разница между SQL и noSQL базами данных? Что такое нормализация? Что такое транзакция? Какие способы масштабирования БД можешь назвать?
Если подводить итог, секцию системного анализа не так-то просто пройти с наскока. Нужна предварительная подготовка и понимание концепции взаимодействия систем. С другой стороны, было бы желание, а остальное точно получится.
#база
Post #21
1.31K