Использовали ли вы Spring Framework в сервисах
Что проверяют
Насколько глубоко вы знаете Spring: можете ли объяснить, что происходит под аннотациями, или только расставляли их по образцу. Следом почти всегда спрашивают про @Transactional и про то, как вы тестировали сервисы.
Как отвечать
Стройте ответ от своего сервиса: что он делал, какая версия Spring Boot, какие модули. Затем покажите понимание механики:
- стек: Spring Web MVC или WebFlux, Spring Data JPA, Spring Security, интеграция с Kafka, Actuator для метрик и health-проверок. Называйте только то, чем пользовались;
- внедрение зависимостей: бины по умолчанию синглтоны, внедрение через конструктор предпочтительнее
@Autowiredна поле. Так зависимости явные, поляfinal, класс легко тестировать без контекста; @Transactional: работает через прокси, поэтому вызов метода изнутри того же класса транзакцию не открывает. Откат по умолчанию только на непроверяемых исключениях, на checked транзакция закоммитится;- JPA: проблема N+1,
JOIN FETCHи@EntityGraph, а также то, чтоspring.jpa.open-in-viewв Spring Boot включён по умолчанию; - тесты: срезы
@WebMvcTestи@DataJpaTest, полный@SpringBootTest, реальная база в Testcontainers.
Хорошо упомянуть версии. Spring Boot 3 требует Java 17 и перешёл на jakarta.*, Spring Boot 4 вышел в конце 2025 года. Если вы переводили сервис между мажорными версиями, это отдельная сильная история.
Числа про ускорение или экономию времени называйте только измеренные вами. Если Spring не использовали, скажите прямо и сопоставьте с тем, что знаете: CDI в Jakarta EE, Quarkus, Micronaut, Guice. Принципы IoC там те же, и это стоит показать.
Где спотыкаются
Перечисляют аннотации без механики. На вопрос, почему не сработал @Transactional при вызове из соседнего метода, ответа нет.
Рассказывают, что «применяли паттерн Singleton» в сервисе на Spring. Синглтон там это скоуп бина, его обеспечивает контейнер, а самописный Singleton с приватным конструктором ломает внедрение и тесты.
Приводят круглые цифры вроде «ускорили разработку на 30%». Без способа измерения это звучит как заготовка и вызывает недоверие к остальному рассказу.