@Cacheable/@CacheEvict/@CachePut 동작 원리, 로컬 캐시에서 Redis로 전환하는 방법, Cache-Aside/Write-Through 전략, 캐시 스탬피드와 자기 호출 함정까지 정리한다.
@Async의 AOP 프록시 동작 원리, ThreadPoolTaskExecutor 설정, CompletableFuture 병렬 실행, 자기 호출·예외·ThreadLocal 전파 문제까지 실전 코드로 정리한다.
Spring 테스트의 세 계층 — JUnit5+Mockito 단위 테스트, @WebMvcTest 슬라이스 테스트, @DataJpaTest, @SpringBootTest 통합 테스트를 목적별로 구분하고 실전 코드로 정리한다.
@ControllerAdvice + @ExceptionHandler 전역 예외 처리 구조, BusinessException + ErrorCode Enum으로 Custom Exception 계층 설계하는 실전 패턴을 정리한다.
Spring Security의 DelegatingFilterProxy → FilterChainProxy → SecurityFilterChain 구조를 이해하고, JWT 인증 필터 구현, @PreAuthorize 인가, BCrypt 패스워드 처리까지 실전 코드로 정리한다.
JPQL의 문자열 한계를 QueryDSL이 어떻게 해결하는지, BooleanExpression 동적 쿼리 패턴, @QueryProjection DTO 조회, 페이징 최적화까지 실전 코드로 정리한다.
JPA 면접 단골 주제 두 가지 — 영속성 컨텍스트(Dirty Checking, 1차 캐시, 지연 쓰기)와 N+1 문제(원인과 해결책 3가지)를 코드와 함께 정리한다.
순수 JDBC의 문제점부터 JdbcTemplate, MyBatis, JPA까지 각 기술이 무엇을 해결하고 무엇을 포기했는지 코드로 비교한다. 'JPA vs MyBatis' 논쟁에 명확한 답을 제시한다.
@Transactional이 AOP 프록시로 동작하는 원리부터, REQUIRED vs REQUIRES_NEW 차이, 격리수준 4단계, 자기 호출 함정까지 실전 코드로 정리한다.
Spring Boot가 설정 파일 없이 동작하는 원리 — @SpringBootApplication 분해, @Conditional 자동설정, 스타터와 BOM, 프로파일과 설정 우선순위를 코드와 함께 정리한다.
개인정보처리방침