en
Feedback
BA & SA | 10000 Interview questions

BA & SA | 10000 Interview questions

Open in Telegram

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

Show more

📈 Analytical overview of Telegram channel BA & SA | 10000 Interview questions

Channel BA & SA | 10000 Interview questions (@systemanalystinterview) in the Russian language segment is an active participant. Currently, the community unites 10 210 subscribers, ranking 3 873 in the Career category and 64 191 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 10 210 subscribers.

According to the latest data from 15 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 301 over the last 30 days and by -1 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 3.19%. Within the first 24 hours after publication, content typically collects 2.35% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 326 views. Within the first day, a publication typically gains 240 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 3.
  • Thematic interests: Content is focused on key topics such as объяснение, индекс, user_id, субд, паттерн.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
Вопросы и задачи, которые задают на собеседованиях на позицию Бизнес и Системного аналитика. По вопросам сотрудничества- @DeliveryManager7

Thanks to the high frequency of updates (latest data received on 16 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Career category.

10 210
Subscribers
-124 hours
+1267 days
+30130 days
Attracting Subscribers
June '26
June '26
+237
in 0 channels
May '26
+587
in 0 channels
Get PRO
April '26
+468
in 0 channels
Get PRO
March '26
+645
in 0 channels
Get PRO
February '26
+849
in 0 channels
Get PRO
January '26
+863
in 0 channels
Get PRO
December '25
+586
in 0 channels
Get PRO
November '25
+532
in 7 channels
Get PRO
October '25
+505
in 1 channels
Get PRO
September '25
+490
in 0 channels
Get PRO
August '25
+478
in 0 channels
Get PRO
July '25
+585
in 0 channels
Get PRO
June '25
+294
in 0 channels
Get PRO
May '25
+323
in 0 channels
Get PRO
April '25
+315
in 0 channels
Get PRO
March '25
+444
in 0 channels
Get PRO
February '25
+160
in 0 channels
Get PRO
January '25
+241
in 0 channels
Get PRO
December '24
+307
in 0 channels
Get PRO
November '24
+336
in 0 channels
Get PRO
October '24
+370
in 1 channels
Get PRO
September '24
+355
in 2 channels
Get PRO
August '24
+416
in 0 channels
Get PRO
July '24
+274
in 2 channels
Get PRO
June '24
+154
in 0 channels
Get PRO
May '24
+621
in 5 channels
Get PRO
April '24
+399
in 1 channels
Get PRO
March '24
+655
in 4 channels
Get PRO
February '24
+290
in 0 channels
Get PRO
January '24
+413
in 1 channels
Get PRO
December '23
+127
in 0 channels
Get PRO
November '23
+147
in 0 channels
Get PRO
October '23
+476
in 0 channels
Date
Subscriber Growth
Mentions
Channels
16 June+4
15 June+6
14 June+5
13 June+12
12 June+18
11 June+39
10 June+60
09 June+16
08 June+3
07 June+1
06 June+4
05 June+11
04 June+27
03 June+7
02 June+18
01 June+6
Channel Posts
Сейчас в 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