Какие Java фреймворки вы использовали кроме Spring Security и Spring Data JPA
Что проверяют
Широту стека за пределами двух стартеров и то, насколько глубоко вы знаете то, что называете. Следом берут любой пункт из вашего списка и просят рассказать задачу и проблему, которую он решал.
Как отвечать
Группируйте по слоям, так ответ звучит как опыт, а не как перечень:
- основа: Spring Boot с автоконфигурацией и стартерами, Spring Web MVC или WebFlux для реактивного стека, Bean Validation, Actuator для health-проверок и метрик через Micrometer;
- интеграции: Spring Kafka или Spring AMQP для очередей, Spring Cloud OpenFeign для HTTP-клиентов, Resilience4j для ретраев и circuit breaker, Spring Batch для пакетной обработки;
- данные: Hibernate как провайдер JPA (здесь спросят про N+1,
@EntityGraph,JOIN FETCHи ленивую загрузку), миграции Flyway или Liquibase, jOOQ или MyBatis там, где нужен контроль над SQL; - тесты: JUnit 5, Mockito, AssertJ, Testcontainers для базы и брокера в интеграционных тестах, WireMock для внешних API;
- вспомогательное: MapStruct для маппинга DTO, Lombok, Jackson.
Если работали с Quarkus или Micronaut, скажите, чем они отличаются: больше работы на этапе сборки, быстрый старт и нативный образ через GraalVM.
По каждому пункту держите одну конкретную историю: что сделали и на что наткнулись. Например, «перевели интеграционные тесты с H2 на Testcontainers с настоящим PostgreSQL и поймали запросы, которые на H2 вели себя иначе». Если опыт узкий, скажите честно и назовите, что изучали сами и на каком проекте пробовали.
Где спотыкаются
Называют Hibernate отдельным опытом, не понимая, что Spring Data JPA работает поверх него. Вопрос про N+1 или LazyInitializationException сразу это показывает.
Добавляют Struts или JSF ради длины списка. Это легаси, и если опыта нет, первый же уточняющий вопрос это выдаст.
Дают список из пятнадцати названий без единой детали. Три фреймворка с реальными задачами убедительнее.