본문 바로가기

[이직 면접] 질의 응답20

[Spring Framework] 서블릿(Servlet)의 역할과 동작 원리 # 질의 응답 상황[면접관]지원자님, Spring Framework을 주로 사용하셨다고 들었습니다. 서블릿에 대해서 간략하게 설명해 주세요. [막개발자] 서블릿 (Servlet)은 Java를 이용해 웹페이지를 동적으로 생성하는 서버 측 프로그램입니다. 사용자의 입력을 받아 동적인 HTML을 만드는 역할을 하며, JSP와 비슷하게 혼동될 수 있습니다. JSP는 HTML 문서 내에 Java를 삽입한 형태로, 이를 컴파일하면 서블릿으로 변환됩니다. 서블릿은 서블릿 컨테이너를 통해 관리되며, 톰캣과 같은 WAS에서 실행됩니다. 클라이언트 요청에 따라 실행할 서블릿을 제어하는 역할을 합니다.   # 상세 설명 1. 서블릿(Servlet)서블릿은 자바 기반의 서버 프로그램으로, 클라이언트 요청을 처리하고 동적인 데.. 2021. 1. 19.
[Spring Framework] WAS 구동 순서 및 Spring 초기화 과정 # 질의 응답 상황[면접관]지원자님 Spring Framework을 주로 사용하셨는데 WAS 구동 순서에 대해서 간략하게 설명해주세요. [막개발자] 먼저 WAS를 구동하게 되면web.xml 파일을 로딩합니다.listener 태그의 ContextLoaderListener가 생성됩니다.그 후 root-context 정보를 로딩합니다.(root-context.xml 혹은 appcontextConfig.java 파일을 참조합니다.)root-context의 Spring 컨테이너가 구동되어 뷰 외의 공통 빈들이 생성됩니다.WAS가 구동된 후,5. Spring 컨테이너가 생성된 후 클라이언트 요청이 들어옵니다.6. 해당 URL 패턴에 매핑된 서블릿을 찾고,7. servlet-context(WebAppContextCo.. 2021. 1. 19.
[Java] Java 언어의 특징과 동작 원리 # 질의 응답 상황[면접관]지원자님 Java 언어를 주로 사용하셨는데 Java가 무엇인지 간략하게 설명해주세요. [막개발자] Java는 대표적인 객체지향프로그래밍 언어로 객체들을 유기적으로 연결하여 하나의 프로그램을 만드는 것입니다.JVM 위에서 동작하기 때문에 운영체제 종류에 상관이 없습니다.Garbage Collector를 통해 메모리를 자동으로 관리해줍니다.멀티스레딩(Multi-threading)을 지원합니다.동적 로딩(Dynamic Loading)으로 미리 객체를 만들지 않고 필요 시점에 동적으로 클래스를 로딩하여 객체를 생성합니다.  # 상세 설명 Java란 무엇인가?Java는 객체지향 프로그래밍(Object-Oriented Programming) 언어로, Sun Microsystems에서 19.. 2021. 1. 19.
[Java] JVM, JRE, JDK의 차이점과 역할에 대해 설명하세요 # 질의 응답 상황[면접관]지원자님 JAVA를 주로 사용하셨는데 JVM, JRE, JDK에 대해서 간략하게 설명해주세요. [막개발자] JVM (Java Virtual Machine)은 자바 가상 머신으로, 자바 바이트코드를 실행하는 환경을 제공합니다. JRE(Java Runtime Environment)는 자바 애플리케이션을 실행하는 데 필요한 라이브러리와 JVM을 포함하고 있는 실행 환경이며, JDK(Java Development Kit)는 자바 프로그램을 개발하기 위한 모든 도구가 포함된 개발 환경입니다. 간단히 말해서, JVM은 자바 바이트코드를 실행하는 핵심 요소이고, JRE는 애플리케이션 실행을 위한 환경을, JDK는 개발에 필요한 모든 도구를 포함합니다.   # 상세 설명 JVM, JRE, J.. 2021. 1. 19.
[Spring Framework] 어노테이션(Annotation)에 대해서 말씀하세요 # 질의 응답 상황[면접관]지원자님, Spring Framework을 주로 사용하셨는데 사용해보신 어노테이션(Annotation)에 대해서 간략하게 설명해주세요. [막개발자] Spring Framework는 어노테이션들을 통해 개발자가 객체 생성, 의존성 주입, 트랜잭션 관리 등 복잡한 작업을 간소화할 수 있도록 지원합니다. 이를 통해 코드의 가독성과 유지보수성을 높이고, 생산성을 극대화할 수 있습니다.@Controller: 컨트롤러 클래스를 의미합니다.@Service: 서비스 클래스를 의미합니다.@Repository: DAO 클래스를 의미합니다.@Component: 그 외의 비즈니스 클래스나 유틸리티 클래스에 사용합니다.@Autowired: 객체의 타입으로 의존성 주입을 합니다.@Qualifier: 동.. 2021. 1. 19.
[JavaScript] Ajax와 Fetch에 대해서 말씀하세요 # 질의 응답 상황[면접관]지원자님 FrontEnd 경력이 있으신데, Ajax와 Fetch에 대해서 간략하게 설명해주세요. [막개발자] [Ajax]Ajax는 JavaScript를 사용한 비동기 통신 방식으로 클라이언트(Client)와 서버(Server) 간에 XML 데이터를 주고받는 기술입니다.여기서 말하는 비동기 통신이란, 클라이언트가 서버에 요청을 한 후, Response가 올 때까지 멈추어 있는 것이 아니라, 그 프로그램은 계속 돌아간다는 의미입니다.Ajax를 사용하여 비동기 통신을 통해 웹페이지를 Reload하지 않고 데이터를 주고받을 수 있습니다.[Fetch]Fetch는 비동기 서버 통신 방식인 Ajax의 최신 기술로 Promise 방식을 기반으로 동작하는 것이 특징입니다.Return이 Prom.. 2021. 1. 6.