Что такое шина данных и приходилось ли реализовывать интеграцию между системами
Что проверяют
Вопрос из двух половин, и важны обе. Первая проверяет словарь: понимаете ли вы, чем обмен через шину отличается от точечных вызовов между сервисами. Вторая проверяет опыт, поэтому ответ без конкретного случая из практики звучит как пересказ статьи.
Как отвечать
Начните с сути. Шина данных это общий транспорт, через который системы обмениваются сообщениями, не зная друг о друге: отправитель публикует событие, получатели подписываются. Вместо связей каждый с каждым остаётся один контракт на сообщение, и новая система подключается без правок существующих.
Разделите поколения, это ценят. Классическая корпоративная шина держала маршрутизацию, трансформацию и бизнес-правила внутри себя и со временем превращалась в узкое место, которое страшно менять. Современный подход обратный: транспорт простой, логика живёт в сервисах. В мире Java это обычно брокер сообщений или журнал событий, поверх которого работают клиенты и интеграционные фреймворки.
Про опыт отвечайте предметно и коротко: какие системы связывали, какие события ходили, как описывали схему сообщения и как её версионировали, что делали с повторами.
Инженерная часть, которую ждут: доставка как минимум однократная, а значит обработчик обязан быть идемпотентным; ключ сообщения задаёт порядок внутри партиции; вместо бесконечных повторов нужна очередь недоставленных сообщений; событие публикуется в одной транзакции с изменением данных через таблицу исходящих.
Где спотыкаются
Ставят брокер и считают интеграцию сделанной, а схему сообщений держат в переписке. Первое же добавленное поле ломает потребителя, и выясняется это в проде.
Рассказывают про доставку ровно один раз как про настройку. На практике речь о доставке хотя бы раз плюс идемпотентная обработка, и от кандидата ждут именно этой формулировки.
Пишут в базу и отправляют событие двумя независимыми действиями. Падение между ними расходится в данных навсегда, и лечится это публикацией через таблицу исходящих сообщений.