본문 바로가기
매일 해내는 개발/Develog

[Develog] 기술 면접 대비 질문과 답 #2

by 해야지 2023. 3. 27.
반응형

1. 웹 페이지가 브라우저에 렌더링되는 과정을 설명해주세요.

답변1

웹페이지가 브라우저에 렌더링되는 과정은 브라우저가 HTML 파일을 받아들이고, 이를 해석하여 DOM(Document Object Model)을 생성합니다. 이후 브라우저는 CSS(Cascading Style Sheets) 파일을 처리하며, 각 요소들의 위치와 크기 등을 계산하여 화면에 표시할 내용을 준비합니다. 마지막으로, 브라우저는 계산된 내용을 토대로 화면에 웹페이지를 렌더링합니다. 이러한 과정을 통해 사용자는 브라우저에서 웹페이지를 확인할 수 있습니다.

답변2

웹페이지가 브라우저에 렌더링되기 위해서는 브라우저가 서버로부터 HTTP 요청을 보내고, 서버가 응답으로 HTTP 메시지를 반환해야 합니다. 이후 브라우저는 HTTP 파싱 과정을 거쳐 메시지를 분석하고, 필요한 데이터와 자원들을 추출합니다. 이후 HTML, CSS, JavaScript 등의 리소스들을 다운로드하고, DOM 트리, CSSOM 트리, 렌더 트리를 구성하여 최종적으로 웹페이지를 브라우저에 렌더링합니다. 따라서 HTTP 파싱은 웹페이지 렌더링의 중요한 과정 중 하나입니다.

2. Restful API에 대해 설명해주세요. GET,POST 외에 알고있는 메소드와 그 기준을 설명해주세요. RESTful API 가 아닌 것들은 어떤게 있나요?

RESTful API는 (Representational State Transfer(표현 상태 전이)) 자원을 URI(Uniform Resource Identifier)로 표현하고 GET POST 등과 같은 HTTP 메소드를 사용하여 자원에 대한 CRUD 연산을 수행하는 웹 서비스 API 디자인 패턴입니다.

HTTP 메소드 중에서 GET, POST, PUT, DELETE 등이 있는데, GET은 READ연산으로 리소스의 조회를 요청하는 메소드입니다. 서버에서 리소스를 반환하게 됩니다. POST는 CREATE연산으로 리소스를 생성하는 요청을 보내는 메소드입니다. 서버에서는 해당 리소스의 URI를 반환하게 됩니다. PUT은 UPDATE 리소스의 수정을 요청하는 메소드입니다. 서버에서는 해당 리소스를 업데이트하거나 새로 생성하게 됩니다.

DELETE: 리소스의 삭제를 요청하는 메소드입니다.

이외에도 HEAD, OPTIONS, PATCH 등의 HTTP 메소드도 사용할 수 있습니다.

RESTful API가 아닌 것들로는, SOAP(Simple Object Access Protocol)이나 GraphQL 등의 다른 웹 서비스 디자인 패턴이 있습니다. SOAP는 XML 기반의 프로토콜로, 복잡한 데이터 구조와 다양한 인증 방식 등의 기능을 제공하며, 웹 서비스 간의 통신을 위해 WSDL(Web Services Description Language)을 사용합니다. GraphQL은 API 요청 시 클라이언트가 필요한 데이터만 요청할 수 있는 쿼리 언어입니다. RESTful API와 비교했을 때, 더 세부적인 데이터 요청이 가능하고, 여러 개의 요청을 한 번에 처리할 수 있어서 성능적으로 우수한 결과를 보인다는 장점이 있습니다.

반응형

댓글