сеньорчикОткрыть в Telegram
← все вопросывопросы для собеседований · Архитектура

Архитектура на собеседовании системного аналитика

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

60 вопросов в банке·5 подтем·ниже разбор 9

Что спрашивают

Из чего состоит тема

Так тема разложена в тренажёре: движок ведёт прогресс по каждой подтеме отдельно и возвращает те, где вы ошибаетесь.

Разборы подтем

Конспект по каждой: что это, как отвечать вслух, на чём валятся, плюс вопросы для самопроверки.

Примеры вопросов с разбором

  1. #ana_arc_api_design1 / 9
    Зачем в интерфейс закладывают версионирование?
    A)Чтобы отслеживать статистику вызовов
    B)Чтобы ускорить обработку запросов
    C)Чтобы менять контракт, не ломая клиентов
    D)Чтобы разделить права доступа потребителей
    показать ответ и разбор
    +C)Чтобы менять контракт, не ломая клиентов

    // разбор: Версия даёт возможность выпустить несовместимое изменение и дать потребителям время на переход: старая версия работает, новая доступна параллельно. Без этого любое изменение контракта становится согласованной операцией со всеми клиентами сразу, что при десятке потребителей нереализуемо.

  2. #ana_arc_cache2 / 9
    Что такое время жизни записи в кэше (TTL)?
    A)Срок, после которого запись устарела
    B)Время получения данных из источника
    C)Максимальный размер хранимого значения
    D)Период полной очистки всего кэша
    показать ответ и разбор
    +A)Срок, после которого запись устарела

    // разбор: TTL задаёт, сколько запись считается годной: по истечении срока следующий запрос идёт к источнику. Выбор значения — это прямой размен между нагрузкой и свежестью, и он должен опираться на бизнес-требование, а не на привычку поставить пять минут.

  3. #ana_arc_consistency3 / 9
    Что означает отложенная согласованность?
    A)Данные сойдутся спустя некоторое время
    B)Данные останутся разными до перезапуска
    C)Обновление применяется по расписанию ночью
    D)Часть данных теряется при передаче
    показать ответ и разбор
    +A)Данные сойдутся спустя некоторое время

    // разбор: При отложенной согласованности реплики и подписчики догоняют источник не мгновенно: сразу после записи чтение из копии может вернуть старое значение. Со временем расхождение исчезает. Практический вывод для требований — нужно проговорить, где такое отставание допустимо, а где недопустимо.

  4. #ana_arc_resilience4 / 9
    Что такое деградация функциональности?
    A)Постепенное снижение скорости со временем
    B)Работа в урезанном режиме при отказе
    C)Ухудшение качества кода при доработках
    D)Плановое отключение системы на обслуживание
    показать ответ и разбор
    +B)Работа в урезанном режиме при отказе

    // разбор: Вместо полного отказа система продолжает делать главное: недоступен сервис рекомендаций — показываем каталог без персональной подборки. Для аналитика это конкретная работа: перечислить, что считается главным, а без чего можно временно обойтись, и как об этом сообщить пользователю.

  5. #ana_arc_styles5 / 9
    Какую цену платят за переход на микросервисы?
    A)Рост сложности эксплуатации и отладки
    B)Обязательный отказ от синхронных вызовов
    C)Отказ от реляционных баз данных
    D)Потерю возможности горизонтального масштабирования
    показать ответ и разбор
    +A)Рост сложности эксплуатации и отладки

    // разбор: То, что в монолите было вызовом функции, становится сетевым запросом: появляются таймауты, повторы, частичные отказы. Нужны распределённая трассировка, отдельные конвейеры выпуска, согласование контрактов между командами. Для небольшой системы эти издержки перевешивают выгоду.

  6. #ana_arc_api_design6 / 9
    Клиенту нужны данные из трёх сервисов на одном экране. Что обычно предлагают?
    A)Клиент делает три запроса и сшивает сам
    B)Сервисы пишут данные в общую таблицу
    C)Шлюз или агрегирующий сервис
    D)Прямое соединение к базам сервисов
    показать ответ и разбор
    +C)Шлюз или агрегирующий сервис

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

  7. #ana_arc_cache7 / 9
    Что аналитик обязан выяснить у бизнеса, вводя кэш на данные о ценах?
    A)Какой объём памяти выделить под кэш
    B)Какое отставание цены допустимо
    C)Какой продукт кэширования выбрать
    D)Как часто перезапускается сервис
    показать ответ и разбор
    +B)Какое отставание цены допустимо

    // разбор: Ответ на этот вопрос определяет всё остальное. Если цена может отставать на час — задача тривиальна. Если расхождение недопустимо даже на минуту, потому что клиент увидит одну цену, а спишется другая, придётся сбрасывать кэш по событию изменения цены, и это совсем другая по сложности работа.

  8. #ana_arc_consistency8 / 9
    Пользователь изменил профиль и сразу видит старые данные. Какова вероятная причина?
    A)Ошибка в проверке прав доступа
    B)Чтение ушло в отстающую реплику
    C)Транзакция не была зафиксирована
    D)Неверно настроен часовой пояс
    показать ответ и разбор
    +B)Чтение ушло в отстающую реплику

    // разбор: Классический эффект разделения записи и чтения: запись ушла в основной узел, а следующий запрос на чтение балансировщик отправил в реплику, которая ещё не получила изменение. Лечится чтением своих записей с основного узла в течение короткого окна после изменения.

  9. #ana_arc_resilience9 / 9
    Внешний сервис проверки контрагента недоступен. Какое поведение стоит описать?
    A)Показывать пустую страницу до восстановления
    B)Пропускать проверку молча и продолжать
    C)Явное правило: блокировать или пометить
    D)Повторять запрос бесконечно до успеха
    показать ответ и разбор
    +C)Явное правило: блокировать или пометить

    // разбор: Это бизнес-решение, а не техническое: можно ли работать с контрагентом без проверки. Ответ зависит от риска — где-то операцию блокируют, где-то пропускают и помечают на последующий разбор. Главное, чтобы правило было явным и пользователь понимал, в каком состоянии находится его заявка.

это 9 из 60

Ещё 51 вопросов по теме — в тренажёре, с движком повторения

Прочитать разбор и ответить самому — разные навыки. В Сеньорчике вопросы идут сессиями, а движок возвращает подтемы, где вы ошибаетесь, пока они не начнут отскакивать. Бесплатно, лимит по энергии.

Частые вопросы