@Transactional이 AOP 프록시로 동작하는 원리부터, REQUIRED vs REQUIRES_NEW 차이, 격리수준 4단계, 자기 호출 함정까지 실전 코드로 정리한다.
순수 JDBC의 문제점부터 JdbcTemplate, MyBatis, JPA까지 각 기술이 무엇을 해결하고 무엇을 포기했는지 코드로 비교한다. 'JPA vs MyBatis' 논쟁에 명확한 답을 제시한다.
JPA 면접 단골 주제 두 가지 — 영속성 컨텍스트(Dirty Checking, 1차 캐시, 지연 쓰기)와 N+1 문제(원인과 해결책 3가지)를 코드와 함께 정리한다.
JPQL의 문자열 한계를 QueryDSL이 어떻게 해결하는지, BooleanExpression 동적 쿼리 패턴, @QueryProjection DTO 조회, 페이징 최적화까지 실전 코드로 정리한다.
Spring Security의 DelegatingFilterProxy → FilterChainProxy → SecurityFilterChain 구조를 이해하고, JWT 인증 필터 구현, @PreAuthorize 인가, BCrypt 패스워드 처리까지 실전 코드로 정리한다.