기술 면접 스터디 (3)

이원문·2023년 2월 23일
0

프레임워크와 라이브러리 차이점에 대해 설명해주세요.

프레임워크

  • 원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미합니다.

라이브러리

  • 소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임. 즉 특정 기능을 모와둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미합니다.

차이점

  • 프레임워크와 라이브러리의 차이점은 "제어 흐름"의 권한이 어디에 있는가입니다.
  • 프레임워크는 제어 흐름을 프레임 워크가 가지고 있다.
  • 라이브러리는 제어 흐름을 사용자가 가지고 있다.

캐시의 장단점과 어떤 부분에 활용하는지 설명해주세요. 프론트엔드에서 캐시를 사용할 수 있는 2~3가지 영역을 제시해주세요

캐시란?

  • 데이터나 값을 미리 복사해 놓은 임시 장소를 의미

장점

  • 캐시에 데이터를 미리 복사해 놓으면, 계산이나 접근 시간 없이 더 빠른 속도로 데이터를 접근 할 수 있습니다.

단점

  • 메모리 저장공간은 속도가 빠를수록 용량이 작고, 가격이 비싸다.

프론트엔드에서 캐시를 사용하는 영역

  1. 브라우저 캐싱
  • 이전에 방문했던 페이지, 제목의 썸네일 등을 서버로 요청하지 않고, 브라우저에 캐싱을 해두면 사용자는 자신의 요청을 서버로부터 기다리지 않고, 바로 캐시메모리로 응답 받을 수 있어 웹 서핑이 빠르다고 느끼고, 서버는 불필요한 요청을 받지않아 과부하를 피할수 있다.
  1. proxy
  • 웹 브라우저와 서버 사이에 proxy 라는 것을 두는 방식이다. proxy는 “대리인” 이라는 뜻의 영어 단어로서, 중간에서 뭔가를 대신해주는 것을 '프록시'라고 한다.
  • 프록시의 경우 여러 컴퓨터로부터 요청을 받고 처리하다 보니 같은 데이터가 자주 접근될 확률이 높아져서 캐시의 성능이 좋아지고, 데이터를 캐시에서 반환하는 확률이 더 높아진다.

HTTP에 대해 설명하고, 알고있다면 HTTP 메세지 구조에 대해 더 자세히 설명해주세요

HTTP 란?

  • HTTP는 Hyper Text Transfer Protocol의 두문자어로, 인터넷에서 데이터를 주고받을 수 있는 프로토콜입니다.
  • 프로토콜은 규칙이라고 생각하면 된다.
  • HTTP는 TCP/IP 기반으로 되어있다.
  • HTTP 기본적으로 request(요청)/response(응답) 구조로 되어있다.

HTTP 메세지 구조

Request(요청) - 클라이언트가 서버로
Response(응답) - Request에 대한 서버의 응답

  1. Start Line - 요청 또는 상태라인
    Start Line에는 HTTP 메소드, Request target, HTTP version이 있습니다.

  2. Header - 헤더는 생략이 가능
    Header에는 HTTP Request 그 자체에 대한 정보를 담고 있습니다. key : value 형태로 이루어져 있습니다.

  3. Blank Line - 헤더의 끝을 빈 줄로 식별

  4. body - 바디는 생략이 가능
    HTTP Request가 전송하는 데이터를 담고 있는 부분입니다. 전송하는 데이터가 없다면 Body 부분은 비어있습니다.

profile
have a nice day

0개의 댓글