Вопрос на собеседовании · Системный аналитик

Когда выбрать синхронную, а когда асинхронную интеграцию?

Короткий ответ, ключевые тезисы и ошибки, которых стоит избежать на интервью.

Обновлено 25 сентября 2026 г.базовая тема
Системный аналитикПрофессии и разделы
Короткий ответ

Синхронный вызов подходит, когда инициатору нужен результат для продолжения текущего сценария и зависимость укладывается в общий timeout. Он проще для понимания, но связывает доступность и задержку систем.

Асинхронная интеграция развязывает участников и сглаживает пики, но добавляет eventual consistency, повторы, порядок, дедупликацию и эксплуатацию брокера. Выбор определяется требованиями сценария, а не модой на Kafka.

01 · Структура ответа

Что важно сказать интервьюеру

Раскройте тезисы, которые относятся именно к этому вопросу, и поясните их на собственном примере:

Нужен ответ сейчас — аргумент за sync.
Буферизация и независимость — аргументы за async.
At-least-once требует идемпотентности.
Пользователь должен понимать промежуточное состояние.

02 · Пример

Как объяснить на практике

Проверку доступного лимита перед подтверждением заказа делаю синхронно, а письмо и обновление аналитики публикую событиями после фиксации заказа.

Не заучивайте формулировку дословно. Свяжите принцип с задачей из собственного проекта — интервьюер почти наверняка попросит уточнить детали реализации и компромиссы.

03 · Ошибки

Чего избегать в ответе

Называть async всегда более надёжным.
Игнорировать дубликаты и DLQ.
Строить длинную цепочку синхронных зависимостей без общего deadline.

04 · Углубление

Что могут спросить следом

  1. Что такое eventual consistency?
  2. Как обрабатывать дубликаты?
  3. Когда нужен transactional outbox?

05 · Проверка фактов

Первоисточники по теме

Ссылки ниже помогают проверить понятия, методы и ограничения по теме. Они не являются доказательством того, что этот вопрос задают на каждом собеседовании.

Практика ответа

Ответьте вслух, а не про себя

Откроем тренировку сразу на этом вопросе. Выберите грейд, сформулируйте ответ и сравните его с подсказкой.

Потренировать ответ