영원히 흘러가는 강
신입 웹개발자 기술면접 (spring) 본문
Spring Framework
기본
- Spring이란 무엇인가요?
ㄴ>자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크
java의 웹 프레임워크로 java언어 기반으로 사용
- Spring, Spring MVC, Spring Boot의 차이점에 대해 각각 설명해 주세요.
- Spring 버전 별 특성에 대해서 아는대로 답변해 주세요.
ㄴ>velog.io/@hygoogi/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B2%84%EC%A0%84-%EB%B3%84-%ED%8A%B9%EC%A7%95
간단히 하자면 3.x 에서는 자바 5기능, rest api 지원
4.x 에서는 자바 8 완전 지원, 스타터 팩 등장
5.x 자바 8기반 소스코드, 코틀린 지원, junit 5 지원
- Spring Framework의 생명 주기에 대해서 말해주세요.
- Bean이란 무엇인가요?
ㄴ> 스프링 컨테이너에 의해 생성되는 자바의 객체
설정 메타데이터(xml)에 의해 성생이됨
- Interceptor와 Filter의 차이점을 말해주세요.
ㄴ>1. Filter는 Dispatcher servlet의 앞단에서 정보를 처리하고,
Interceptor는 Dispatcher servlet에서 Handler(Controller)로 가기 전에 정보를 처리한다.
2. 또한 필터는 J2EE 표준 스펙에 정의 되어 있는 기능이며, 인터셉터의 경우는 Spring Framework에서
자체적으로 제공하는 기능이라고 한다.
- IOC와 DI에 대해서 설명해주세요.
ㄴ> IOC(Inversion of Control)- 제어의 역전
개발자가 직접 객체 관리하지 않고 스프링 컨테이너에서 직접객체생성하여
주입 시켜 준것이다.
DI(DependencyIniection) - 의존 관계 주입
객체간의 의존성을 자신이 아닌 외부에서 주입하는 개념
- Container란 무엇인가요?
ㄴ> 스프링 컨테이너는 빈들의 생명주기를 관리한다.
종류로는 BeanFactory와 이를 상속한 ApplicationContext 존재
- VO, DTO, DAO에 대해서 각각 설명해 주세요.
ㄴ> VO(Value Object) 는 값 오브젝트로써 값을 위해 쓰인다. DTO과 주목적은 같다
그러나 VO는 불변의 성격
DTO(Data Transfer Object) 는 계층간 데이터 교환 위한 자바 빈즈
로직을 가지지 않는 순수한 데이터 객체 getter,setter 메소드만 가짐
DAO (Data Access Object) - 데이터베이스의 data에 접근하기 위한 객체
데이터베이스의 접근을 하기위한 로직과 비즈니스 로직 분리하기 위해
MVC
- MVC에 대해서 설명해 주세요.
ㄴ> 애플리케이션을 세가지 역할로 구분한 개발 방법론.
어떻게 나눌 것인가 에 대한 해답 중 하나
Model ,View , Controller
- Dispatcher-Servlet이란 무엇인가요?
ㄴ> 서블릿 컨테이너에서 http 프로토콜을 통해 들어오는 모든 요청을
프레젠테이션 계층의 맨앞에 둬서 중앙집중식으로 처리해주는 프론트 컨트롤러
- Spring MVC에서 HTTP 요청이 들어왔을 때의 흐름을 설명해 주세요.
ㄴ> 1. URL로 접근하여 정보요청
2. 디스패처 서블릿이 핸들러 매핑에서 컨트롤러 검색 요청
3. 컨트롤러에서 요청 처리하고 view 이름 리턴
4. 디스패처 서블릿에서 받아서 뷰리졸버에 전달
5. 처리결과 뷰에 보내고
6. 처리결과 포함된 뷰를 디스패처 서블릿에 전달
7. 최종결과 출력
'기술면접' 카테고리의 다른 글
신입 웹개발자 기술면접 (etc..) (0) | 2020.12.15 |
---|---|
신입 웹개발자 기술면접(자바 ver. 2) (0) | 2020.12.15 |
신입 웹개발자 기술면접 (자바 ver. 1) (0) | 2020.12.14 |
신입 웹개발자 기술면접(프로그래밍) (0) | 2020.12.14 |
신입 웹개발자 기술면접(자료구조) (1) | 2020.12.12 |