[카테고리:] Spring
[기술 면접] 7. JUnit이 무엇인가요?
저번 시간에 이어, 이번엔 JUnit이 무엇인가에 대해 알아보겠습니다. 서비스 플랫폼 기업 K사와 L사에서 저번 질문과 연속으로 등장했던 질문입니다. 사용하는 기술이 프레임워크인지, 라이브러리인지 한번 생각해보시길 바랍니다. Q: JUnit이 무엇인가요? 단위 테스트 프레임워크입니다. JUnit4는 하나의 jar파일로 의존성을 불러오고 다른 라이브러리를 참조해서 사용하는 구조였지만, JUit5부터는 그 자체로 모듈화가 되어있습니다. JUnit5의 구성 JUnit5와 JUnit4의 차이점. Q: JUnit의 생명주기에 대해…
[기술 면접] 6. 프레임워크와 라이브러리의 차이가 무엇인가요?
저번 시간에 이어서, 이번엔 프레임워크와 라이브러리의 차이가 무엇인지에 대해 알아보겠습니다. 개발 전에 기초 지식을 갖추고 있는지, 혹은 라이브러리, API, JUnit 등에 대한 질문을 진행하기 전에 종종 나오곤 하는 질문입니다. 서비스 플랫폼 기업 K사와 L사에서도 마주했던 질문입니다. Q: 프레임워크와 라이브러리의 차이를 말씀해보세요. “개발자가 작성한 코드”를 제어하고 대신 실행한다면 프레임워크라 할 수 있습니다. 반면에, 개발자가 작성한 코드가…
[기술 면접] 5. DispatcherServlet이란 무엇인가요?
저번 시간에 이어, 이번엔 DispatcherServlet이 무엇인지에 대해 다루어 보겠습니다. 이번 시간에는 해당 질문에 대한 답변만 짧게 파악하고, 다음 포스팅으로 넘어가겠습니다. 가볍게 읽고 가시길 권해드립니다. Q: DispatcherServlet이란 무엇인가요? Servlet/JSP에서 사용자 요청이 발생하면, 이 요청 정보를 해석하고 작성된 코드를 동작시키는 첫 번째 서블릿입니다. Spring MVC는 DispatcherServlet을 확대하여 Spring Framework의 기능을 사용할 수 있도록 해당 클래스를 재정의합니다. Q:…
[기술 면접] 4. Spring Bean이 무엇인가요?
저번 시간에 이어, 이번엔 Spring Bean에 대해 알아보도록 하겠습니다. Bean은 Spring Framework에서 관리되는 객체로 애플리케이션의 구성 요소입니다. 개발자가 생성하는 것이 아닌, 스프링 컨테이너가 생성하여 공급하는 객체를 의미하며 스프링 관련 질문으로 종종 등장하곤 합니다. Q: Spring Bean이 무엇인가요? Spring Framework에서 관리되는 객체로, Spring Container가 생성하여 관리합니다. 의존성 주입(Dependency Injection)으로 관리되며 Application의 각 Layer에 데이터 혹은 기능을…
[기술 면접] 3. 스프링의 @Transactional 어노테이션에 대해서 아시나요?
저번 시간에 이어, 이번엔 Spring의 @Transactional Annotation 질문에 대해 알아보겠습니다. 이번 질문은, 제가 서비스 플랫폼 기업 K사에서도 받은 질문인데요, 써본 경험은 있지만 이것에 대해 표현해볼 생각은 안 해봤어서 얼버무렸던 기억이 납니다. 한 번 정리해서 간단하게 대비해보시길 권합니다. Q: 스프링의 @Transactional 어노테이션에 대해서 아시나요? 스프링에서 트랜잭션을 처리하는 어노테이션으로 선언적 트랜잭션이라고 부르며, 범위 내에서는 트랜잭션 기능이 포함된 프록시 객체가…
[기술 면접] 2. AOP가 무엇인가요?
저번 시간엔 Spring을 왜 사용하는 지에 대해 알아보았습니다. 이번 시간엔 Spring Boot가 지원하는 AOP에 대해 알아보겠습니다. 자주 등장하는 질문은 아니지만, 한 번쯤 등장하는 개념이니 짚고 넘어가는 것을 권해드립니다. Q: AOP가 무엇인가요? Aspect Oriented Programming으로, 핵심 관심 사항(core concern)과 공통 관심 사항(cross-cutting concern)을 분리하여 모듈화합니다. Q: AOP의 주요 구성 요소를 말해보세요 Q: AOP와 OOP(Object-Oriented Programming)의 차이점은…
[기술 면접] 1. Spring을 쓰는 이유가 뭐에요?
Spring Framework는 한국에서 광범위하게 사용되며, 신입 개발자들 사이에서도 매우 인기가 많습니다. 그러나 많은 사람이 Spring을 선택하는 이유에 대해 심층적으로 생각해보지 않으며, 면접에서 이에 관한 질문에 제대로 대답하지 못하는 경우가 종종 있습니다. 이는 면접관의 관점에서 면접자가 사용하는 도구에 대한 충분한 이해가 없이 사용한다고 생각될 수 있습니다. 따라서 이 글에서는 Spring을 사용하는 이유를 짚어보고, 그 중요성에 대해…