본문 바로가기
반응형

{ Tech Interview }20

스프링 기술 면접 대비 - 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.
[알고리즘] 알고리즘 면접 대비 코드가 많아 깃허브에 정리를 해두었다! https://github.com/LeeYongjun1030/Tech-Interview-Questions GitHub - LeeYongjun1030/Tech-Interview-Questions: tech interview questions tech interview questions. Contribute to LeeYongjun1030/Tech-Interview-Questions development by creating an account on GitHub. github.com 2021. 12. 15.
[자료구조] 자료구조 면접 대비 Q) 배열이 무엇인가요? A) 배열은 값의 집합으로 구성되었고 인덱스로 식별됩니다. 데이터 조회에 O(1)시간이 소요됩니다. 동적 배열인 리스트의 경우 조회에는 마찬가지로 O(1)이 소요되나, 데이터의 삭제나 삽입은 O(n)이 소요됩니다. (shift 연산때문) Q) 연결리스트는 무엇인가요? A) 연결리스트는 데이터의 선형 집합이지만, 데이터의 순서가 메모리에 순차적으로 저장되지는 않습니다. 연결리스트의 삽입, 삭제는 배열보다 간단합니다. 처음이나 끝 지점에 노드를 추가하는 것은 O(1)에 가능합니다. 단, 특정 인덱스에 접근할 때는 순차 탐색을 해야하므로 O(n)시간이 소요됩니다. Q) 스택의 특징은 무엇인가요? A) 스택은 후입선출 구조의 자료구조입니다. 접시를 쌓는 것에 비유할 수 있습니다. pus.. 2021. 11. 20.
[자바] 자바 면접 대비 2 Q) 멀티 스레딩은 어떻게 구현하나요? A) 쓰레드는 두 가지 방법으로 구현할 수 있는데, Thread 클래스를 상속받아 오버라이딩 메서드를 구현하거나 Runnable() 인터페이스를 구현하는 방법이 있습니다. run() 메서드 안에 새로운 쓰레드로 실행할 코드를 작성하고, 메인 쓰레드에서 해당 쓰레드를 생성하고 start()를 이용해 실행해주면 됩니다. 이때 Runnable 객체의 경우 쓰레드를 상속받고 있는 것이 아니기때문에 start()를 실행하기 위해서는 새 쓰레드 객체를 만들어 인자로 Runnable 객체를 넘겨주어야 합니다. 멀티 스레딩의 경우 동기화 문제가 발생하는데 이를 제어하기 위해 synchronized 예약어를 사용하게 됩니다. Q) 예외 처리 방법에는 무엇이 있으며, throw는 언.. 2021. 11. 18.
반응형