Spring / JPA CS 지식백과
Spring / JPA 관련 핵심 개념을 개발자 기술 면접에서 설명할 수 있도록 문서 7편으로 정리했습니다. 각 문서는 개념, 동작 원리, 시간 복잡도와 실무 선택 기준을 함께 다룹니다.
JPA(Java Persistence API)
JPA는 자바 객체와 관계형 데이터베이스 테이블의 매핑을 표준으로 정의한 ORM 명세다. 명세와 구현체의 관계, 영속성 컨텍스트의 기능, 엔티티 생명주기, N+1 문제까지 면접 관점에서 정리한다.
더티 체킹(Dirty Checking)
더티 체킹은 영속성 컨텍스트가 엔티티 변경을 감지해 플러시 시점에 UPDATE 쿼리를 자동 생성하는 JPA 기능이다. 스냅샷 비교 원리, 플러시 시점, 준영속 엔티티와 벌크 연산의 주의점을 다룬다.
SpringApplication과 부트스트랩 과정
SpringApplication은 스프링 부트의 main 메서드에서 부트스트랩을 총괄하는 클래스다. run() 내부의 환경 준비, 컨텍스트 생성, refresh, 러너 실행 순서와 자동 구성 원리를 설명한다.
스프링 빈 스코프(Bean Scope)
빈 스코프는 스프링 컨테이너가 빈을 언제 생성하고 어디까지 공유할지 정하는 규칙이다. 싱글턴과 프로토타입의 동작 차이, 웹 스코프, 스코프 혼용 시 문제와 ObjectProvider, 프록시 해결법을 정리한다.
Spring Boot 테스트 코드 작성
Spring Boot 테스트는 컨테이너를 어디까지 띄우느냐에 따라 통합 테스트와 슬라이스 테스트로 나뉜다. @SpringBootTest, @WebMvcTest, @DataJpaTest 활용법과 컨텍스트 캐싱 주의점을 다룬다.
Spring MVC 구조와 요청 처리 흐름
Spring MVC는 프론트 컨트롤러 패턴 기반으로 모든 요청이 디스패처 서블릿을 거친다. 핸들러 매핑과 어댑터, HttpMessageConverter를 통한 요청 처리 흐름과 필터, 인터셉터 차이를 설명한다.
Spring Security의 인증과 인가
인증은 사용자가 누구인지 확인하는 과정이고 인가는 접근 권한을 판단하는 과정이다. Spring Security 6의 필터 체인 구조, AuthenticationManager 인증 흐름, SecurityFilterChain 설정을 정리한다.
Spring / JPA를 특히 많이 묻는 직군
같은 개념이라도 직군에 따라 파고드는 각도가 다릅니다. 직군별 가이드에서 어떤 질문으로 이어지는지 확인해 보세요.