test Flashcards

(32 cards)

1
Q

Как ты начал работать системным аналитиком?

A

Вообще всё началось ещё в театре, где я работал. Мы как-то начали автоматизировать работу через AmoCRM — заявки, расписания, финансы. И вот пока я этим занимался, понял, что мне реально нравится разбираться, где узкое место, как упростить работу и что можно улучшить с точки зрения логики. Начал изучать системный анализ, втянулся — и стало понятно, что это именно то, что мне по душе.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Почему выбрал именно системный анализ? Чем он понравился?

A

Потому что здесь сочетается логика, структура и работа с людьми. Мне всегда нравилось копаться в процессах, искать слабые места, улучшать. А в системном анализе как раз всё это есть: ты и с бизнесом общаешься, и с разработкой, и думаешь, как всё связать. Это очень живое и интересное направление.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Где получал знания и навыки по системному анализу?

A

Я прошёл обучение на GeekBrains по аналитике данных, брал курсы по SQL на LearnDB, смотрел видео на YouTube, использовал ChatGPT и другие ИИ для практики. Когда стал разбираться глубже, начал читать методологии, книги, разбирать кейсы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Где ты работал системным аналитиком?

A

В театральной студии «Постскриптум», в которой я раньше был замдиректора. Мы как раз запустили внутренний IT-проект, где я выступал системным аналитиком. Всё начиналось с инициативы, а потом уже выделили команду, разработчиков и начали делать полноценную систему StageManager.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Кто работал с тобой в команде? Как взаимодействовал с командой и как распределялись задачи?

A

Команда была небольшая, но слаженная: тимлид, ПМ, бэкендер, фронтендер и я как аналитик. На грумингах я презентовал требования и схемы, мы вместе обсуждали задачи. ПМ декомпозировал их и распределял. С разработчиками часто общался напрямую — объяснял логику, интерфейсы, детали API. Делали стендапы каждый день, чтобы держать всех в курсе.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что ты делал на работе? Конкретно, по пунктам

A

— Собирал и документировал требования
— Описывал бизнес-процессы AS-IS и TO-BE
— Проектировал интерфейсы (Figma, Balsamiq)
— Делал диаграммы BPMN, UML
— Описывал API, составлял спецификации
— Создавал задачи в Jira и сопровождал их
— Проверял результат, участвовал в демонстрациях заказчику

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что был за проект? Какое ПО разрабатывали?

A

Мы делали внутреннее веб-приложение StageManager — расширение AmoCRM. Это была система для управления клиентами, расписанием, педагогами, оплатами и аналитикой. Под театр — специфики было много, поэтому готовое решение не подошло. Делали кастом, который в будущем можно будет масштабировать на франшизу.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Расскажи подробно про функционал ПО: что можно в нем делать и какие функции оно выполняет?

A

Основные функции:
— Автоматическая обработка заявок из CRM
— Автонапоминания об оплате через SMS, Telegram, WhatsApp
— Гибкое расписание занятий
— Отчёты по педагогам, аналитика retention
— Дашборды по посещаемости, оплатам, вовлечённости
— Управление группами, договорами и платежами

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

. Из чего состояла архитектура и как взаимодействовали компоненты?

A

Клиент-серверная архитектура. Основа — монолит на Django, фронт на React. Отдельно выносили микросервисы: уведомления, аналитика, платежи. Между собой — REST API и RabbitMQ для очередей. Вся интеграция — по JSON. Данные шли от фронта в бэк, оттуда — в микросервисы и обратно. Надёжно, гибко и масштабируемо.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Какие ещё виды архитектуры тебе знакомы?

A

Монолитная, микросервисная, событийно-ориентированная (Event-driven), клиент-серверная, трёхзвенная (3-tier), серверless. На практике сталкивался в основном с клиент-серверной и микросервисной, но по теории знаю и другие подходы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

В чем отличие микросервисной архитектуры и монолитной? Что лучше и почему?

A

Монолит — всё в одном. Просто разрабатывать сначала, но сложно масштабировать. Микросервисы — каждый компонент отдельно. Можно обновлять частями, проще масштабировать. Лучше — зависит от задачи. Мы начали с монолита, но выносили микросервисы по мере роста нагрузки.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Что такое API?

A

API — это интерфейс для взаимодействия между системами. По сути, набор правил, по которым одна программа может обращаться к другой. Мы использовали REST API — через него фронт и микросервисы общались с бэком, плюс были внешние API (AmoCRM, ЮKassa и др.).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q
  1. Какие ещё есть способы интеграции?
A

Кроме REST API:
— SOAP (XML, используется в более старых системах)
— Webhooks (событийная модель)
— GraphQL (гибкий запрос нужных данных)
— Очереди (RabbitMQ, Kafka)
— Прямой доступ к БД (редко, но бывает)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Что такое User Story? А Use Case? Примеры

A

