
EJB의 문제점과 Spring Framework의 탄생
프레임워크와 라이브러리의 제어의흐름과 사용방식에 대한 차이

Event의 발행 과정
Spring의 핵심 개념/모듈과 작동방식

MVC패턴

Proxy에 대한 전반적인 이해와 Spring에서의 사용 예시

Entity와 DTO, 사용 계층
C-S-R 패턴

Gradle과 CI/CD

프로젝트 구조 및 @SpringBootApplication에 대한 간단한 요약

save(), create() 메소드의 반환값

웹서버와 WAS의 차이

Spring Boot에서의 Bean 등록 방법 세가지
입력값 검증과 null체크 동등비교
yml 설정 파일로 Bean 등록 제어하기

파일 첨부 과정 및 메시지 생성 과정

엔티티 관계 설정을 어떻게 해야할까?
Service 계층에서는 어떻게 테스트가 이뤄지고, 어떤걸 테스트해야하는가?

AOP

@Controller와 @RestController
Service에서 Service를 의존해도 될까?
생성자로 생성 vs 정적 팩토리 메서드로 생성

PUT 메서드의 멱등성과 낙관적 락, 그리고 PATCH

@PathVariable vs @RequestParam 언제 사용하는가?
SOAP의 단점과 REST의 등장 배경 및 장단점

@RestController의 처리 과정과 HTTPMessageConverter, 요청 처리 Annotation (@ModelAttribute, @RequestParam, @RequestPart vs @RequestBody)

JPA의 영속성 컨텍스트와 변경감지, 쓰기지연저장소 / Flush vs Commit / N+1 문제와 즉시 로딩, 지연 로딩, Fetch join, EntityGraph

@Transactional의 구조적 흐름과 AOP의 프록시로 인한 self-invocation 문제 / readOnly의 이점

@Transactional 전파와 격리 설정 / 예외 처리 시 롤백 기준
FK는 어디에 위치하는게 좋을까? 연관관계의 주인과 방향, 종속성 / N:M 중간 테이블 / JPA와 DB 설계의 간단한 차이
N:M 관계에서 @ManyToMany 지양과 연결 엔티티를 이용한 관계 풀이 / 복합키 설정
연관관계 편의 메서드와 적용 시점 / 연관관계의 주인
N+1 문제 해결을 어떻게 할까? Fetch Join과 한계돌파 @BatchSzie
Offset Pagination vs Cursor Pagination과 각각의 구현방식
OSIV, OSIV를 비활성화 하는 이유, Lazy Loading + 비활성화 상황에서 발생하는 문제 및 해결방법

Redis 글로벌 캐시 사용

Controller, Service, DB 계층 별 검증 로직

Mock, Stub, 그리고 Spy 객체의 정의, 활용 예시
Entity 기본 생성자를 PROTECTED
QueryDSL 사용법
RDBMS, MongoDB와 트랜잭션
OAuth 2.0 Authorization Code Grant와 PKCE

Spring Security와 필터, SecurityContext와 인증과정, CSRF
Spring Security ROLE_ 접두사
4가지 보안 공격과 방지 방법
JWT(JSON Web Token)의 구조
경쟁 상태와 해결방안
Spring Cache의 다양한 어노테이션

로컬 캐시 VS 분산 캐시