uk
Feedback
BA & SA | 10000 Interview questions

BA & SA | 10000 Interview questions

Відкрити в Telegram

Вопросы и задачи, которые задают на собеседованиях на позицию Бизнес и Системного аналитика. По вопросам сотрудничества- @DeliveryManager7

Показати більше

📈 Аналітичний огляд Telegram-каналу BA & SA | 10000 Interview questions

Канал BA & SA | 10000 Interview questions (@systemanalystinterview) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 10 210 підписників, посідаючи 3 873 місце в категорії Кар'єра та 64 191 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 10 210 підписників.

За останніми даними від 15 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 301, а за останні 24 години на -1, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 3.19%. Протягом перших 24 годин після публікації контент зазвичай збирає 2.35% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 326 переглядів. Протягом першої доби публікація в середньому набирає 240 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 3.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як объяснение, индекс, user_id, субд, паттерн.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
Вопросы и задачи, которые задают на собеседованиях на позицию Бизнес и Системного аналитика. По вопросам сотрудничества- @DeliveryManager7

Завдяки високій частоті оновлень (останні дані отримано 16 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Кар'єра.

10 210
Підписники
-124 години
+1267 днів
+30130 день
Залучення підписників
червень '26
червень '26
+237
в 0 каналах
травень '26
+587
в 0 каналах
Get PRO
квітень '26
+468
в 0 каналах
Get PRO
березень '26
+645
в 0 каналах
Get PRO
лютий '26
+849
в 0 каналах
Get PRO
січень '26
+863
в 0 каналах
Get PRO
грудень '25
+586
в 0 каналах
Get PRO
листопад '25
+532
в 7 каналах
Get PRO
жовтень '25
+505
в 1 каналах
Get PRO
вересень '25
+490
в 0 каналах
Get PRO
серпень '25
+478
в 0 каналах
Get PRO
липень '25
+585
в 0 каналах
Get PRO
червень '25
+294
в 0 каналах
Get PRO
травень '25
+323
в 0 каналах
Get PRO
квітень '25
+315
в 0 каналах
Get PRO
березень '25
+444
в 0 каналах
Get PRO
лютий '25
+160
в 0 каналах
Get PRO
січень '25
+241
в 0 каналах
Get PRO
грудень '24
+307
в 0 каналах
Get PRO
листопад '24
+336
в 0 каналах
Get PRO
жовтень '24
+370
в 1 каналах
Get PRO
вересень '24
+355
в 2 каналах
Get PRO
серпень '24
+416
в 0 каналах
Get PRO
липень '24
+274
в 2 каналах
Get PRO
червень '24
+154
в 0 каналах
Get PRO
травень '24
+621
в 5 каналах
Get PRO
квітень '24
+399
в 1 каналах
Get PRO
березень '24
+655
в 4 каналах
Get PRO
лютий '24
+290
в 0 каналах
Get PRO
січень '24
+413
в 1 каналах
Get PRO
грудень '23
+127
в 0 каналах
Get PRO
листопад '23
+147
в 0 каналах
Get PRO
жовтень '23
+476
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
16 червня+4
15 червня+6
14 червня+5
13 червня+12
12 червня+18
11 червня+39
10 червня+60
09 червня+16
08 червня+3
07 червня+1
06 червня+4
05 червня+11
04 червня+27
03 червня+7
02 червня+18
01 червня+6
Дописи каналу
Сейчас в digital и IT странный момент. Вроде всё то же самое: те же инструменты, те же площадки, те же люди. Но результаты — как будто из разных реальностей. У одних стагнация, у других рост. И это уже не про «лучше настроили рекламу». Это про то, как вообще думают и принимают решения. Кто-то продолжает делать по старым схемам и упирается в потолок, а кто-то пересобирает подход и находит деньги там, где их раньше не видел. Собрали папку по digital и IT как раз про это состояние рынка — без иллюзий, но с пониманием, куда всё двигается и как под это адаптироваться. Сохранить папку себе 🗂

2
☀Объяснение: Проблема с мягким удалением (A): Добавление поля is_deleted и индекса заставляет все запросы на чтение включать условие WHERE is_deleted = false. Даже с индексом 100 млн записей, где 95% – активные, это всё равно сканирует много данных. Кроме того, мягко удалённые записи со временем накапливаются и занимают место. Восстановление работает, но производительность падает. Решение – отдельная архивная таблица (B): Основная таблица orders содержит только активные заказы (без удалённых). При удалении заказ перемещается в таблицу deleted_orders (возможно, в том же или другом физическом хранилище). Фоновый процесс раз в день удаляет из deleted_orders записи старше 30 дней. Восстановление – перенести строку обратно в orders. Преимущества: Основная таблица остаётся маленькой и быстрой. Архивную таблицу можно хранить на более дешёвом и медленном диске, сжатой. Простые запросы (SELECT * FROM orders) не требуют фильтрации по is_deleted. Недостатки: Требуется фоновый процесс перемещения данных (можно реализовать через триггер + job). Если восстанавливать часто, то перемещения туда-обратно могут стать нагрузкой. Почему не подходят другие варианты: C (физическое удаление + резервные копии) – восстановление сложно, требует разворачивания бэкапа. D (партиционирование по дате удаления) – помогает, но не решает проблему накопления «мёртвых» записей в основной таблице. Реальный пример: В сервисе управления заказами Ozon удалённые заказы переносятся в отдельную таблицу, и только последние 30 дней хранятся в горячем архиве. Это позволило сократить размер основной таблицы на 70%. Что должен зафиксировать аналитик: «Удалённые объекты должны храниться отдельно от активных с автоматической очисткой через 30 дней». «Фоновый процесс не должен создавать блокировок в основной таблице». Вывод: Для больших таблиц с функцией восстановления архитектура с отдельной архивной таблицей предпочтительнее мягкого удаления.
285
3
4895. В CRM нужно реализовать «корзину»: удалённые заказы должны восстанавливаться в течение 30 дней, после чего удаляться навсегда. Как спроектировать хранение удалённых заказов без падения производительности основных запросов?
284
4
№4895 категория вопросов: #DBMS
270
5
☀Объяснение: Что такое Canary deployment? Название происходит от практики «канарейки в угольной шахте» (раньше шахтёры брали с собой канарейку – если она падала, значит, есть угарный газ). В IT – это стратегия, при которой новая версия приложения сначала получает маленькую долю трафика (например, 1% пользователей или запросов). Затем команда наблюдает за метриками (ошибки, время отклика). Если всё хорошо, доля постепенно увеличивается (5%, 20%, 50%, 100%). Если возникают проблемы, можно быстро откатить, направив 100% трафика на старую версию. Чем отличается от других стратегий: A (Rolling update) – постепенная замена подов, но трафик распределяется между старыми и новыми подами, а не контролируется на уровне процентного соотношения. C (Blue‑Green) – требует двух полных окружений и мгновенного переключения. Не позволяет постепенно наращивать трафик. D (Shadow deployment) – новая версия получает «теневой» трафик (копию запросов), но не обслуживает реальных пользователей. Хорошо для тестирования под нагрузкой, но не для проверки на реальных пользователях. Реальный пример: Netflix, Google, Amazon используют canary deployment для критических сервисов. Например, новая версия поиска сначала обрабатывает 0.5% запросов, а затем, если метрики в норме, долю увеличивают. Что должен зафиксировать аналитик: Требование: «Выкатка новых версий должна происходить по стратегии канареечного релиза с возможностью контролировать процент трафика». Определить ключевые метрики для автоматического отката (например, увеличение ошибок 500 более чем на 0.1%). Вывод: Canary deployment – идеальный выбор, когда нужно снизить риски, выпуская новую функциональность постепенно.
338
6
4894. Команда хочет выкатить новую версию рекомендательного сервиса, но не уверена в её стабильности. Нужно сначала направить на неё 1% трафика, а если ошибок нет – постепенно увеличивать. Какая стратегия деплоя это позволяет?
300
7
№4894 категория вопросов: #ARCHITECTURE
293
8
⁉️ Устал искать интересные каналы с ИИ новостями? 📁 ДОБАВИТЬ ВСЕ КАНАЛЫ В этой папке собраны каналы про ИИ, которые помогают
⁉️ Устал искать интересные каналы с ИИ новостями? 📁 ДОБАВИТЬ ВСЕ КАНАЛЫ В этой папке собраны каналы про ИИ, которые помогают быстрее разобраться в сфере, находить идеи и экономить время на поиске информации. 😏 ЗАБРАТЬ ПАПКУ МОЖНО ТУТ ⏰ Папка действует 72 часа. 🤩 Организаторы: Green.Papka
363
9
☀Объяснение: Проблема – состояние гонки (race condition): Два процесса одновременно читают value = 5, увеличивают в памяти до 6, затем оба записывают 6. В результате значение станет 6, хотя должно было стать 7 (потерян один инкремент). Решение – атомарный UPDATE: В большинстве реляционных СУБД (PostgreSQL, MySQL, Oracle) оператор UPDATE SET value = value + 1 является атомарным. База данных блокирует строку на время обновления, но не блокирует чтение (за счёт MVCC в PostgreSQL или разных механизмов). При параллельных вызовах второй вызов увидит уже увеличенное значение и корректно увеличит его ещё раз. Почему не подходят другие варианты: A (два отдельных запроса) – не атомарно, гонка неизбежна. C (SELECT ... FOR UPDATE) – да, решает проблему, но блокирует строку даже для чтения другими транзакциями (пессимистическая блокировка). Это может снизить производительность. Атомарный UPDATE обычно быстрее. D (UPSERT) – работает, но тяжеловесно, если гарантированно существует запись. Важно для аналитика: Если нужен атомарный инкремент – используйте один UPDATE. Если нужно прочитать старое значение перед обновлением (например, для логирования), то придётся использовать SELECT ... FOR UPDATE в транзакции. Для высоконагруженных счётчиков (лайки, просмотры) часто используют Redis (атомарный INCR), а периодически синхронизируют с БД. Реальный пример: В счетчике просмотров видео на YouTube используется атомарный UPDATE в базе данных для финальной консистентности, а промежуточные инкременты накапливаются в Redis. Что должен зафиксировать аналитик: «При обновлении счётчика использовать атомарный UPDATE SET field = field + 1 без предварительного чтения». Если нужно получить предыдущее значение – оформить требование на пессимистическую блокировку. Вывод: Простой атомарный UPDATE – самое производительное и надёжное решение для счётчиков без необходимости читать старое значение.
323
10
4893. В таблице counters есть поле value. Два параллельных запроса могут прочитать одно и то же значение, увеличить и записать, что приведёт к потере одного инкремента. Какая SQL-конструкция гарантирует атомарное увеличение без блокировок на чтение?
278
11
№4893 категория вопросов: #DBMS
258
12
☀Объяснение: При эволюции API часто приходится менять названия полей, типы или удалять устаревшие атрибуты. Прямое изменение сломает всех существующих клиентов. Необходимо поддерживать несколько версий одновременно, позволяя клиенту выбирать версию. Способы версионирования: Через URL (/v1/customers, /v2/customers) – самый простой и наглядный. Минус: меняется endpoint, клиентам нужно обновлять код вызовов. Через параметр запроса (?version=2) – менее явно, может кэшироваться некорректно. Через заголовок Accept – стандартный способ для REST, основанный на медиатипах. Клиент указывает желаемую версию в заголовке, например: Accept: application/vnd.myapi.v2+json. Сервер, прочитав заголовок, сериализует ответ в соответствующем формате. Почему B – правильный ответ: Использование Accept соответствует принципам REST (content negotiation). Не засоряет URL, сохраняет единый endpoint. Позволяет гибко комбинировать версию и формат (JSON, XML). Сравнение с другими вариантами: A (параметр ?version) – тоже возможен, но менее чистый с точки зрения REST. C (разные URL) – классический подход, но вопрос явно описывает заголовок как способ указать версию. D (тело запроса) – нестандартно, требует разбора тела до того, как будет понята версия (курица-яйцо). Реальный пример: GitHub API версионирует через заголовок Accept: application/vnd.github.v3+json. Это позволяет им добавлять новые поля, не ломая старых клиентов. Что должен зафиксировать аналитик: В требованиях указать, что API поддерживает версионирование через заголовок Accept. Документировать возможные значения (v1, v2, latest). Определить политику депрекации старых версий. Вывод: Версионирование через заголовок Accept – гибкий и REST-совместимый способ, особенно когда URL должен оставаться стабильным.
288
13
4892. API возвращает поле customer_name. В новой версии поле переименовали в full_name. Чтобы не ломать старых клиентов, сервер должен поддерживать обе версии одновременно. Как клиент может указать, какую версию API он хочет получить?
330
14
№4892 категория вопросов: #INTEGRATION
327
15
Нейросети, IT и AI — в одной папке 💬 С коллегами собрали новые каналы про: 💠 промпты для нейросетей и готовые решения 💠 AI
Нейросети, IT и AI — в одной папке 💬 С коллегами собрали новые каналы про: 💠 промпты для нейросетей и готовые решения 💠 AI-фотосессии, генерация изображений и контента 💠 новости искусственного интеллекта без лишнего шума 💠 применение AI в работе, бизнесе и повседневной жизни 💠 Python, JavaScript, Data Science и системный анализ 💠 вакансии и возможности для специалистов в IT Посмотреть и подписаться тут 👉 https://t.me/addlist/c_rbhnzprbAwMmFi 💌 Добавить свой канал в папку
364
16
☀Объяснение: Blue‑Green deployment – это техника, при которой существуют два идентичных окружения: «синее» (blue, текущая production-версия) и «зелёное» (green, новая версия). Новая версия разворачивается в зелёной среде, пока синяя продолжает обслуживать трафик. Проводятся smoke-тесты зелёной среды. В один момент (атомарно) переключается маршрутизатор (балансировщик, DNS), и весь трафик направляется на зелёную среду. Если возникли проблемы – переключаем обратно на синюю за секунды. Синяя среда сохраняется как резервная, позже удаляется. Почему отсутствует простой: Переключение трафика происходит мгновенно (обновление конфигурации балансировщика или смена DNS-записи). Старые поды не удаляются до переключения, поэтому пользователи не замечают никакого прерывания. Сравнение с другими стратегиями: Rolling update (A) – постепенная замена подов. Может быть почти незаметным, но требует, чтобы приложение было отказоустойчивым к разным версиям одновременно. Риск – простой при ошибке в последней партии. Canary deployment (C) – сначала новая версия получает небольшой процент трафика (например, 1%), что позволяет оценить работу, но для бездымного переключения на 100% также нужен финальный атомарный шаг. A/B тестирование (D) – не про деплой, а про эксперименты. Реальный пример: В Netflix используется Blue‑Green для критических сервисов. Перед переключением проводят полный цикл интеграционного тестирования в зелёной среде. При обнаружении проблем – просто не переключают трафик. Что должен зафиксировать аналитик: Требование: «Критические сервисы должны разворачиваться по стратегии Blue‑Green с нулевым временем простоя». Наличие двух полных окружений (ресурсы могут быть уменьшены на время, но должны быть готовы к переключению). Процедура отката – переключение обратно на blue. Вывод: Blue‑Green deployment – золотой стандарт для систем, где недопустим простой, но требует удвоения ресурсов во время деплоя.
343
17
4891. Команда выпускает новую версию микросервиса, но при обновлении возникает простой 2 минуты, пока старые поды заменяются новыми. Какой стратегией деплоя можно полностью исключить простой и мгновенно переключать трафик между средами?
315
18
№4891 категория вопросов: #ARCHITECTURE
280
19
☀Объяснение: Диаграмма коммуникации (раньше называлась диаграммой кооперации) фокусируется на связях между объектами/компонентами и нумерует сообщения в порядке их передачи. В отличие от диаграммы последовательности, где время течёт вертикально, здесь время показано номерами (1, 1.1, 2 и т.д.), а пространственное расположение отражает топологию связей. Когда что использовать: Диаграмма последовательности – лучше для детального анализа временнóй логики, асинхронных вызовов, параллельных процессов. Но при 10 сервисах она становится громоздкой (много линий времени). Диаграмма коммуникации – компактнее для большого числа участников, хорошо показывает, кто с кем связан, и позволяет быстро пронумеровать вызовы. Отлично подходит для архитектурных обсуждений на доске. Почему B правильный ответ: В задаче важны не временные отрезки (сколько миллисекунд), а порядок вызовов и структура связей. Диаграмма коммуникации помещает все микросервисы на один лист и стрелками с номерами показывает последовательность. Это удобно для презентации архитектуры команде и стейкхолдерам. Реальный пример: В интеграционном проекте с 6 внешними сервисами диаграмма коммуникации помогла выявить циклические зависимости (А → Б → В → А), которые не замечали на диаграмме последовательности. Что должен зафиксировать аналитик: Для описания высокоуровневого потока с большим числом участников использовать диаграмму коммуникации. Для детальной отладки с таймингами – диаграмму последовательности. Вывод: Диаграмма коммуникации незаменима, когда нужно показать упорядоченные взаимодействия между многими участниками, не загромождая временными полосками.
376
20
4890. В системе 10 микросервисов. Нужно показать, как запрос на оформление заказа проходит через них, с указанием порядка вызовов (1, 2, 3…). Какая диаграмма UML лучше подходит, когда важны не временные отрезки, а структура взаимодействия?
337