ar
Feedback
BA & SA | 10000 Interview questions

BA & SA | 10000 Interview questions

الذهاب إلى القناة على Telegram

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

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام 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