Опишите архитектуру предыдущего проекта: микросервисы, паттерны взаимодействия, деплой в OpenShift и Kubernetes
Что проверяют
Отличаете ли вы микросервисы от распределённого монолита и трогали ли руками кластер, а не только пайплайн. Вопрос составной, и слабое место обычно вторая половина: про паттерны взаимодействия рассказывают все, про поведение приложения в контейнере почти никто.
Как отвечать
Границы сервисов объясните через владение данными: у каждого своя схема, чужое берётся запросом или приходит событием. Синхронный обмен там, где ответ нужен немедленно: REST на границе, gRPC внутри, если важны контракт и задержка. Брокер там, где нужна развязка и возможность переиграть поток.
Отдельно скажите про согласованность без распределённой транзакции: исходящие сообщения через таблицу отправки в той же транзакции, сага для длинных процессов, ключ идемпотентности на повторы. Устойчивость: таймаут на каждом клиенте, повтор с растущей паузой и случайным разбросом, размыкатель цепи.
Kubernetes разбирайте предметно: пробы готовности и живости через актуатор, корректное завершение с дренированием запросов, лимиты памяти и поведение JVM в контейнере, где безопаснее задавать долю от лимита, а не жёсткий предел. Про OpenShift назовите то, что отличает его от ванильного кластера: маршруты вместо входного контроллера, сборка образов внутри платформы, строгие политики запуска, из-за которых контейнер стартует под непредсказуемым идентификатором пользователя, а образ не должен требовать прав root и писать куда попало.
Где спотыкаются
Называют архитектуру микросервисной, а описывают общую базу на все сервисы и синхронную цепочку вызовов. Вопрос «можно ли выкатить один сервис отдельно» ставит точку.
Второе: повторы без идемпотентности. Ответ потерялся по таймауту, клиент повторил, заказ создался дважды. Нужны ключ запроса и проверка на стороне приёмника.
Третье: про кластер говорят названиями инструментов. Чем готовность отличается от живости, почему контейнер убивают по превышению памяти и отчего сервис недоступен первые секунды после выката, ответа не находится.