❓ 네트워크 및 네트워크 망의 종류에 대해서 설명해주세요.
- 네트워크
물리적 전송 매체를 사용하여 서로 연결된 장치 세트를 말합니다.
- 네트워크 망의 종류
1. LAN : 한 건물 또는 사무실 내의 호스트들 간에 연결된 소규모 네트워크
2. WAN : LAN과 LAN을 연결하는 대규모 네트워크
❓ HTTP 프로토콜에 대해서 설명해주세요.
HTTP(Hyper Text Transfer Protocol)이란 데이터를 주고 받기 위한 프로토콜이며
서버/클라이언트 모델을 따릅니다.
그리고 HTTP는 상태 정보를 저장하지 않는 Stateless의 특징과
클라이언트의 요청에 맞는 응답을 보낸 후 연결을 끊는 Connectionless의 특징을 가지고 있습니다.
통신 간의 연결 상태 처리나 상태 정보를 관리할 필요가 없기 때문에 서버 디자인이 간단하다는
장점을 가지고 있으나 이전 통신의 정보를 모르기 때문에 매번 인증을 해줘야 한다는 단점이 있습니다.
이를 해결하기 위해 쿠키나 세션을 사용해서 데이터를 처리합니다.
❓ HTTP와 HTTPS의 차이점은 무엇인가요?
HTTP는 평문 데이터를 전송하는 프로토콜이기 때문에 HTTP로 중요한 정보를 주고 받으면 제 3자에 의해
조회될 수 있습니다. 이러한 문제를 해결하기 위해 HTTP에 암호화가 추가된 프로토콜이 HTTPS입니다.
HTTP는 원래 TCP와 직접 통신했지만 HTTPS에서 HTTP는 SSL과 통신하고 SSL이 TCP와 통신함으로써
암호화와 증명서, 안전성 보호를 이용할 수 있게 됩니다.
여기서 SSL은 인터넷을 통해 전달되는 정보를 보호하기 위해 개발된 통신 규약을 말합니다.
❓ 쿠키(Cookie)와 세션(Session)에 대해서 설명해주세요.
- 쿠키
클라이언트(접속자 PC)에 데이터를 저장하는 작은 기록 정보 파일을 말합니다.
만료 시점은 쿠키 저장시 설정하고 브라우저를 종료해도 만료 시점이 지나지 않으면 삭제되지 않습니다.
클라이언트에서 실행되므로 보안이 취약하지만 속도가 세션보다 빠르다는 장점이 있습니다.
- 새션
일정 시간 동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고
그 상태를 유지시키는 기술로 웹 서버에 저장이 됩니다.
만료 시점은 브라우저 종료 시 삭제가 되고 기간을 지정할 수 있습니다.
서버에서 실행되므로 속도는 느리지만 보안은 쿠키보다 좋다는 장점이 있습니다.
❓ HTTP 메소드와 이 메소드들이 사용되는 경우에 대해서 설명해주세요.
- GET
데이터를 조회할 때 사용됩니다.
- POST
요청 데이터를 처리할 때 사용됩니다.(데이터 등록)
- PUT
데이터를 변경할 때 사용됩니다.(해당 데이터가 없으면 등록)
- PATCH
일부 데이터만 변경할 때 사용됩니다.
- DELETE
데이터를 삭제할 때 사용됩니다.
❓ GET과 POST에 대해서 설명해주세요.
- GET
데이터를 조회하기 위해 사용되는 방식으로 데이터를 헤더에 추가하여 전송하는 방식입니다.
URL에 데이터가 노출되므로 보안적으로 중요한 데이터를 포함해서는 안됩니다.
ex) http://localhost:8080/boardList?name=제목&contents=내용
- POST
데이터를 추가 또는 수정하기 위해 사용되는 방식으로 데이터를 바디에 추가하여 전송하는 방식입니다.
완전히 안전하다는 것은 아니지만 URL에 데이터가 노출되지 않아 GET보다는 안전합니다.
ex) http://localhost:8080/addBoard
❓ www.naver.com에 접속할 때 생기는 과정에 대해 설명해주세요.(웹 동작 방식)

