Network 면접 질문 모음

참고

웹 브라우저에 URL 입력하면 일어나는 일 - 인프라 위주

Backend-Interview-Question

[기술 면접 준비 - 8일차] 네트워크

[실무 면접 준비 - 3] 데이터베이스 & 네트워크 (Database & Network)



📌 Network 기본

❓ 브라우저에 www.naver.com을 입력 시 동작하는 순서를 설명해주세요. (⚠️ OSI 7계층, DNS 연관지어 설명)

  1. 브라우저가 URL에 적힌 값을 파싱해서 HTTP Request Message를 만들고 OS로 전송을 요청합니다.
  2. DNS Lookup을 통해 IP 주소를 확인합니다.
  3. 프로토콜 스택에 의해 패킷에 담기고 패킷에 제어정보를 추가해 LAN 어댑터에 전송합니다.
  4. LAN 어댑터는 이를 전기 신호로 변환시켜 송출합니다.
  5. 패킷은 스위칭 허브 등을 경유하여 인터넷 접속용 라우터에서 ISP(Internet Service Provider)로 전달되고 인터넷으로 이동합니다.
  6. 액세스 회선에 의해 통신사용 라우터로 운반되고 인터넷 핵심부로 전달됩니다.
  7. 고속 라우터들 사이로 목적지까지 패킷이 흘러갑니다.
  8. 핵심부를 통과한 패킷이 목적지의 LAN에 도착합니다.
  9. 방화벽이 패킷을 검사한 후 캐시 서버로 보내고 웹 서버에 갈 필요가 있는지 검사합니다.
  10. 웹 서버에 도착한 패킷은 프로토콜 스택이 패킷을 추출하여 메시지를 복원 후 웹 서버 애플리케이션에 넘깁니다.
  11. 애플리케이션은 요청에 대한 응답 데이터를 작성하여 클라이언트로 회송 후 전달된 방식 그대로 전송합니다.

❓DNS, DNS Lookup 과정에 대해 설명해주세요.

DNS

DNS Lookup 과정

  1. Host가 도메인 네임(www.naver.com)에 해당하는 IP를 얻기 위해 Local DNS Server에 요청합니다.
  2. Local DNS Server에 IP가 캐시되어 있을 경우 바로 응답하고, 없을 경우 Root DNS Server(.com 관리)에 요청해 Top Level Domain(TLD) Server의 IP를 알려줍니다.
  3. Local DNS Server는 TLD Server에 IP 요청하고, 캐시 없을 경우 Authoritative Server(naver.com 관리)의 IP를 알려줍니다.
  4. Local DNS Server는 Authoritative Server에 IP를 요청하고 Authoritative Server는 해당 도메인 네임에 대응하는 IP를 알려줍니다.
  5. Local DNS Server는 Host에게 IP를 응답합니다.
  6. Host는 IP를 사용해서 다른 Host에게 요청합니다.


📌 OSI 7계층, TCP/IP 4계층

❓ OSI 7계층은 무엇인가요?

image

  1. 물리 계층(Physical Layer) : 하나의 비트를 노드에서 다음 노드로 전송해주는 서비스를 담당합니다.
  2. 링크 계층(Link Layer) : 물리 계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 서비스를 담당합니다. (MAC)
  3. 네트워크 계층(Network Layer) : 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 라우팅과 포워딩 서비스를 담당합니다. (IP)
  4. 전송 계층(Transport Layer) : End to End 사용자들이 신뢰성있는 데이터를 주고받을 수 있게 도와줍니다. (TCP, UDP)
  5. 세션 계층(Session Layer) : 양 끝단의 응용 프로세스가 통신(동시 송수신, 반이중, 전이중)을 관리하기 위한 방법을 제공합니다.
  6. 표현 계층(Presentation Layer) : 코드 간의 번역을 담당하여 데이터의 형식상 차이를 다루는 부담을 응용 계층으로부터 덜어 줍니다.
  7. 응용 계층(Application Layer) : 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행합니다. (HTTP, DNS, SSH)

❓ 왜 OSI 7계층으로 나눴을까요?

네트워크를 7계층으로 나눈 이유는 네트워크에서 이상이 발생했을 경우 다른 레이어의 장비 및 소프트웨어를 건들지 않고도 이상이 생긴 특정 레어어만 고칠 수 있는 유지보수 측면에서의 장점과, 새로운 응용 계층 프로토콜을 개발할 경우 물리계층 부터 개발하지 않고 표현계층까지 재사용함으로써 확장성 측면에서의 장점을 가지기 때문에 네트워크를 계층적 구조인 OSI 7 레이어로 나누었습니다.

❓ TCP/IP 4계층은 무엇인가요?



📌 IP

❓ IP는 무엇인가요?


