본문 바로가기
회고록 및 생각정리

면접 예상 질문(Spring 편)

by bloodFinger 2020. 1. 28.

Framework를 사용하는 이유는 무엇인가요?

-Framework는 미리 code로 구조를 구성하며, 개발자가 해당 구조에 코드를 짜 맞추는 형식.

-회사는 framework를 사용함으로써 일정한 품질을 보장 받을 수 있다.

-개발자는 정해진 틀에서 부품을 끼워 맞추기에 개발 시간을 단축할 수 있다.

 

Spring이 왜 개발의 대세가 되었나요?

-프로그램의 복잡함에 반해서 만들어진 Framework. 즉 EJB(Enterprise JavaBeans)에 비해서 프로그램이 가볍기 때문에 Enterprise 급의 시스템을 더 빠른 시간에 작성 가능

-Proeject의 전체 구조를 설계할 때 유용한 Framework, 즉 기존의 Framework 들은 WEB 또는 하드웨어, DB 등 전문적인 영역만 지원하는 경우가 많은데 비해 Spring은 어느 한 분야에 집중하기 보다는 Project 전체를 설계하는 용도로 사용.

-Spring은 전체 구조를 기반으로 하기 때문에 다른 특정영역의 Freamwork와 공존하는 방식으로 사용 가능

Spring framework의 특징을 알려주세요

-POJO 기반의 프레임워크

-의존성 주입(DI)

 의존성 주입 패턴 3가지 => 1.생성자 주입 2.세터를 통합 주입 3.인터페이스를 통한 주입

-AOP(Aspect-Oriented Programming) : 관점 지향 프로그래밍 지원, 즉 AOP는 Application 전체에 걸쳐 사용되는 공통된 기능을 재사용 하도록 지원하는 기법(OOP)를 돕는 보조적인 기술

CI란 무엇인가요?

Continuous Intergration의 약자로 말 그대로 지속적인 통합을 말한다.

개발이 완료되는 시점에 단위기능들을 통합하는 것이 아닌 개발과 동시에 통합을 진행함으로써 소프트웨어의 품질을 향상시키는 것을 목표로 한다.

DI란 무엇인가?

Dependency Injection의 약자로 의존성을 주입하는 것을 뜻한다.

설정 파일을 통해 객체간의 의존관계를 설정함으로써 외부 Assembler가 객체간의 의존 관계를 정의하게 되며,

객체는 직접 의존하고 있는 객체를 생성하거나 검색할 필요가 없어지므로 코드의 관리가 쉬워진다.

AOP란 무엇인가?

Aspect Oriented Programing을 뜻하며 다양한 곳에서 자주 사용되는 공통 관심요소를 단일 기능으로 뽑아내어 코드의 중복을 줄이고

관리의 효율성을 높이는 것을 목적으로 한다.

로깅이나 로그인 등의 기능을 예로 들 수 있다.

POJO란 무엇인가?

Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 J2EE등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 무거운 객체를 만들게 된것에 반발해서 사용되게 된 용어이다.

POJO라는 용어는 이후에 주로 특정 자바 모델이나 기능, 프레임워크 등을 따르지 않은 자바 오브젝트를 지칭하는 말로 사용되었다.

스프링 프레임워크는 POJO 방식의 프레임 워크이다.

 

Maven(메이븐)에 대하여 말해 보세요.

-JAVA용 프로젝트 관리 툴

-아파치 오픈 소스 빌드 툴

- 빌드 , 문서화, 리포팅

- 의존 관계

-소스 코드 관리

-릴리즈 , 배포

-프로젝트 관리에 필요한 모든 작업을 추상화하고 표준화해서 반복을 제거

-메이븐이 접근할 수 있는 저장소를 지원

-이 저장소를 통해 템플릿 프로젝트인 아키타입, 의존 관계에 있는 라이브러리, 메이븐 플러그인 기능을 지원

-프로젝트 빌드에 필요한 라이브러리, 플러그인을 저장소에서 개발자 PC로 자동으로 다운로드

 

'회고록 및 생각정리' 카테고리의 다른 글

개발자 이직 회고록  (0) 2021.04.25
another 면접 후기 + advice  (0) 2020.02.20
면접 예상 질문(JSP/Servelt편)  (0) 2020.01.27
면접 예상 질문(DB편)  (0) 2020.01.23
면접 예상 질문(자바편)  (0) 2020.01.23