Spring & Hibernate
Real-world Spring Boot, JPA/Hibernate and Security scenarios.
1. Spring Core, DI & Bean Lifecycle
Dependency injection styles, circular dependencies, qualifiers, scopes, lifecycle callbacks, BeanPostProcessor, proxies and self-invocation, lazy beans, conditional beans and profiles in real-world scenarios.
2. Spring Boot Auto-configuration & Config
How auto-configuration is discovered and conditioned, starters, property binding and precedence, custom starters, actuator, graceful shutdown, startup performance and native/AOT basics in production scenarios.
3. REST API Design, Validation & ControllerAdvice
Resource design, status codes, pagination, idempotency, versioning, Bean Validation, ProblemDetail, exception handler ordering, DTOs, Jackson pitfalls, file upload, CORS, rate limiting and async/WebClient scenarios.
4. Transactions & Propagation
How @Transactional works through proxies, rollback rules, propagation and isolation outcomes, readOnly and timeouts, async and event interplay, synchronization callbacks, distributed consistency with the outbox pattern and LazyInitializationException.
5. Hibernate & JPA Internals
Entity states, persistence context, flush and dirty checking, merge vs persist, ID generation, mapping pitfalls, inheritance, locking, batching, projections and open-in-view, through real-world scenarios.
6. Lazy vs Eager Loading & the N+1 Problem
Detecting and fixing N+1 queries, JOIN FETCH, entity graphs, batch fetching, fetch-join pagination, LazyInitializationException, statistics, second-level cache and query tuning scenarios.
7. Caching & Performance Tuning
Spring Cache pitfalls, eviction and consistency, Caffeine vs Redis, stampede protection, HikariCP and thread pool tuning, HTTP caching, async, profiling and load testing scenarios.
8. Spring Security & JWT
Security filter chain, SecurityFilterChain configuration, authentication vs authorization, password encoding, JWT lifecycle, OAuth2 resource server, method security, CSRF/CORS, stateless sessions, misconfigurations and testing.