1. 사용자가 웹 브라우저에 URL을 입력합니다.
2. DNS 서버에서 도메인 네임으로 서버의 진짜 주소를 찾습니다.
3. HTTP 프로토콜을 사용해서 HTTP 요청 메세지를 생성합니다.
4. TCP/IP 연결을 통해 HTTP 요청이 서버로 전송됩니다.
5. 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메세지를 생성합니다.
6. TCP/IP 연결을 통해 요청한 컴퓨터로 전송합니다.
7. 도착한 HTTP 응답 메세지는 웹 페이지 데이터로 변환되고 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 됩니다.
❓ TCP와 UDP에 대해서 설명해주세요.
- TCP
연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정하기 때문에 높은 신뢰성을 보장하지만
속도가 비교적 느리다는 단점이 있습니다.
ex) 파일 교환
- UDP
비연결형 서비스 3-way handshaking을 사용하지 않기 때문에 신뢰성이 떨어진다는 단점이 있지만
데이터 수신 여부를 확인하지 않기 때문에 속도가 빠르다는 장점이 있습니다.
ex) 실시간 스트리밍
❓ 3 way-handshake와 4 way-handshake에 대해서 설명해주세요.
- 3 way-handshake
TCP 네트워크에서 통신하는 장치가 서로 연결이 잘 되었는지 확인하는 방법입니다.
송신자와 수신자는 총 3번에 걸쳐 데이터를 주고 받으며 통신이 가능한 상태인지 확인합니다.
- 4 way-handshake
TCP 네트워크에서 통신하는 장치의 연결을 해제하는 방법입니다.
송신자와 수신자는 총 4번에 걸쳐 데이터를 주고 받으며 연결을 끊습니다.
❓ OSI 7 Layer와 각 계층에 대해서 설명해주세요.

