🎤 Tech Interview
[Tech Interview] Part 9. Project
💡 Spring Security에 대해 설명해주세요. Spring Security는 스프링 기반 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크입니다. 주로 서블릿 필터와 이들로 구성된 필터체인으로의 위임모델을 사용하며, 보안과 관련하여 체계적으로 많은 옵션을 제공해주기 때문에 개발자 입장에서는 일일이 보안관련 로직을 작성하지 않아도 된다는 장점이 있습니다. 💡 OAuth 2.0에 대해 설명해주세요. OAuth 2.0(Open Authorization 2.0)은 인증을 위한 개방형 표준 프로토콜입니다. 이 프로토콜에서는 Third-Party 프로그램에게 리소스 소유자를 대신하여 리소스 서버에서 제공하는 자원에 대한 접근 권한을 위임하는 방식을 제공합니다. 구글, 페이스북, ..
[Tech Interview] Part 8. ETC
💡 Restful API에 대해 설명해주세요. Restful API는 HTTP 통신을 REST 설계 규칙을 잘 지켜서 개발한 API를 말합니다. REST 설계 규칙이란 URI는 정보의 자원만 표시해야하며, 자원의 상태와 행위는 HTTP Method에 명시하는 것을 말합니다. 즉, 어떤 자원에 대하여 CRUD 연산을 수행하기 위해 특정 URI로 GET, POST 등의 메서드를 사용해 요청을 보내는 것을 말합니다. 이로써 Restful API는 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청의 모습 자체로 추론이 가능하다는 특징을 갖고 있습니다. 💡 프레임워크와 라이브러리의 차이에 대해 설명해주세요. 이 둘의 가장 큰 차이점은 제어 흐름에 대한 주도권이 누구에게/어디에 있는가에 있습니다. 프레임워크는..
[Tech Interview] Part 7. Back-End
💡 WAS(Web Application Server)와 WS(Web Server)의 차이를 설명해주세요. 웹 서버는 이미지나 단순 HTML과 같은 정적인 컨텐츠를 제공하는 서버입니다. Apache 반면 WAS는 DB 조회나 어떤 로직을 처리해야 하는 동적인 컨텐츠를 제공하는 서버입니다. Tomcat 💡 Spring Framework에 대해 설명해주세요. 스프링 프레임워크는 자바 개발을 편리하게 해주는 오픈소스 프레임워크 입니다. 스프링은 경량 컨테이너로서 자바 객체를 직접 관리합니다. 즉, 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 개발자는 스프링으로부터 필요한 객체를 얻어올 수 있습니다. 또한 제어의 역전(IoC)이라는 기술을 통해 오브젝트의 생성과 의존 관계 설정 등의 작업을 어플리케이션 코드..
[Tech Interview] Part 6. Operation System
💡 프로세스와 쓰레드의 차이에 대해 설명해주세요. 프로세스 프로세스는 현재 실행 중인 프로그램을 말하며, 완벽히 독립적이기 때문에 메모리 영역(Code, Data, Heap, Stack)을 다른 프로세스와 공유하지 않습니다. 프로세스는 최소 1개의 쓰레드(메인 쓰레드)를 가지고 있습니다. 쓰레드 쓰레드는 프로세스 내에 존재하며 프로세스가 할당받은 자원을 이용하여 실행됩니다. 쓰레드는 프로세스 내에서 Stack 영역만 따로 할당 받고, 그 이외의 메모리 영역(Code, Data, Heap)은 공유하기 때문에 다른 쓰레드의 실행 결과를 즉시 확인할 수 있습니다. 💡 멀티 프로세스와 멀티 쓰레드의 특징에 대해 설명해주세요. 멀티 프로세스 멀티 프로세스란 다수의 프로세서(CPU)가 협력적으로 하나 이상의 작업(..