기술 면접 스터디 (1)

이원문·2023년 2월 21일
0
post-custom-banner

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

브라우저란?

사용자가 선택한 자원(HTML문서,PDF,이미지등 다양한 형태를 띌 수 있으며 자원의 주소는 URL에 의해 정해집니다.)을 서버에 요청하고 브라우저에 표시하는 것.

렌더링

서버로부터 HTML, CSS, JavaScript 등 작성한 파일을 받아 브라우저에 뿌려주는 것.

렌더링 순서

  1. 불러오기
    로더(Loader)가 서버로부터 전달받은 리소스 스트림을 읽는 과정

  2. DOM, CSSOM 생성
    웹 엔진의 HTML/XML 파서가 문서를 파싱해 DOM Tree를 CSS파서가 CSSOM 트리를 생성

  3. 생성된 DOM과 CSSOM으로 렌더링 트리 생성
    DOM Tree + CSSOM Tree, 렌더링에 필요한 노드만 선택해 페이지를 렌더링 하는데 사용

  4. CSS, Layout
    렌더트리를 토대로 그려질 노드와 스타일, 크기를 계산.
    렌더링 트리에서 위치, 크기등을 알 수 없기 때문에 객체들에게 위치 크기 등을 정해주는 과정
    CSS는 선택자에 따라서 적용되는 태그가 다르기 때문에 모든 CSS 스타일을 분석해 태그에 스타일 큐칙이 적용되게 결정

  5. 그리기
    렌더트리의 각 노드를 실제 픽셀로 변환하여 실제 그리는 작업을 실행

참고: https://velog.io/@zaman17/%EA%B8%B0%EC%88%A0%EB%A9%B4%EC%A0%91%EB%8C%80%EB%B9%84-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80-%EB%A0%8C%EB%8D%94%EB%A7%81-%EC%88%9C%EC%84%9C%EC%99%80-%EC%9B%90%EB%A6%AC

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

REST 란?

REST(Representational State Transfer)
자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미
1. HTTP URI를 통해 자원을 명시하고
2. HTTP Method(CRUD 등)을 통해
3. 해당 자원(URL)에 대한 CRUD OPeration을 적용하는 것을 의미

REST의 구성 요소 3가지

  1. 자원(Resource) : HTTP URI
  2. 자원에 대한 행위(Verb) : HTTP Method
  3. 자원에 대한 행위의 내용(Representations) : HTTP Message Payload

REST API

REST API란 REST의 원리를 따르는 API를 의미합니다.

CRUD Operation

CRUD는 기본적인 데이터 처리 기능 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말.
Create : 데이터 생성(POST)
Read : 데이터 조회(GET)
Update : 데이터 수정(PUT, PATCH)
Delete : 데이터 삭제(DELETE)

REST API 설계 예시

  1. URI는 동사보다는 명사, 대문자 보다는 소문자를 사용해야 한다.
  2. 마지막에 / (슬래시)를 포함하지 않는다.
  3. 언더바 대신 하이폰을 사용해야 한다(-)
  4. 파일 확장자는 URl에 포함하지 않는다. ex) .jpg 등
  5. 행위를 포함하지 않는다. (CRUD 등

RESTFUL 이란?

RESTFUL이란 REST의 원리를 따르는 시스템을 의미합니다.
REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 말할 수 있습니다.

profile
have a nice day
post-custom-banner

0개의 댓글