Подготовка к интервью

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

1765 вопросов 1634 компании 353 технологии

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме
Сбросить

Каталог

Результаты поиска

Найдено: 1765
System Design

В чём проблема такого решения (коммит после ответа внешнего REST-сервиса)?

Commit после REST-ответа не делает внешний вызов и локальное изменение атомарными. Внешняя операция могла завершиться, а локальная транзакция — упасть; timeout также не доказывает отказ.

Читать ответ
Поведенческий

У вас микросервисная архитектура — аннотацию писали в одном конкретном сервисе или на весь проект? Как распространяли решение?

Объясните, где была определена аннотация и какая логика её обрабатывала. Аннотация в одном микросервисе сама по себе не распространяется на другие процессы.

Читать ответ
System Design

Как организовать транзакцию между двумя микросервисами? Что такое Saga и как она работает?

Saga разбивает общий бизнес-процесс на локальные транзакции сервисов. При ошибке выполняются предусмотренные компенсации, а не общий rollback всех баз данных.

Читать ответ
Поведенческий

Расскажите о микросервисной архитектуре в системе дистанционного банковского обслуживания: как она была устроена и какие были основные вызовы?

Опишите реальные границы сервисов ДБО, взаимодействия и свой участок. Вызовы могут касаться согласованности операций, интеграций, безопасности и эксплуатации; конкретику подтверждайте опытом.

Читать ответ
Поведенческий

Знаете аналог у нас — систему «Сбермок», платформу для эмуляции исполнения интеграций (REST, MQ, Kafka) для банка?

Если не работали со «Сбермоком», так и скажите и уточните его роль. По описанию это платформа эмуляции интеграций; знакомство с WireMock или тестовыми брокерами может быть релевантным, но не тождественным.

Читать ответ
Теория

Если у нас есть внешний API, который разрешает максимум 10 одновременных подключений, какой класс из пакета java.util.concurrent ты бы использовал, чтобы ограничить число параллельных вызовов?

Подойдёт общий Semaphore с 10 permits: каждый вызов захватывает разрешение и освобождает его после завершения. Это ограничение параллельности, а не числа запросов в секунду.

Читать ответ
System Design

Почему нельзя было просто масштабировать синхронные API, добавить экземпляры приложения или мощности БД вместо Kafka?

Kafka позволяет отделить приём от обработки и сгладить пики долговечной очередью. Масштабирование синхронного API не создаёт такую гарантию и может усилить давление на ограниченную БД.

Читать ответ
Поведенческий

[имя] спросил: какие подходы к построению архитектуры использовал на практике? Паттерны микросервисов знаешь?

Назовите подходы, которые применяли, и объясните задачу каждого: слоистая или hexagonal архитектура, модульный монолит, микросервисы, event-driven. Знание паттерна лучше показать конкретным решением.

Читать ответ
Лайвкодинг

REST-метод с аутентификацией через Spring Security. Нужно запустить обработку в отдельном потоке, вернуть OK, но сохранить SecurityContext для использования в потоке

Используйте DelegatingSecurityContextExecutor или DelegatingSecurityContextRunnable: они переносят текущий SecurityContext в задачу и очищают его после выполнения. Обычный ThreadLocal сам в пул не переносится.

Читать ответ
Поведенческий

Ты переносил REST-взаимодействие на Kafka?

Опишите реальный перенос и главное изменение контракта: синхронный ответ заменяется асинхронным процессом с состоянием, корреляцией и обработкой повторов. Это не просто замена HTTP-клиента producer-ом.

Читать ответ
System Design

В чём проблема того, что вы вызываете REST прямо из Kafka consumer?

REST-вызов внутри consumer связывает скорость Kafka-обработки с доступностью внешнего сервиса. Медленный вызов блокирует обработку partition, накапливает lag и может вызвать rebalance при превышении poll-интервала.

Читать ответ