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

Как пройти техническое собеседование на системного аналитика в любой компании (сборник вопросов)

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

Я проходил технические собеседования на системного аналитика в самых разных компаниях и каждый раз записывал все вопросы. У меня накопилось 120 вопросов. Список вопросов выкладываю в этой статье. Даю гарантию, что, подготовившись по этим вопросам, вы будете успешно проходить технические собеседования в большинстве, если не во всех, it-компаниях. Почему? Потому что большинство вопросов повторяются от собеседования к собеседованию. Очень высока вероятность того, что вопросы, которые вам будут задавать, будут из этого списка.

Про форматы технических собеседований

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

Встречаются собеседования, которые проходят вообще без теоретических вопросов – спрашивают только про твой опыт – что ты делал на проектах. Это самые простые собеседования.

Другая крайность – «соковыжималка» – часовое или 1,5-часовое собеседование с огромным количеством теоретических вопросов по всем темам. Очень похоже на тестирование. Выжимают все соки. Вопросы из нескольких таких «соковыжималок» тоже попали в мой список.

Что делать, когда вы не знаете ответ на вопрос

Техническое собеседование выглядит как экзамен, но на самом деле, это не экзамен. Если вам задают вопрос, на который вы не знаете ответа, не тушуйтесь, смело говорите – не знаю, не сталкивался с этой темой. Да вы и не обязаны знать всё, о чем вас спрашивают. Задача собеседующего понять, где вы сильны, а где слабы. Это нормально, что вы чего-то не знаете. Ваша спокойная реакция на сложный вопрос – это уже хороший ответ!

Первое правило успешного прохождения технического собеседования - подготовка

Главное – подготовка. Нужно повторить все темы, по которым вас могут спрашивать. Как это сделать? Просто нужно знать, на какие темы чаще всего задают вопросы (см. ниже). И повторить эти темы, читая статьи на Хабре.

Вот эти темы:

  • Требования (виды требований, работа с требованиями, форматы use case и user story);

  • Нотации UML и BPMN;

  • SQL и базы данных;

  • Интеграции (REST, SOAP, XML, XSD, брокеры сообщений, микросервисы и пр.);

  • Методологии разработки ПО

После каждого собеседования записывайте вопросы и повторяйте их к следующему собеседованию. Вы увидите, что многие вопросы (и даже задачи) повторяются.

Самый популярный технический вопрос

Абсолютный лидер среди всех технических вопросов: «Что такое REST и чем REST отличается от SOAP?»

Найдите статьи на Хабре на эту тему и будьте готовы к этому вопросу!! Этот вопрос задают почти на каждом собеседовании. А тема интеграций – это тема номер один на собеседованиях.

А вот несколько самых популярных общих вопросов.

«Расскажите про рабочий процесс на последнем вашем проекте»

Один из самых частых вопросов - когда тебя просят рассказать, как на твоей работе был построен рабочий процесс. Вот тут может возникнуть желание приукрасить, особенно если ваш эджайл совсем не эджайл. Этого делать не надо – нужно рассказывать именно так, как все было на самом деле, со всеми недостатками рабочего процесса (а у кого их нет?). Нужна реальная, а не приукрашенная картина.

«Расскажите, что содержится в вашей типовой постановке задач для разработчика»

Тоже один из самых частых вопросов. Лучше всего заранее вспомнить какие-то примеры из своей практики.

Вопросы и задачи на знание SQL

Знания SQL проверяют очень часто. Это могут быть устные вопросы на знания SQL. Или показывают модель данных и просят написать sql-запрос в онлайн-чате или выполнить sql запрос в специальной программе на тестовой базе данных. Для изучения (повторения) SQL можете использовать отличные онлайн-тесты на https://www.sql-ex.ru/. Уровень этих тестов выше, чем задачи на собеседованиях.

Вопросы на реальных технических собеседованиях на должность системного аналитика

(частые вопросы выделены жирным шрифтом)

I Общие вопросы

1.       Почему вы меняете работу?
2.       Расскажите о себе и своем опыте.
3.       Расскажите, что вы делали как аналитик.
4.       Какую работу вы ищете?
5.       Что вы хотите получить от новой работы?
6.       Что вам нравится делать как аналитику и что не нравится?
7.       Какими достижениями в своей работе вы гордитесь?
8.       Как вы относитесь к переработкам?
9.       Опишите своего идеального руководителя.
10.   Опишите идеальную для вас команду.
11.   Что самое сложное было для вас в работе?
12.   Расскажите о своей самой сложной/важной работе за последние полгода.
13.   Кем вы себя видите через 2 года? Через 5 лет?
14.   Были ли у вас провалы?
15.   Были ли у вас конфликты с коллегами и как вы их решали?
16.   Как решались технические разногласия в команде?
17.   Какую последнюю книгу вы прочли?
18.   Чем вы любите заниматься?
19.   Приходилось ли вам работать со сложным заказчиком и как вы улаживали разногласия?
20.   У вас есть портфолио аналитика? Пришлите что-нибудь из вашего портфолио.