- 7계층(응용 계층)
사용자에게 통신을 위한 서비스를 제공하는 계층으로 인터페이스 역할을 합니다.
- 6계층(표현 계층)
데이터의 형식을 정의하는 계층을 말합니다.
- 5계층(세션 계층)
컴퓨터끼리 통신을 하기 위해 세션을 만드는 계층을 말합니다.
- 4계층(전송 계층)
최종 수신 프로세스로 데이터의 전송을 담당하는 계층으로 단위는 segment를 사용합니다.
ex) TCP, UDP
- 3계층(네트워크 계층)
패킷을 목적지까지 가장 빠른 길로 전송하기 위한 계층으로 단위는 packet를 사용합니다.
ex) Router
- 2계층(데이터링크 계층)
데이터의 물리적인 전송과 에러 검출, 흐름 제어를 담당하는 계층으로 단위는 frame을 사용합니다.
ex) 이더넷
- 1계층(물리계층)
데이터를 전기 신호로 바꿔주는 계층으로 단위는 bit를 사용합니다.
❓ 세션 기반 인증과 토큰 기반 인증의 차이점에 대해서 설명해주세요.
- 세션 기반 인증
클라이언트로부터 요청을 받으면 클라이언트의 상태 정보를 저장하므로 Stateful한 구조를 가집니다.
서버에 세션을 저장하기 때문에 사용자 증가하면 서버에 과부하를 줄 수 있어 확장성이 낮고
해커가 훔친 쿠키를 이용해 요청을 보내면 서버는 올바른 사용자가 보낸 요청인지 알 수 없다는 단점이 있습니다.
- 토큰 기반 인증
상태 정보를 서버에 저장하지 않으므로 Stateless한 구조를 가집니다.
JWT의 길이가 길어서 인증이 필요한 요청이 많아질수록 서버의 자원 낭비가 발생합니다.
단일 도메인이라면 세션 기반 인증을 사용하고 아니라면 토큰 기반 인증을 사용하는 것이 적합합니다.
세션을 관리할 때 사용되는 쿠키는 단일 도메인 및 서브 도메인에서만 작동하도록 설계되어있기 때문에
여러 도메인에서 관리하는 것은 어렵기 때문입니다.(CORS 문제)
❓ JWT 토큰에 대해서 설명해주세요.
JSON 포맷을 이용하는 Claim 기반의 웹 토큰입니다.
JWT는 헤더, 내용, 서명으로 구성되며 각 파트를 .으로 구분합니다.
- 헤더(Header)
토큰의 타입, 암호화 알고리즘을 담고 있습니다.
- 내용(Payload)
토큰의 정보를 담는 부분입니다.
- 서명(Signature)
토큰을 인코딩하거나 유효성을 검증할 때 사용하는 고유한 암호화 코드로
토큰의 정보가 신뢰할 수 있는지 판단하는 부분입니다.
❓ 대칭키, 비대칭키 암호화 방식에 대해서 설명해주세요.
대칭키와 비대칭키는 양방향 암호화 방식입니다.
- 대칭키
암호화와 복호화에 같은 암호키를 쓰는 알고리즘입니다.
중간에 누군가 암호키를 가로채면 암호화된 정보가 유출될 수 있다는 단점이 있습니다.
- 비대칭키
암호화와 복호화할 때 키를 서로 다른 키로 사용하는 암호화 알고리즘입니다.
타인에게 절대 노출되어서는 안되는 개인키와 공개적으로 개방되어있는 공개키를 쌍으로 이룬 형태입니다.
❓ CORS(Cross-Origin Resource Sharing = 교차 출처 리소스 공유)에 대해서 설명해주세요.
도메인이 서로 다른 2개의 사이트가 데이터를 주고 받을 때 발생하는 문제입니다.
따라서 다른 서버의 리소스를 불러오기 위해서는 그 출처에서 CORS에 대한 내용을 Response의 헤더에
추가해줘야 합니다.
❓ CSRF(Cross-site request forgery)에 대해서 설명해주세요.
공격자가 의도한대로 사용자가 행동하게 하여 특정 웹 페이지를 보안에 취약하게 한다거나
수정, 삭제 등의 작업을 하게 만드는 공격 방법을 의미합니다.
사용자의 요청에 referrer를 확인하여 도메인이 일치하는지 확인하는 방법으로 공격을 방어하거나
상태를 변화시키는 POST, PUT 등의 요청에 대해 CSRF 토큰이 포함되어야만 요청을 처리하여 공격을
방어할 수 있습니다.
참고 출처
https://dev-coco.tistory.com/161
신입 개발자 기술면접 질문 정리 - 네트워크
💡 HTTP 프로토콜에 대해 설명해주세요. HTTP(Hyper Text Transfer Protocol)이란 데이터를 주고 받기 위한 프로토콜이며, 서버/클라이언트 모델을 따릅니다. HTTP는 상태 정보를 저장하지 않는 Stateless의 특
dev-coco.tistory.com
'면접' 카테고리의 다른 글
신입 개발자 면접 준비 - 스프링, JPA (0) | 2024.01.22 |
---|---|
신입 개발자 기술 면접 정리 - 데이터베이스 (0) | 2024.01.19 |
신입 개발자 기술 면접 정리 - 자료구조/알고리즘 (0) | 2024.01.18 |
신입 개발자 기술 면접 정리 - JAVA (0) | 2024.01.17 |
❓ 네트워크 및 네트워크 망의 종류에 대해서 설명해주세요.
- 네트워크
물리적 전송 매체를 사용하여 서로 연결된 장치 세트를 말합니다.
- 네트워크 망의 종류
1. LAN : 한 건물 또는 사무실 내의 호스트들 간에 연결된 소규모 네트워크
2. WAN : LAN과 LAN을 연결하는 대규모 네트워크
❓ HTTP 프로토콜에 대해서 설명해주세요.
HTTP(Hyper Text Transfer Protocol)이란 데이터를 주고 받기 위한 프로토콜이며
서버/클라이언트 모델을 따릅니다.
그리고 HTTP는 상태 정보를 저장하지 않는 Stateless의 특징과
클라이언트의 요청에 맞는 응답을 보낸 후 연결을 끊는 Connectionless의 특징을 가지고 있습니다.
통신 간의 연결 상태 처리나 상태 정보를 관리할 필요가 없기 때문에 서버 디자인이 간단하다는
장점을 가지고 있으나 이전 통신의 정보를 모르기 때문에 매번 인증을 해줘야 한다는 단점이 있습니다.
이를 해결하기 위해 쿠키나 세션을 사용해서 데이터를 처리합니다.
❓ HTTP와 HTTPS의 차이점은 무엇인가요?
HTTP는 평문 데이터를 전송하는 프로토콜이기 때문에 HTTP로 중요한 정보를 주고 받으면 제 3자에 의해
조회될 수 있습니다. 이러한 문제를 해결하기 위해 HTTP에 암호화가 추가된 프로토콜이 HTTPS입니다.
HTTP는 원래 TCP와 직접 통신했지만 HTTPS에서 HTTP는 SSL과 통신하고 SSL이 TCP와 통신함으로써
암호화와 증명서, 안전성 보호를 이용할 수 있게 됩니다.
여기서 SSL은 인터넷을 통해 전달되는 정보를 보호하기 위해 개발된 통신 규약을 말합니다.
❓ 쿠키(Cookie)와 세션(Session)에 대해서 설명해주세요.
- 쿠키
클라이언트(접속자 PC)에 데이터를 저장하는 작은 기록 정보 파일을 말합니다.
만료 시점은 쿠키 저장시 설정하고 브라우저를 종료해도 만료 시점이 지나지 않으면 삭제되지 않습니다.
클라이언트에서 실행되므로 보안이 취약하지만 속도가 세션보다 빠르다는 장점이 있습니다.
- 새션
일정 시간 동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고
그 상태를 유지시키는 기술로 웹 서버에 저장이 됩니다.
만료 시점은 브라우저 종료 시 삭제가 되고 기간을 지정할 수 있습니다.
서버에서 실행되므로 속도는 느리지만 보안은 쿠키보다 좋다는 장점이 있습니다.
❓ HTTP 메소드와 이 메소드들이 사용되는 경우에 대해서 설명해주세요.
- GET
데이터를 조회할 때 사용됩니다.
- POST
요청 데이터를 처리할 때 사용됩니다.(데이터 등록)
- PUT
데이터를 변경할 때 사용됩니다.(해당 데이터가 없으면 등록)
- PATCH
일부 데이터만 변경할 때 사용됩니다.
- DELETE
데이터를 삭제할 때 사용됩니다.
❓ GET과 POST에 대해서 설명해주세요.
- GET
데이터를 조회하기 위해 사용되는 방식으로 데이터를 헤더에 추가하여 전송하는 방식입니다.
URL에 데이터가 노출되므로 보안적으로 중요한 데이터를 포함해서는 안됩니다.
ex) http://localhost:8080/boardList?name=제목&contents=내용
- POST
데이터를 추가 또는 수정하기 위해 사용되는 방식으로 데이터를 바디에 추가하여 전송하는 방식입니다.
완전히 안전하다는 것은 아니지만 URL에 데이터가 노출되지 않아 GET보다는 안전합니다.
ex) http://localhost:8080/addBoard
❓ www.naver.com에 접속할 때 생기는 과정에 대해 설명해주세요.(웹 동작 방식)

