主题
面试题蒸馏卡:计算机网络
高频题按「问题 → 追问链 → 标准答要点 → 常见误解」编排,覆盖四套源稿(Fcant / 叶 / 老鱼干 / 蚁群)重复出现的题目。
1. OSI 与 TCP/IP 各层结构、功能、协议
- 追问链:OSI 几层?→ 每层干什么、数据单元是什么?→ TCP/IP 几层?→ 应用层协议有哪些?
- 标准答:OSI 七层(应用/表示/会话/传输/网络/链路/物理),TCP/IP 四层(应用/传输/网际/网络接口)。传输层 TCP(面向连接可靠)/UDP(无连接);网络层 IP 数据报、路由选择;链路层组帧;物理层透明传比特。
- 常见误解:把「UDP 用户数据报」和「IP 数据报」混为一谈。
2. TCP 三次握手为什么是三次,两次不行吗?
- 追问链:握手交换了什么?→ 每轮谁确认了什么?→ SYN 是什么、为何还要 ACK?
- 标准答:交换并确认双方的序列号起始值。两次握手至多只能确认客户端序列号,服务器序列号得不到确认。
- 常见误解:以为三次握手只是「多确认一次」,其实是为了双向可靠。
3. 四次挥手为什么比握手多一次?
- 追问链:FIN 表示什么?→ 收到 FIN 能立即关闭吗?→ TIME-WAIT 是谁的、多久?
- 标准答:TCP 半关闭,FIN 只表示「我不再发数据」,对方可能还有数据要发,故 ACK 与 FIN 分开发。TIME-WAIT 是主动关闭方,等 2*MSL。
- 常见误解:以为服务端也等 2MSL(服务端收 ACK 立即 CLOSED)。
4. TCP 如何保证可靠传输?
- 追问链:丢了怎么办?→ 乱了怎么办?→ 对方处理不过来怎么办?→ 网络堵了怎么办?
- 标准答:序号 + 确认 + 超时重传 + 校验和 + 去重;滑动窗口(流量控制)+ 拥塞控制(慢开始/拥塞避免/快重传/快恢复)。
- 常见误解:只答「三次握手」不答序号确认重传机制。
5. TCP 和 UDP 的区别?
- 追问链:分别什么场景?→ 首部开销多大?→ 为什么直播用 UDP?
- 标准答:TCP 面向连接/可靠/字节流/一对一/首部 20-60 字节;UDP 无连接/不可靠/报文/可一对多/首部 8 字节。UDP 适合实时(直播/视频会议),TCP 适合要求可靠(文件/邮件)。
- 常见误解:以为 UDP 一无是处,忽略它低开销适合实时。
6. 浏览器输入 URL 到显示页面的过程?
- 追问链:DNS 用什么协议?→ 建立什么连接?→ 各环节用了哪些协议?
- 标准答:DNS 解析 → TCP 连接 → 发 HTTP 请求 → 服务器处理返回 HTML → 浏览器解析渲染 → 连接结束。涉及 DNS、TCP、IP、OSPF、ARP、HTTP。
- 常见误解:漏掉 ARP(IP→MAC)和路由选择环节。
7. HTTP 和 HTTPS 的区别?
- 追问链:端口?→ 安全性靠什么?→ HTTPS 通信步骤?
- 标准答:HTTP 明文(80)、HTTPS = HTTP + SSL/TLS(443)。HTTPS 混合加密 + 摘要 + 证书。资源消耗更高、需 CA 证书。
- 常见误解:以为 HTTPS 全程非对称加密。
8. GET 和 POST 的区别?
- 追问链:安全吗?幂等吗?→ 长度限制是谁规定的?→ GET 能带 body 吗?
- 标准答:GET 获取资源(URL 传参、安全幂等、可缓存),POST 处理资源(body 传参、不安全非幂等)。长度限制是浏览器/服务器实现,协议无限制;GET 理论上也能带 body。
- 常见误解:「GET 上限 1024 字节」「POST 一定比 GET 安全」都是错。
9. 对称加密和非对称加密的区别?
- 追问链:各自算法?→ 谁快谁慢?→ 为什么 HTTPS 用混合?
- 标准答:对称同钥(DES/AES,快),非对称公钥+私钥(RSA/ECC,慢)。HTTPS 用非对称交换会话密钥 + 对称加密传数据。
- 常见误解:以为非对称加密比对称「更安全所以用它传数据」。
10. Cookie 和 Session 的区别?
- 追问链:存哪?→ 大小?→ Cookie 禁用怎么办?
- 标准答:Cookie 存客户端(≤4KB),Session 存服务端(无限制)。通过 Cookie 携带 Session ID 跟踪;禁用 Cookie 用 URL 重写。
- 常见误解:以为 Session 存客户端。
11. HTTP 常见状态码?
- 追问链:五类各是什么?→ 301/302 区别?→ 304 是什么?
- 标准答:1xx 信息/2xx 成功/3xx 重定向/4xx 客户端错/5xx 服务端错。301 永久、302 临时、304 缓存未修改、401 未认证、403 禁止、404 未找到、500 内部错、502 网关错、503 忙。
- 常见误解:把 304 当重定向(实为缓存)。
12. HTTP 长连接、短连接的区别?
- 追问链:谁默认长连接?→ 长连接字段是什么?→ 实质是什么连接?
- 标准答:HTTP/1.0 默认短连接,HTTP/1.1 起默认长连接(
Connection: keep-alive)。HTTP 的长/短连接实质是 TCP 的长/短连接。 - 常见误解:把「HTTP Keep-Alive」和「TCP Keepalive」搞混。
关联
- 分层/可靠:计算机网络技术栈总览 / 概念卡片:TCP可靠传输与拥塞控制
- HTTP/HTTPS:概念卡片:HTTP协议与报文 / 概念卡片:HTTPS与加密机制
- 缓存/版本:概念卡片:HTTP缓存与版本演进