Системный аналитик

Материал из tswiki
Версия от 19:56, 25 марта 2025; Tsarev (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску




Процесс собеседования и оценки кандидатов[править]

Эта статья описывает процесс просмотра резюме, проведения интервью и оценки кандидатов на позиции системных аналитиков (SA). Она включает SLA, структуру интервью, примеры задач и ключевые вопросы.

SLA (Соглашения об уровне обслуживания)[править]

  • **Ответ на резюме**:
 - Для резюме, поступивших до 16:00 — день в день.
 - Для резюме, поступивших после 16:00 — до 15:00 на следующий рабочий день.
  • **Обратная связь по итогам интервью**: день в день.

Кто проводит ревью резюме и собеседования[править]

- Просмотр резюме и проведение интервью входит в обязанности лида SA команды. - По желанию могут привлекаться middle+/senior SA, которые хотят развиваться в роли лидера.

Когда проводим интервью[править]

- Интервью проводятся в 15:00 в рабочие дни. - Продолжительность стандартного интервью для потенциально сильного кандидата: 1–1,5 часа. - Если кандидат не соответствует требованиям, интервью может быть завершено досрочно.

Моральная подготовка кандидата[править]

Кандидат должен быть готов:

  • Подключиться к интервью с компьютера (не с телефона).
  • Выполнять практические задания, включая шаринг экрана.

Структура интервью[править]

1. Рассказ о стриме[править]

Краткий рассказ (3–5 минут):

  • Бизнес-домен: описание стрима, бизнес-сервисов и разделение на команды.
  • Технологии: верхнеуровневое описание технологий, способов интеграций и каналов.
  • Методология: Agile (ПроПро), процесс работы аналитика в команде.
  • Задачи аналитика: типы задач и их сложность.

2. Рассказ кандидата о релевантном опыте[править]

  • Опыт последних нескольких лет, связанный с задачами аналитика стрима.
  • Актуальный и релевантный опыт.
  • Обязанности и функциональность, которые выполнял кандидат.
  • Взаимодействие с заказчиками, пользователями и командой.
  • Совмещение ролей на проекте (например, выполнение роли не только SA).
    • Красные флаги**:
  • Неграмотная, непоследовательная или неструктурированная речь.
  • Обобщенные ответы без конкретики.
  • Отсутствие примеров для подтверждения навыков.

3. Теоретические вопросы[править]

Фундаментальные компетенции[править]

  • Основные понятия в области информационных систем.
  • Методология системного анализа и системное мышление.
  • Объектно-ориентированный подход.
  • Паттерны проектирования (*для senior-уровня*).

Логические задачи[править]

  • [Задача 1: Логика (бар)](#Задача_1)
  • [Задача 2: Логика (Форд Боярд)](#Задача_2)
  • [Задача 3: Логика (Рыбаки)](#Задача_3)
  • [Задача 4: Логика (Банки)](#Задача_4)
  • [Задача 5: Логика (Фальшивая монета)](#Задача_5)

4. Методологии и технологии разработки[править]

  • Основные модели управления разработкой ПО (водопадные, итерационные).
  • Гибкие методологии (Agile, Scrum, Kanban).
  • Различия между Kanban и Scrum.
  • Этапы разработки ПО.
  • Различия между бизнес-анализом и системным анализом.

5. Работа с требованиями[править]

  • Виды требований: функциональные и нефункциональные.
  • Источники требований, способы и инструменты сбора.
  • Трассировка и приоритизация требований.
  • DoR, DoD, INVEST.
  • Критерии качества требований.

6. Моделирование процессов и систем[править]

  • Основы UML (диаграммы классов, вариантов использования, состояний, активностей, последовательностей).
  • Моделирование процессов в нотации BPMN.
  • Особенности реализации web, desktop и мобильных приложений.

7. Архитектурные практики[править]

  • Фундаментальные стили архитектуры (клиент-серверная, монолитная, распределенная).
  • DDD, Event Driven.
  • Моделирование архитектуры с помощью C4 Model.

8. Хранение и обработка данных[править]

  • Концептуальная, логическая и физическая модели данных.
  • Типы баз данных: реляционные, объектно-реляционные, нереляционные.
  • Нормализация и денормализация.
  • SQL-задачи ([SQL. Задача 1](#SQL_Задача_1), [SQL. Задача 2](#SQL_Задача_2), [SQL. Задача 3](#SQL_Задача_3)).

9. Интеграционные решения[править]

  • Основные протоколы (TCP/IP, HTTP, HTTPS).
  • Различия между stateless и stateful приложениями.
  • REST vs SOAP.
  • AsyncAPI и принципы асинхронного взаимодействия.

10. Информационная безопасность[править]

  • Идентификация, аутентификация и авторизация.
  • Хеширование и его применение.
  • Симметричное и асимметричное шифрование.

Логические задачи[править]

Задача 1: Логика (бар)[править]

Четыре аналитика заходят в бар. Бармен спрашивает: «Что пить будете: пиво или колу?» - А1: Мне пиво, но если остальные будут колу, то колу. - А2: Мне колу, но если остальные будут пиво, то пиво. - А3: Не знаю. - А4: Не все будут одно и то же.

Сколько пива должен принести бармен?

Задача 2: Логика (Форд Боярд)[править]

Вы стоите перед двумя дверьми. За одной — клад, за другой — поражение. Перед дверьми два надзирателя: один всегда лжет, второй говорит правду. Можно задать только один вопрос. Как определить, где клад?

Задача 3: Логика (Рыбаки)[править]

Три рыбака поймали неопределенное количество рыбы. Каждый из них ночью поделил рыбу на три части, выкинул лишнюю и забрал свою часть. Сколько изначально было рыбы?

Задача 4: Логика (Банки)[править]

Перед вами три банки: с песком, галькой и их смесью. Названия перепутаны. Можно открыть только одну банку. Как определить содержимое всех банок?

Задача 5: Логика (Фальшивая монета)[править]

У вас есть 12 монет, одна из которых фальшивая. Как найти её за три взвешивания?

SQL-задачи[править]

SQL. Задача 1[править]

Выведите `first_name`, `last_name` и `gender` из таблицы `patients`, где `gender = 'M'`.

SQL. Задача 2[править]

Выведите уникальные города для пациентов, проживающих в провинции `'NS'`.

SQL. Задача 3[править]

Выведите `patient_id` и общее количество госпитализаций для пациента с `patient_id = 579`.

Дополнительные материалы[править]