1. 사용자가 웹 브라우저에 URL을 입력합니다.
2. DNS 서버에서 도메인 네임으로 서버의 진짜 주소를 찾습니다.
3. HTTP 프로토콜을 사용해서 HTTP 요청 메세지를 생성합니다.
4. TCP/IP 연결을 통해 HTTP 요청이 서버로 전송됩니다.
5. 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메세지를 생성합니다.
6. TCP/IP 연결을 통해 요청한 컴퓨터로 전송합니다.
7. 도착한 HTTP 응답 메세지는 웹 페이지 데이터로 변환되고 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 됩니다.
❓ TCP와 UDP에 대해서 설명해주세요.
- TCP
연결형 서비스로 3-way handshaking 과정을 통해 연결을 설정하기 때문에 높은 신뢰성을 보장하지만
속도가 비교적 느리다는 단점이 있습니다.
ex) 파일 교환
- UDP
비연결형 서비스 3-way handshaking을 사용하지 않기 때문에 신뢰성이 떨어진다는 단점이 있지만
데이터 수신 여부를 확인하지 않기 때문에 속도가 빠르다는 장점이 있습니다.
ex) 실시간 스트리밍
❓ 3 way-handshake와 4 way-handshake에 대해서 설명해주세요.
- 3 way-handshake
TCP 네트워크에서 통신하는 장치가 서로 연결이 잘 되었는지 확인하는 방법입니다.
송신자와 수신자는 총 3번에 걸쳐 데이터를 주고 받으며 통신이 가능한 상태인지 확인합니다.
- 4 way-handshake
TCP 네트워크에서 통신하는 장치의 연결을 해제하는 방법입니다.
송신자와 수신자는 총 4번에 걸쳐 데이터를 주고 받으며 연결을 끊습니다.
❓ OSI 7 Layer와 각 계층에 대해서 설명해주세요.

