网络面试题
核心定位 本文整理网络方向常见面试题,重点覆盖 TCP/IP、DNS、HTTP/HTTPS、负载均衡、防火墙、连接状态和故障排查。
1. TCP 三次握手是什么
1.1. 参考答案
TCP 三次握手用于建立可靠连接:
客户端 → SYN → 服务端
客户端 ← SYN+ACK ← 服务端
客户端 → ACK → 服务端
三次握手的核心目的是确认双方收发能力正常,并协商初始序列号。
2. TCP 四次挥手是什么
2.1. 参考答案
TCP 四次挥手用于关闭连接:
主动关闭方 → FIN → 被动关闭方
主动关闭方 ← ACK ← 被动关闭方
主动关闭方 ← FIN ← 被动关闭方
主动关闭方 → ACK → 被动关闭方
因为 TCP 是全双工协议,两个方向的数据流需要分别关闭。
3. TIME_WAIT 为什么存在
3.1. 参考答案
TIME_WAIT 的作用:
- 确保最后一个 ACK 能被对端收到。
- 避免旧连接中的延迟报文影响新连接。
TIME_WAIT 过多通常与短连接、高并发请求或连接复用不足有关。
4. DNS 解析流程是什么
4.1. 参考答案
典型流程:
浏览器缓存 → 操作系统缓存 → 本地 DNS → 根 DNS → 顶级域 DNS → 权威 DNS
排查命令:
nslookup example.com
dig example.com
5. HTTP 和 HTTPS 有什么区别
5.1. 参考答案
| 对比项 | HTTP | HTTPS |
|---|---|---|
| 加密 | 无 | TLS 加密 |
| 默认端口 | 80 | 443 |
| 身份校验 | 无证书校验 | 使用证书验证服务端身份 |
| 安全性 | 明文传输 | 防窃听、防篡改、防冒充 |
HTTPS = HTTP + TLS。
6. 502、503、504 如何区分
6.1. 参考答案
| 状态码 | 含义 | 常见原因 |
|---|---|---|
| 502 | 网关从上游收到异常响应 | 上游连接失败、进程异常退出 |
| 503 | 服务不可用 | 无可用后端、过载、维护 |
| 504 | 网关等待上游超时 | 上游处理慢、网络慢、超时配置过短 |
排查时应查看网关日志、上游服务状态、连接数、延迟和错误率。
7. LVS 和 HAProxy 有什么区别
7.1. 参考答案
| 对比项 | LVS | HAProxy |
|---|---|---|
| 工作层级 | 四层负载均衡 | 四层/七层负载均衡 |
| 性能 | 很高 | 较高,七层能力强 |
| 功能 | 转发为主 | 支持 HTTP 路由、健康检查、Header 处理 |
| 场景 | 大流量四层入口 | 应用层负载均衡和网关 |
8. 网络不通怎么排查
8.1. 参考答案
按链路逐层排查:
- 本机 IP、路由、网关。
- DNS 是否解析正确。
- 目标端口是否监听。
- 防火墙、安全组、ACL。
- 中间负载均衡或网关。
- 服务端应用日志。
常用命令:
ip addr
ip route
ping <ip>
traceroute <host>
ss -lntp
curl -v http://example.com
9. 面试总结
标准回答 网络面试题应按 TCP/IP 分层理解。连接建立看 TCP 三次握手,连接关闭看四次挥手,连接异常看状态和端口;域名访问先经过 DNS,再进入负载均衡、网关和后端服务;HTTPS 在 HTTP 之上增加 TLS 加密和证书校验。生产排障要按客户端、DNS、路由、防火墙、负载均衡、服务端口和应用日志逐层定位。
关联文档
- 网络基础:系统理解网络分层和基础概念。
- DNS 基础原理:理解域名解析流程。
- TCP连接状态查看全套方法:排查 TCP 连接状态。
- LVS 与 HAProxy 完整深度详解:理解负载均衡方案差异。
