Q1: Spring Boot에서 의존성 주입(Dependency Injection)이란 무엇이며, 왜 중요한가요?

A1:
"의존성 주입은 객체 간의 의존 관계를 애플리케이션 외부에서 주입하여 관리하는 디자인 패턴입니다. Spring Boot에서는 IoC(Inversion of Control) 컨테이너가 이를 담당하며, @Autowired, @Component, @Service 등 애노테이션을 통해 Bean을 자동 등록 및 관리합니다. 이를 통해 결합도를 낮추고, 테스트 및 유지보수를 용이하게 할 수 있습니다."

 

 

Q2: Spring Boot의 Auto Configuration 기능에 대해 설명해 주세요.

A2:
"Spring Boot의 Auto Configuration은 클래스패스에 포함된 라이브러리와 설정 파일을 기반으로 적절한 Bean들을 자동으로 등록하여 개발자가 최소한의 설정만으로 애플리케이션을 구축할 수 있도록 도와줍니다. 예를 들어, 데이터베이스 관련 라이브러리가 포함되면 기본 DataSource를 자동으로 설정합니다. 또한, 필요에 따라 개발자가 설정을 오버라이드하여 커스터마이징할 수 있습니다."

 

 

Q3: application.properties와 application.yml 파일의 차이와 활용 방법을 설명해 주세요.

A3:
"application.properties는 key-value 쌍으로 단순하게 설정을 작성할 수 있는 반면, application.yml은 YAML 형식을 사용하여 계층적이고 구조적인 설정이 가능합니다. 복잡한 설정이나 여러 환경(개발, 테스트, 운영 등)에 따라 다른 설정을 적용할 때 yml 파일이 더 가독성이 좋습니다. 두 파일 모두 스프링 프로파일을 활용해 환경별로 다른 설정을 쉽게 관리할 수 있습니다."

 

 

Q4: Spring MVC 아키텍처의 주요 구성 요소와 역할에 대해 설명해 주세요.

A4:
"Spring MVC는 웹 요청을 처리하기 위한 아키텍처로, 주요 구성 요소로는 DispatcherServlet, Controller, Service, Repository 등이 있습니다. DispatcherServlet은 모든 요청을 중앙에서 받아 적절한 컨트롤러로 분배하며, 컨트롤러는 요청을 처리하고 결과를 반환합니다. Service는 비즈니스 로직을 수행하고, Repository는 데이터베이스와의 상호작용을 담당합니다. 이러한 계층적 구조는 코드의 재사용성과 유지보수를 용이하게 만듭니다."

 

 

Q5: RESTful API 설계의 기본 원칙과 고려해야 할 요소에 대해 설명해 주세요.

A5:
"RESTful API 설계에서는 리소스 중심의 URL 설계, HTTP 메서드(GET, POST, PUT, DELETE 등)의 올바른 사용, 그리고 HTTP 상태 코드의 적절한 사용이 중요합니다. 또한, 클라이언트와 서버 간의 상태 비저장을 유지하고, 버전 관리 및 API 문서화(Swagger 등)를 통해 API의 변경 사항을 명확하게 관리하는 것이 필요합니다."

'기술면접준비' 카테고리의 다른 글

면접 예상 질문과 답변  (0) 2025.04.28
WAS와 WS  (1) 2023.12.20
기술면접준비(1)  (0) 2023.12.19

+ Recent posts