- 7계층(응용 계층)
사용자에게 통신을 위한 서비스를 제공하는 계층으로 인터페이스 역할을 합니다.
- 6계층(표현 계층)
데이터의 형식을 정의하는 계층을 말합니다.
- 5계층(세션 계층)
컴퓨터끼리 통신을 하기 위해 세션을 만드는 계층을 말합니다.
- 4계층(전송 계층)
최종 수신 프로세스로 데이터의 전송을 담당하는 계층으로 단위는 segment를 사용합니다.
ex) TCP, UDP
- 3계층(네트워크 계층)
패킷을 목적지까지 가장 빠른 길로 전송하기 위한 계층으로 단위는 packet를 사용합니다.
ex) Router
- 2계층(데이터링크 계층)
데이터의 물리적인 전송과 에러 검출, 흐름 제어를 담당하는 계층으로 단위는 frame을 사용합니다.
ex) 이더넷
- 1계층(물리계층)
데이터를 전기 신호로 바꿔주는 계층으로 단위는 bit를 사용합니다.
❓ 세션 기반 인증과 토큰 기반 인증의 차이점에 대해서 설명해주세요.
- 세션 기반 인증
클라이언트로부터 요청을 받으면 클라이언트의 상태 정보를 저장하므로 Stateful한 구조를 가집니다.
서버에 세션을 저장하기 때문에 사용자 증가하면 서버에 과부하를 줄 수 있어 확장성이 낮고
해커가 훔친 쿠키를 이용해 요청을 보내면 서버는 올바른 사용자가 보낸 요청인지 알 수 없다는 단점이 있습니다.
- 토큰 기반 인증
상태 정보를 서버에 저장하지 않으므로 Stateless한 구조를 가집니다.
JWT의 길이가 길어서 인증이 필요한 요청이 많아질수록 서버의 자원 낭비가 발생합니다.
단일 도메인이라면 세션 기반 인증을 사용하고 아니라면 토큰 기반 인증을 사용하는 것이 적합합니다.
세션을 관리할 때 사용되는 쿠키는 단일 도메인 및 서브 도메인에서만 작동하도록 설계되어있기 때문에
여러 도메인에서 관리하는 것은 어렵기 때문입니다.(CORS 문제)
❓ JWT 토큰에 대해서 설명해주세요.
JSON 포맷을 이용하는 Claim 기반의 웹 토큰입니다.
JWT는 헤더, 내용, 서명으로 구성되며 각 파트를 .으로 구분합니다.
- 헤더(Header)
토큰의 타입, 암호화 알고리즘을 담고 있습니다.
- 내용(Payload)
토큰의 정보를 담는 부분입니다.
- 서명(Signature)
토큰을 인코딩하거나 유효성을 검증할 때 사용하는 고유한 암호화 코드로
토큰의 정보가 신뢰할 수 있는지 판단하는 부분입니다.
❓ 대칭키, 비대칭키 암호화 방식에 대해서 설명해주세요.
대칭키와 비대칭키는 양방향 암호화 방식입니다.
- 대칭키
암호화와 복호화에 같은 암호키를 쓰는 알고리즘입니다.
중간에 누군가 암호키를 가로채면 암호화된 정보가 유출될 수 있다는 단점이 있습니다.
- 비대칭키
암호화와 복호화할 때 키를 서로 다른 키로 사용하는 암호화 알고리즘입니다.
타인에게 절대 노출되어서는 안되는 개인키와 공개적으로 개방되어있는 공개키를 쌍으로 이룬 형태입니다.
❓ CORS(Cross-Origin Resource Sharing = 교차 출처 리소스 공유)에 대해서 설명해주세요.
도메인이 서로 다른 2개의 사이트가 데이터를 주고 받을 때 발생하는 문제입니다.
따라서 다른 서버의 리소스를 불러오기 위해서는 그 출처에서 CORS에 대한 내용을 Response의 헤더에
추가해줘야 합니다.
❓ CSRF(Cross-site request forgery)에 대해서 설명해주세요.
공격자가 의도한대로 사용자가 행동하게 하여 특정 웹 페이지를 보안에 취약하게 한다거나
수정, 삭제 등의 작업을 하게 만드는 공격 방법을 의미합니다.
사용자의 요청에 referrer를 확인하여 도메인이 일치하는지 확인하는 방법으로 공격을 방어하거나
상태를 변화시키는 POST, PUT 등의 요청에 대해 CSRF 토큰이 포함되어야만 요청을 처리하여 공격을
방어할 수 있습니다.
참고 출처
https://dev-coco.tistory.com/161
신입 개발자 기술면접 질문 정리 - 네트워크
💡 HTTP 프로토콜에 대해 설명해주세요. HTTP(Hyper Text Transfer Protocol)이란 데이터를 주고 받기 위한 프로토콜이며, 서버/클라이언트 모델을 따릅니다. HTTP는 상태 정보를 저장하지 않는 Stateless의 특
dev-coco.tistory.com
'면접' 카테고리의 다른 글
신입 개발자 면접 준비 - 스프링, JPA (0) | 2024.01.22 |
---|---|
신입 개발자 기술 면접 정리 - 데이터베이스 (0) | 2024.01.19 |
신입 개발자 기술 면접 정리 - 자료구조/알고리즘 (0) | 2024.01.18 |
신입 개발자 기술 면접 정리 - JAVA (0) | 2024.01.17 |