반응형
JPA 고난이도 면접 질문입니다.
단순한 개념 이해를 넘어서 경험에 기반한 대답을 해야 하는 질문입니다. 상당히.. 까다롭네요^^
- Entity 상태 전이의 복잡성: JPA에서 Entity 상태 전이 (예: transient, persistent, detached, removed) 과정 중 가장 복잡하거나 오해하기 쉬운 부분은 무엇이며, 이를 어떻게 관리하나요?
- 1차 캐시와 2차 캐시의 교차점: 1차 캐시와 2차 캐시의 차이점을 설명하고, 이 두 캐싱 메커니즘을 어떻게 효율적으로 사용했는지 구체적인 예를 들어 설명해 주세요.
- 최적화 및 성능 문제: JPA를 사용할 때 겪었던 가장 까다로운 성능 문제는 무엇이었고, 어떻게 해결했나요?
- 쿼리 최적화 전략: JPA와 함께 복잡한 쿼리를 최적화하기 위해 사용한 전략은 무엇이며, 이러한 최적화가 실제 어플리케이션 성능에 어떤 영향을 미쳤나요?
- 객체-관계 매핑의 복잡성: 복잡한 객체-관계 매핑을 어떻게 관리하며, 이 과정에서 발생할 수 있는 문제를 어떻게 해결하나요?
- Lazy Loading의 문제점: Lazy Loading이 가져올 수 있는 N+1 Select 문제를 어떻게 식별하고 해결하나요?
- JPA의 락킹 메커니즘: JPA에서 제공하는 다양한 락킹 메커니즘 (예: 낙관적 락, 비관적 락)을 언제 어떻게 사용해야 하는지, 그리고 실제 경험에서 이러한 락킹 전략을 어떻게 적용했는지 설명해 주세요.
- Criteria API vs JPQL: Criteria API와 JPQL 중 어느 것을 선호하며, 그 이유는 무엇인가요? 실제 사용 사례를 통해 그 차이를 설명해 주세요.
- JPA와 데이터베이스 버전 관리: JPA를 사용하여 데이터베이스 스키마 버전을 관리하는 방법과 이 과정에서 발생할 수 있는 문제점과 해결 방법에 대해 설명해 주세요.
- 프로젝션과 DTO: JPA에서 프로젝션을 사용하여 성능을 최적화하는 방법과 DTO(Data Transfer Object)를 어떻게 활용했는지 구체적인 사례를 들어 설명해 주세요.
반응형
'스프링' 카테고리의 다른 글
JPA 관련 인터뷰 면접 질문 30가지 (심화 - 2) (0) | 2023.05.04 |
---|---|
스프링에서 다중 데이터소스 사용하기 (0) | 2021.08.09 |
gmail smtp 사용해서 스프링으로 메일 보내기 (0) | 2021.08.05 |
댓글