Расскажите про техническую реализацию проекта
Что проверяют
Глубину. Это вопрос-плацдарм: дальше интервьюер выберет любое слово из вашего рассказа и начнёт копать, поэтому важно называть только то, что вы готовы защищать. Для Java копают обычно в одни и те же места: границы транзакций, работа с ORM, пулы, кэш, многопоточность, обработка ошибок.
Как отвечать
Дайте контур системы, потом опуститесь в один узел.
- что за система, кто её вызывает, какие есть внешние зависимости;
- модули или сервисы, где связь синхронная, а где через брокер;
- стек конкретно: версия платформы и почему такая, Spring Boot и его стартеры, доступ к данным через JPA или напрямую через JDBC, миграции схемы отдельным инструментом, сборка Maven или Gradle;
- данные: где начинается и заканчивается транзакция, какой уровень изоляции, что делаете с длинными операциями внутри транзакции, как настроен пул соединений;
- надёжность: повторы, идемпотентность, таймауты на внешние вызовы, что происходит при отказе соседа;
- тесты: юнит-тесты, интеграционные на поднятой в контейнере базе, что гоняется в пайплайне.
Потом возьмите одну задачу и разберите её до деталей: почему выбрали такое решение и какую альтернативу отбросили.
Где спотыкаются
Называют громкие вещи, которых не понимают. Прозвучало «у нас микросервисы» или «мы сделали авторизацию по токенам», а объяснить, как проходит запрос и кто проверяет подпись, кандидат не может. Лучше меньше слов, но со смыслом.
Плавают в работе с базой. Не могут сказать, где открывается транзакция, что делает ленивая загрузка за пределами сессии, откуда берётся лавина одинаковых запросов при обходе коллекции. Эти вопросы на Java-собеседованиях звучат почти всегда.
Подменяют инженерную часть отчётом: сдали в срок, отзывы хорошие, время обработки упало на треть. Спрашивали про реализацию, и без разбора решений такой ответ выглядит как пересказ чужой работы.