II Требования

21.   Какие группы требований вы знаете?
22.   Что входит в нефункциональные требования?
23.   Каким критериям должны соответствовать требования?
24.   Вам аналитик принес список требований. Как вы их оцените?
25.   Приходилось ли вам писать Use cases? Как пишутся Use cases?
26.   Приходилось ли вам писать User story?
27.   Вы продаете кофейные аппараты. Я заказчик.  Какие вопросы вы зададите потенциальному заказчику, который хочет купить кофейный аппарат в офис? (заказчик при этом на все вопросы отвечает «не знаю»)
28.   С какими группами заинтересованных лиц вы общались?

III Нотации UML и BPMN

29.   Какими нотациями вы владеете?
30.   Какими UML диаграммами вы пользуетесь?
31.   Нарисуйте диаграмму последовательности для процесса, когда пользователь через веб-форму отправляет запросы в rest-сервис для получения данных.
32.   Что такое диаграмма последовательности? (Что описывает диаграмма последовательности?)
33.   Составьте схему BPMN для процесса, описывающего работу банкомата (устно)
34.   Какие бывают Gateway в BPMN?
35.   Какие элементы BPMN вы знаете?

IV SQL и базы данных

36.   Приходилось ли вам писать sql-запросы? Для чего?
37.   Зачем нужны индексы в таблицах БД?
38.   Знакомы ли вы с нормализацией баз данных?
39.   Задача на нормализацию таблиц базы данных. Дают две таблицы с некоторыми полями. Что в них не так и почему? Как исправить?
40.   Какие виды JOIN запросов вы знаете?
41.   Задача sql. Дают таблицы. Напишите SELECT с такими-то условиями запроса (задача на JOIN).
42.   Задача sql. Дают таблицы. Напишите SELECT с такими-то условиями запроса (задача на GROUP BY).
43.   Даются следующие три операции SQL. Какой будет результат?

TRUNCATE TABLE;
ROLLBACK;
SELECT * FROM TABLE;

44.   Чем TRANCATE отличается от DELETE?
45.   Дается SQL запрос. Назовите все ошибки в синтаксисе, которые вы видите.
46.   Назовите все способы в SQL выбрать данные из первой таблицы, которых нет во второй таблице (NOT IN, NOT EXISTS и др).
47.   Что такое транзакция?
48.   Какими свойствами должна обладать транзакция? (ACID)
49.   Чем отличается UNION от UNION ALL?
50.   Какие типы JOIN вы знаете? Чем LEFT JOIN отличается от FULL JOIN ?
51.   Можете назвать три первые формы нормализации?
52.   Что такое первичный ключ? Каким свойством обладает первичный ключ? Что такое внешний ключ?
53.   Что такое поисковые пути в базах данных?
54.   Какие бывают представления в БД?
55.   Для чего используется HAVING в SQL?

V Интеграция

56.   Что такое XSD?
57.   Что содержится в XML?
58.   Чем sequence отличается от choice в XSD?
59.   Приходилось ли вам писать XSD?
60.   Что такое пространство имен в XML?
61.   Какими программами вы работали с XML?
62.   Что такое WSDL?
63.   Чем SOAP отличается от REST?
64.   Из чего состоит сообщение в SOAP?
65.   Что содержит HEADER в ответе REST?
66.   Чем отличается ошибка 200 от 201?
67.   Какие методы REST вы знаете?
68.   Чем POST отличается от GET?
69.   Чем PUT отличается от PATCH?
70.   Приходилось ли вам писать JSON? С помощью чего вы писали JSON?
71.   Напишите пример rest-API для книжной библиотеки (напишите методы, эндпоинты и пример JSON).
72.   Что содержит URL в REST запросе?
73.   Как проверить, что сообщение брокера получено в полном объеме?
74.   Знаете ли вы CAP-теорему?
75.   Что такое stateless и stateful, если говорить про сервисы? Rest – это какие сервисы? Что значит stateless сервисы?
76.   Что такое идемпотентность? Почем это важно?
77.   DELETE – идемпотентный метод?
78.   Приходилось ли вам проектировать взаимодействие информационных систем?
79.   Что такое корпоративная шина? Приходилось ли работать с корпоративной шиной?
80.   Чем корпоративная шина отличается от ETL – инструмента?
81.   Чем брокер сообщений отличается от корпоративной шины?
82.   К корпоративной шине подключены веб-сервисы. В одном веб-сервисе появились два новых обязательных поля. Что изменится в интеграции?
83.   Есть некий UI, нужно написать к нему веб-сервис. Опишите вашу постановку – что в ней будет.
84.   Что такое синхронные и асинхронные вызовы?
85.   Приходилось ли вам работать с брокерами сообщений?
86.   Для чего вы использовали брокер сообщений?
87.   Как брокер сообщений гарантирует доставку сообщений?
88.   Чем Kafka отличается от RabbitMQ?
89.   Есть две системы. Назовите все способы интеграции этих систем.
90.   Какие виды/способы интеграции вы знаете?
91.   Клиент читает в Kafka два последних сообщения. Как тому же клиенту заново
прочитать эти два последние сообщения?
92.   Приходилось ли вам проектировать API в нотации OpenAPI/Swagger?
93.   Опишите все способы снизить нагрузку на вебсервис.
94.   Есть четыре системы, участвующие в последовательном исполнении заказа клиента на выдачу карты: форма заявки на выдачу карты, скоринг, печать карты, логистика. Опишите, как вы их интегрируете между собой.
95.   Знакомы ли вы с микросервисами?
96.   Что такое Хореография и Оркестрация?
97.   Какие достоинства и недостатки микросервисов вы знаете?
98.   Расскажите про токен-авторизацию в микросервисах.

