* 취준생 시절 면접 때 직접 들었던 질문 위주로 정리했고, 예상 질문으로 제가 준비했던 것들도 있습니다.
- 인성 면접 : https://young0105.tistory.com/347
- 기술 면접 1 : https://young0105.tistory.com/348
- 기술 면접 2 : https://young0105.tistory.com/349
- 기술 면접 3 : https://young0105.tistory.com/350
● Spring vs Spring Boot
● Spring Boot의 장점
● IoC (제어의 역전)
- 객체의 생명주기 관리를 개발자가 아니라 IoC 컨테이너가 모두 맡아서 함
- 실행의 제어권이 개발자에서 프레임워크로 넘어갔다는 의미에서 '제어의 역전'이라고 부름
- IoC 컨테이너가 관리하는 객체들은 모두 싱글톤 패턴으로 관리되며, 'bean 객체'라고 부름
● DI (의존성 주입)
- 클래스가 자신이 사용할 객체를 직접 생성하지 않고, IoC 컨테이너가 관리하는 bean 객체를 가져와서 사용함
- @Autowired 어노테이션을 통해 DI를 설정할 수 있고, 해당 대상이 IoC의 대상으로 등록되어 있지 않으면 가져올 수 없음
- https://young0105.tistory.com/189
● REST API
- https://young0105.tistory.com/150
● 인터셉터 vs 필터
1) 필터
- WAS에서 동작함
- Spring에서 제공하는 기능이 아님
→ Spring과 무관하게 전역적으로 처리하는 작업을 수행해야 할 때 사용
- Spring 컨테이너의 가장 앞단에 있는 디스패쳐 서블릿에 요청이 도달하기 전과 후에 특정 작업을 수행하도록 함
- https://young0105.tistory.com/198
2) 인터셉터
- Spring 컨테이너에서 동작함
- Spring에서 제공하는 기능
- 디스패쳐 서블릿이 컨트롤러를 요청하기 전과 후에 특정 작업을 수행하도록 함
- https://young0105.tistory.com/199
● AOP (관점 지향 프로그래밍)
- 프로그램의 여러 지점에서 반복적으로 사용되는 코드를 분리해서 모듈화하는 것
- 핵심적인 코드와 부가적인 코드를 분리함
→ 핵심 기능에 영향을 미치지 않으면서, 부가적인 기능을 제공할 수 있음
- https://young0105.tistory.com/192
● 인터셉터와 AOP를 프로젝트에 사용해본 경험
● JPA
● MyBatis가 무엇인지, MyBatis의 장점
● 디스패쳐 서블릿
- Spring 컨테이너의 가장 앞단에 위치함
- 클라이언트가 어떤 요청을 했을 때, 적합한 컨트롤러에게 해당 요청을 위임해주는 프론트 컨트롤러
● 서블릿 vs 디스패쳐 서블릿
● 라이브러리 vs 프레임워크
- https://young0105.tistory.com/287
● 패킷 스위칭 vs 서킷 스위칭
- https://young0105.tistory.com/286
● 세션 vs 쿠키
- https://young0105.tistory.com/160
● MVC 패턴
- 사용자 인터페이스로부터 비즈니스 로직을 분리해서 서로 간의 영향을 받지 않도록 하는 소프트웨어 디자인 패턴
- DB 데이터를 가진 객체인 '모델'과, 화면을 처리하는 '뷰'와, 모델과 뷰를 연결하는 '컨트롤러'로 나눠짐
- https://young0105.tistory.com/187
● DAO
- DB 데이터에 접근하기 위한 객체 (Data Access Object)
● 검색 기능 구현 방법
● 페이징 처리 구현 방법
● Global Exception에 대한 설명과 사용 경험
● 렌더링 방식 : SSR vs CSR
1) SSR (Server-side Rendering)
- 서버 측에서 렌더링을 모두 마친 후 클라이언트에게 보내는 방식
- 초기 로딩 속도 빠름
2) CSR (Client-side Rendering)
- 클라이언트 측에서 렌더링을 처리하는 방식
- 사용자의 조작에 따라 특정 부분만 렌더링하는 비동기 통신
● 영속성 컨텍스트
- 영속성 : 프로그램이 종료되더라도 데이터가 사라지지 않는 특성
- 영속성 컨텍스트 : 데이터를 영구적으로 저장하는 논리적인 환경
- 영속화 : 영속성 컨텍스트에 저장하는 것
● JPA) 엔티티 매니저
- 엔티티 : 테이블에 대응하는 하나의 클래스
- 엔티티 매니저 : 엔티티들을 영속성 컨텍스트에 저장해두고 해당 엔티티들의 생명주기를 관리함
- 엔티티 생명주기
: 비영속 - 영속 - 준영속 - 삭제
'etc.' 카테고리의 다른 글
[IT] 신입 개발자 기술 면접 질문 정리 3 - Java (0) | 2024.06.27 |
---|---|
[IT] 신입 개발자 기술 면접 질문 정리 2 - HTML, CSS, JavaScript (0) | 2024.06.22 |
[IT] 신입 개발자 기술 면접 질문 정리 1 - SQL (0) | 2024.06.22 |
[IT] 신입 개발자 인성 면접 질문 정리 (0) | 2024.06.22 |
[Zapier(재피어)] 구글 스프레드시트에 신규 데이터 입력 시 자동 메일 발송 (0) | 2024.04.05 |