본문 바로가기
반응형

{ Tech Interview }/Backend(Spring)3

스프링 기술 면접 대비 - JPA Q) 영속성 컨텍스트란 무엇인가요? A) 엔티티를 영구히 저장하는 환경입니다. 엔티티 매니저를 통해 영속성 컨텍스트에 접근합니다. Q) 엔티티의 생명주기는? A) 비영속(new) 상태는 영속성 컨텍스트와 전혀 관계없는 상태입니다. 영속(managed) 상태는 영속성 컨텍스트에 관리되는 상태입니다. 준영속(detached) 상태는 영속성 컨텍스트에 저장되었다가 분리된 상태입니다. 삭제(removed) 상태는 삭제된 상태입니다. Q) 영속성 컨텍스트로 관리하면 어떤 장점이 있나요? A) 1차 캐시를 통해 데이터를 캐시에서 가져올 수 있습니다. 또한 데이터의 동일성을 보장합니다. 쓰기 지연을 통해 트랜잭션을 지원합니다. 변경 감지를 통해 자동으로 update가 이루어집니다. 또 지연 로딩을 통해 성능을 높입니.. 2022. 1. 27.
스프링 기술 면접 대비 - 스프링 MVC 잊지 말아야 할 기본사항 : 스프링 MVC 패턴의 목적은 결국 HTTP 요청을 처리하고 HTTP 응답 메시지를 만들기 위함이다. Q) MVC 패턴이 무엇인가요? A) 컨트롤러와 뷰라는 영역으로 역할을 나눈 패턴입니다. 컨트롤러는 HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행합니다. 그리고 뷰에 전달할 데이터를 모델에 담습니다. 모델은 뷰에 전달할 데이터를 담아두었다가 뷰에 전달해줍니다. 뷰는 모델에 담겨있는 데이터를 사용해서 화면을 구성합니다. 이렇게 역할을 나누게 되면 각자 할 일에만 집중하면 되므로 코드도 확실히 구분해놓을 수 있고 깔끔해집니다. +) 일반적으로 비즈니스 로직까지 컨트롤러에서 처리하면 너무 많은 역할을 담당하게 되므로, 서비스라는 계층을 새로 만들어 이곳에서 비즈니.. 2022. 1. 26.
스프링 기술 면접 대비 - 스프링 기본 기능을 익히고 외우는 것도 좋지만, 그 기능이 왜 필요하고 기존에 비해 뭐가 좋은 지를 알아야 한다! 즉 이해가 우선! Q) 스프링 컨테이너의 역할은 무엇인가요? A) 스프링 빈 저장소에 빈 이름으로 빈 객체를 저장합니다. 또한 설정 정보를 참고해서 의존 관계를 주입해줍니다. Q) 그러한 기능이 왜 필요하며, 어떤 장점이 있나요? A) 기존에는 설정 정보 클래스에서 필요한 인스턴스들을 직접 생성하고, 직접 의존 관계를 주입해줬어야 했습니다. 스프링 컨테이너가 가진 기능을 사용하면, 예를 들어 컴포넌트 스캔 같은 어노테이션을 활용하면 객체 생성이나 의존 관계 주입 같은 일들이 자동으로 처리되게 할 수 있습니다. (물론 @Bean처럼 객체(빈)을 직접 등록할 수도 있음) 그리고 싱글턴으로 사용되어야 할 클래.. 2022. 1. 25.
반응형