Spring Framework & Spring Boot
Spring Core, Boot, Data, Security, and internals — from middle to senior interview depth.
IoC, Dependency Injection, ApplicationContext
Inversion of Control and the three injection styles, BeanFactory vs ApplicationContext, the stereotype annotations, and what @Configuration actually does at runtime.
Bean Scopes & Lifecycle
The bean scopes, the full instantiation-to-ready lifecycle order, @PostConstruct/@PreDestroy, injecting prototypes into singletons, and Bean(Factory)PostProcessor.
@Autowired, @Qualifier, @Primary, Injection Resolution
How @Autowired resolves dependencies, handling optional and ambiguous beans, collection injection, circular dependencies, and why ObjectProvider is the modern recommendation.
Spring Boot Auto-Configuration
How auto-configuration decides what to wire, decomposing @SpringBootApplication, properties vs YAML and override order, profiles, starters, and writing your own auto-config.
Spring MVC & REST
The DispatcherServlet request flow, controller annotations and argument binding, ResponseEntity, validation, exception handling, content negotiation, and interceptors vs filters.
Spring Data JPA
JPA/Hibernate/Spring Data layering, repository hierarchy, derived and @Query methods, relationships and fetch types, the N+1 problem, the persistence context, and propagation.
Transactions Deep Dive
What @Transactional does and where to put it, propagation and isolation, the default rollback rule, the AOP-proxy implementation, the self-invocation trap, and TransactionTemplate.
Spring Security Basics
The SecurityFilterChain and lambda DSL, authentication vs authorization, the core abstractions, password encoders, method security, CSRF/CORS, and JWT/OAuth2 flows.
AOP & Proxies
Cross-cutting concerns, Spring AOP vs AspectJ, JDK vs CGLIB proxies, pointcut and advice types, the full self-invocation mechanics, and the Spring features built on AOP.
Spring Events
ApplicationEvent and @EventListener, sync vs async events, transactional event listeners and their phases, when to use events vs a message broker, and Spring Modulith.
Caching
The caching annotations and how they compose, key generation, cache providers and their trade-offs, cache stampede, conditional caching, the self-invocation trap, and consistency strategies.
Async, Scheduling, Virtual Threads
@Async and its executor, async return types, @Scheduled with fixedRate/fixedDelay/cron, distributed scheduling, virtual threads in Boot 3.2+, and when they help.
Reactive — WebFlux, Reactor
The Reactive Streams contract, Mono and Flux, backpressure, hot vs cold publishers, the core operators, WebFlux vs MVC, reactive security, R2DBC, and the virtual-thread question.
Spring Boot Actuator, Observability
Actuator and its endpoints, custom health indicators, Micrometer metrics, distributed tracing with OpenTelemetry, securing endpoints, and Kubernetes liveness/readiness probes.
Testing — Unit, Slice, Integration
@SpringBootTest vs slice tests, the test clients, mocking beans, Testcontainers and @DynamicPropertySource, context caching, and the common causes of flaky Spring tests.
Spring Boot 3 Features & Modern Stack
The Boot 3 baseline and jakarta namespace, GraalVM native images and AOT, Spring Modulith, Problem Details, HTTP Interface clients and RestClient, observability rework, and removed APIs.