📌 TCP & UDP

❓ TCP와 UDP의 차이점은 무엇인가요?

TCP

image

image

UDP

image

image



📌 TCP의 3 way handshake, 4 way handshake

❓ 3 way handshake - 연결 성공

image

❓ 4 way handshake - 연결 해제

image



📌 Cookie & Session

❓ Cookie와 Session이 각각 무엇인지, 어떤 차이점을 가지는지 설명해주세요.

쿠키(Cookie)

세션(Session)

쿠키와 세션의 가장 큰 차이점: 어디에서 데이터를 관리하느냐

❓ 세션과 쿠키가 나오게된 이유는 무엇일까요?

❓ 쿠키 동작 방식에 대해 설명해주세요

  1. 클라이언트가 페이지를 요청합니다.
  2. 서버에서 쿠키를 생성합니다.
  3. HTTP 헤더에 쿠키를 포함 시켜 응답합니다. (Set-Cookie)
  4. 브라우저에서 쿠키를 저장합니다.
  5. 쿠키가 존재하면 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보내서 요청합니다.

❓ 쿠키는 언제 사용할까요?

❓ 세션 동작 방식에 대해 설명해주세요.

  1. 클라이언트가 서버에 접속 시 세션 ID를 발급합니다.
  2. 클라이언트는 세션 ID를 쿠키를 사용해 저장합니다. (쿠키 이름 : JSESSIONID)
  3. 클라이언트가 서버에 다시 접속 시 이 쿠키를 이용해서 세션 ID값을 서버에 전달합니다.

❓ 쿠키, 세션 방식의 장단점은 무엇인가요?

장점

단점



📌 Token

❓ 토큰 기반 인증 방식은 무엇인가요?

인증에 필요한 정보들을 암호화시킨 토큰을 통해서 인증을 하는 방식을 의미합니다.

📌 토큰 인증 동작 방식

  1. 클라이언트가 로그인을 합니다.
  2. 서버는 사용자를 확인하고 Access Token을 발급해 사용자에게 응답해줍니다.
  3. 사용자는 Access Token을 받아 쿠키와 같은 곳에 저장한 후, 인증이 필요한 요청마다 토큰을 헤더에 실어 보냅니다.
  4. 서버는 해당 토큰을 검증하고 적절한 토큰일 경우 사용자에 알맞는 데이터를 보냅니다.

❓ 토큰 기반 인증 방식의 장단점은 무엇인가요?

장점

단점

❓ JWT는 무엇인가요?

JWT란 Json Web Token의 줄임말로써 Json 포맷을 통해 사용자에 대한 속성을 저장하는 Web Token입니다.

❓ JWT 구조에 대해서 말해주세요

❓ JWT의 단점은 무엇인가요?



📌 OAuth



📌 HTTP

❓ HTTP는 무엇인가요?

HTTP는 어플리케이션 계층 프로토콜의 한 종류로써 TCP/IP 기반의 신뢰적인 프로토콜입니다. 주로 브라우저와 서버간의 통신을 하기 위해 자주 사용합니다.

❓ HTTP Header는 무엇이고 어떠한 종류가 있는지 설명해주세요.

❓ HTTP와 HTTPS의 차이는 무엇인가요?

❓ HTTPS에 대해서 설명하고 SSL Handshake에 대해서 설명해보세요.

❓ HTTP Request Method는 무엇이고 어떤 종류가 있는지 설명해주세요.

❓ GET과 POST의 차이점에 대해서 설명해보세요.

❓ HTTP Response Status Code는 무엇이며 어떤 종류가 있는지 설명해주세요.

HTTP Reponse Status Code는 말 그대로 HTTP 요청에 대한 상태를 나타내는 코드이며 100번대 코드부터 500번대 코드까지 존재합니다.

❓ HTTP 세션 유지란 무엇이고, 여러 서버가 존재할 때 세션은 어떻게 유지할 수 있을까요?

❓ RESTful에 대해 설명해주세요.

REST 아키텍쳐 스타일

왜 Uniform Interface가 중요한가요?



📌 CORS

❓ CORS는 무엇인가요?

Spring에서 CORS 문제 해결 방법



📌 처리량, 지연시간

❓ 처리량(Throughput)과 지연시간(Latency)에 대해서 설명해주세요.

처리량과 지연시간은 둘 다 컴퓨터의 성능을 나타내는데 중요한 개념입니다. Throughput은 초당 처리하는 작업의 개수를 말하며, Latency는 하나의 작업을 처리하는데 걸리는 시간을 말합니다.



📌 Network Topology

❓ 네트워크 토폴로지 종류에 대해 설명해주세요.

Bus Topology

Ring Topology

Star Topology

그 외

하이브리드 물리적 토폴로지