User Story — сценарий от лица пользователя: «Как менеджер, я хочу получать уведомления, чтобы не забывать про клиента».
Use Case — более детальное описание: шаги, альтернативы. Например, «Регистрация клиента»: форма > CRM > уведомление менеджеру.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Что такое UML? Какие UML-диаграммы знаешь? Какие составлял, по каким процессам?

A

UML — универсальный язык моделирования. Я использовал:
— Диаграммы прецедентов (Use Case)
— Диаграммы последовательности
— Диаграммы состояний
— Диаграммы классов
Например, Use Case — для расписания, последовательности — для отправки уведомлений, классов — для базы данных.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Для каких процессов составлял схему бизнес-процесса в BPMN?

A

Описывал процессы регистрации клиента, оплаты занятий, составления расписания. Использовал элементы: участники, задачи, шлюзы, события. Строил схемы AS IS и TO BE. Это помогало команде и заказчику видеть, что меняется и зачем.

17
Q

Чем отличается схема бизнес-процесса BPMN от диаграммы последовательности UML?

A

BPMN — это про бизнес-процессы: кто что делает, в каком порядке, какие роли участвуют. UML-последовательности — это техническое взаимодействие между объектами. BPMN — выше по уровню абстракции, UML — ближе к реализации.

18
Q

Какая была база данных? Что там хранилось?

A

PostgreSQL — реляционная. Там были таблицы пользователей, заявок, платежей, групп, посещаемости, расписания. Также отдельные базы для микросервисов. Хранили личные данные, статусы заявок, финансы, роли и т.д.

19
Q

Чем реляционная база данных отличается от нереляционной?

A

Реляционная — таблицы, связи (например, PostgreSQL, MySQL). Хорошо для чёткой структуры. Нереляционная — JSON-документы, графы (MongoDB и др.) — гибче, но хуже для сложных связей. Мы использовали реляционную из-за логики и надёжности.

20
Q

Что такое нормализация?

A

Это процесс структурирования данных так, чтобы убрать дубли, обеспечить целостность и упростить сопровождение. Есть нормальные формы (1НФ, 2НФ, 3НФ и т.д.). Например, вынос связанной информации в отдельные таблицы (учитель — отдельно, курсы — отдельно).

21
Q
  1. Зачем использовал SQL?
A

Для анализа данных, отчётов, проверки связей в таблицах. Примеры: подсчёт студентов на преподавателя, анализ платежей, выгрузка по группам. Использовал SELECT, JOIN, WHERE, агрегаты и оконные функции.

22
Q

Чем JOIN-ы отличаются?

A

JOIN — объединяет таблицы. Бывают:
— INNER: только пересечения
— LEFT: всё из левой, + что нашлось справа
— RIGHT: наоборот
— FULL: всё отовсюду. Зависит от задачи.

23
Q

. Зачем использовал JSON/XML?

A

JSON — основной формат обмена. Использовали в API, при отправке данных между фронтом, бэком и микросервисами. XML не применяли — он устаревший и громоздкий. JSON легче читается и лучше поддерживается на фронте.

24
Q

Расскажи про одну-две интеграции

A

Интеграция с Telegram API: по триггеру система отправляла сообщение о занятии. JSON-запрос включал chat_id и текст. Отправка шла через POST.
Интеграция с ЮKassa: по REST API создавался платёж. Возвращался статус, ID, дата. Мы сохраняли это в таблицу Payments.

25
Как ты тестировал API?
Через Postman. Подставлял тестовые данные, запускал запросы, смотрел ответы. Проверял коды (200, 400, 500 и т.д.). При ошибках — баг-репорт, если всё ок — документировал результат.
26
Какие есть коды ответов?
200 — ОК, 201 — создано, 400 — ошибка клиента, 401 — не авторизован, 403 — запрещено, 404 — не найдено, 500 — ошибка сервера.
27
Какие есть методы в REST? Что такое идемпотентность?
GET — получить, POST — создать, PUT/PATCH — обновить, DELETE — удалить. Идемпотентные: GET, PUT, DELETE — повтор не меняет результат. POST — не идемпотентен.
28
Чем отличается Postman от Swagger?
Postman — для ручного тестирования. Swagger — для описания API и автогенерации документации. Мы использовали оба — Swagger для спецификаций, Postman для проверок.
29
Как ты писал требования по интеграции?
Описывал endpoint, метод, тело запроса, формат ответа, коды статусов. Пример: POST /sendMessage с параметрами. Уточнял, откуда берутся данные и как обрабатываются ответы.
30
Чем отличается REST от SOAP?
REST — легковесный, использует JSON, HTTP. SOAP — тяжёлый, XML, больше стандартов. REST проще, гибче, поэтому и выбрали его.
31
Какая была методология разработки?
Scrum. Спринты по 2 недели, ежедневные стендапы, груминги, планирования, ретроспектива. Чёткий ритм, постоянная коммуникация.
32
Чем Scrum отличается от Waterfall?
Scrum — итерации, обратная связь, гибкость. Waterfall — всё поэтапно, строго последовательно. В Scrum можно быстро вносить изменения, в Waterfall — почти невозможно.