VI Методологии разработки ПО

99.   Чем Kanban отличается от Scrum?
100.                      В каких методологиях вам приходилось работать?
101.                      Какие методологии разработки программного обеспечения вы знаете?
102.                      Опишите процесс работы, который был принят на вашем проекте.

VII Прочие вопросы

103.                      Чем авторизация отличается от аутентификации?
104.                      Знакомы ли вы с электронными подписями? Как они работают?
105.                      Что такое sftp?
106.                      Как работает https?
107.                      Есть карандаши, фломастеры и ручки. Опишите для них примеры классов (наименования, атрибуты, методы).
108.                      Приходилось ли вам работать с AsciiDoc или MarkDown разметкой?
109.                      Опишите, что обычно содержится  в вашей постановке для разработчиков?
110.                      Чем бизнес-аналитик отличается от системного аналитика?
111.                      Чем ГОСТ 19 отличается от ГОСТ 34?
112.                      Приходилось ли вам писать спецификации?
113.                      Какие документы по ГОСТУ вы писали?
114.                      Что такое анализ, синтез?
115.                      Что такое уровень абстракции?
116.                      Приходилось ли вам самому тестировать ПО?
117.                      Что можете рассказать про хеширование?
118.                      Какие способы разграничения доступа вы знаете?
119.                      Задача: опишите типовые составные части АИС, не входящие в основной функционал (какие подсистемы АИС есть в большинстве АИС).
120.                      С какими языками программирования знакомы? Сможете прочитать и разобрать код, написанный на Java?

И несколько заметок о текущем рынке труда

Теперь поговорим о спросе и предложении на рынке аналитиков. После того как вы успешно пройдете техническое собеседование и продемонстрируете высокий уровень знаний, ваша цена как специалиста вырастет в глазах нанимателя. Можно подумать и о повышении зарплаты, не правда ли?

Спрос на аналитиков сейчас (в 2021) очень высок. Только с одного hh.ru на резюме приходит до 20-30 приглашений на собеседования в день (Senior analyst, з/п свыше 200 т.р., Москва). Рекрутеры буквально упрашивают прийти к ним на собеседование. Все это говорит о том, что это уже не рынок покупателя, а рынок продавца. Дефицит кадров. Соответственно растут и офферы. (Диапазон широк – на должность ведущего аналитика предлагают з/п от 200 до 300 net, в зависимости от компании).

Если рекрутеры в разговоре спрашивают вас, каков ваш «комфортный уровень зарплаты» – это намек на то, что вы указали в резюме зарплату ниже рынка (или компания готова предложить вам заметно выше). Можете смело поднимать ценник.

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

Если вам показалось, что интересный вам оффер недостаточно высок – не стесняйтесь просить больше, компании охотно идут навстречу опытным специалистам. Аналитики нужны всем.

Дорогие коллеги, я поделился с вами этой базой вопросов потому что считаю, что она может быть полезна многим (как тем, кто проходит, так и тем, кто проводит собеседования). Взамен небольшая просьба. Добавляйте, пожалуйста, вопросы и задачи с собеседований в комментарии. Пусть эта статья постоянно обогащается новыми интересными вопросами и темами. Это будет стимулировать аналитиков больше читать, изучать, развиваться и находить лучшую в мире работу.

Теги:
Хабы:
+26
Комментарии 39
Комментарии Комментарии 39

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн