面试官最爱问的10个计算机网络问题,从TCP/IP到DNS,一次讲透
面试官最爱问的10个计算机网络问题,从TCP/IP到DNS,一次讲透
在技术面试中,计算机网络知识几乎是必考内容。无论是校招、社招还是考研复试,面试官都喜欢通过计算机网络问题来考察候选人的基本功。本文将深入解析10个高频出现的计算机网络面试题,帮助你构建清晰的知识体系,从容应对各类技术面试。
1. TCP三次握手与四次挥手
TCP连接的建立和终止是面试中最常被问到的内容之一。理解这个过程不仅能回答基础问题,还能展现你对网络协议设计的思考。
三次握手过程:
- 客户端发送SYN=1,seq=x的报文
- 服务端回复SYN=1,ACK=1,seq=y,ack=x+1的报文
- 客户端发送ACK=1,seq=x+1,ack=y+1的报文
注意:第三次握手可以携带数据,而前两次不能
四次挥手过程:
- 主动方发送FIN=1,seq=u的报文
- 被动方回复ACK=1,ack=u+1的报文
- 被动方发送FIN=1,ACK=1,seq=v,ack=u+1的报文
- 主动方回复ACK=1,seq=u+1,ack=v+1的报文
常见追问:
- 为什么需要三次握手而不是两次?
- TIME_WAIT状态的作用是什么?
- 如果第三次ACK丢失会怎样?
2. TCP与UDP的区别
理解TCP和UDP的差异是网络编程的基础。面试官常会要求你对比这两种传输层协议。
| 特性 | TCP | UDP |
|---|---|---|
| 连接性 | 面向连接 | 无连接 |
| 可靠性 | 可靠传输 | 尽力交付 |
| 流量控制 | 有 | 无 |
| 拥塞控制 | 有 | 无 |
| 传输效率 | 低 | 高 |
| 首部开销 | 20-60字节 | 8字节 |
| 应用场景 | 文件传输、网页浏览等 | 视频会议、DNS查询等 |
实际应用建议:
- 需要可靠传输时选择TCP
- 需要低延迟时考虑UDP
- 游戏开发中常混合使用两者
3. HTTP与HTTPS的区别
随着网络安全日益重要,HTTPS相关知识成为面试热点。
HTTP的不足:
- 明文传输,不安全
- 不验证通信方身份
- 无法证明报文完整性
HTTPS的改进:
HTTP + SSL/TLS = HTTPSHTTPS工作流程:
- 客户端发起HTTPS请求
- 服务端返回数字证书
- 客户端验证证书
- 协商对称加密密钥
- 开始加密通信
关键点:
- 混合加密机制(非对称加密+对称加密)
- 数字证书验证身份
- 防止中间人攻击
4. DNS解析过程
域名系统是互联网的"电话簿",理解其工作原理对排查网络问题很有帮助。
递归查询过程:
- 浏览器缓存 → 2. 系统缓存 → 3. 路由器缓存 → 4. ISP DNS缓存 → 5. 根域名服务器 → 6. 顶级域名服务器 → 7. 权威域名服务器
DNS记录类型:
- A记录:域名到IPv4地址
- AAAA记录:域名到IPv6地址
- CNAME记录:域名别名
- MX记录:邮件服务器
- NS记录:域名服务器
常见问题:
- DNS劫持与污染
- CDN与DNS的关系
- 如何优化DNS查询速度
5. IP地址与子网划分
IP地址是网络通信的基础,子网划分是网络工程师的必备技能。
IPv4地址分类:
- A类:1.0.0.1~126.255.255.254
- B类:128.1.0.1~191.255.255.254
- C类:192.0.1.1~223.255.254.254
- D类:224.0.0.0~239.255.255.255(组播)
- E类:240.0.0.0~255.255.255.254(保留)
子网划分示例: 给定网络192.168.1.0/24,需要划分为4个子网:
- 借用2位主机位(2²=4)
- 新掩码:255.255.255.192(/26)
- 子网范围:
- 192.168.1.0~192.168.1.63
- 192.168.1.64~192.168.1.127
- 192.168.1.128~192.168.1.191
- 192.168.1.192~192.168.1.255
6. ARP协议工作原理
地址解析协议是局域网通信的关键,理解ARP有助于排查网络连接问题。
ARP工作流程:
- 检查ARP缓存
- 若无缓存,广播ARP请求
- 目标主机单播回复ARP响应
- 更新ARP缓存
ARP命令示例:
# 查看ARP缓存 arp -a # 删除ARP条目 arp -d 192.168.1.1 # 添加静态ARP条目 arp -s 192.168.1.1 00-aa-00-62-c6-09常见问题:
- ARP欺骗攻击
- 代理ARP的应用
- 免费ARP的作用
7. 网络分层模型
OSI七层模型和TCP/IP四层模型是理解网络协议栈的基础。
模型对比:
| OSI模型 | TCP/IP模型 | 典型协议 |
|---|---|---|
| 应用层 | 应用层 | HTTP, FTP, DNS |
| 表示层 | 应用层 | SSL, TLS |
| 会话层 | 应用层 | NetBIOS, RPC |
| 传输层 | 传输层 | TCP, UDP |
| 网络层 | 网络层 | IP, ICMP, ARP |
| 数据链路层 | 网络接口层 | Ethernet, PPP |
| 物理层 | 网络接口层 | RJ45, 802.11 |
面试技巧:
- 能清楚说明各层功能
- 理解封装与解封装过程
- 知道常见协议所属层次
8. 常见网络命令使用
熟练使用网络命令能体现你的实际操作能力。
必备命令:
# 测试网络连通性 ping www.example.com # 查看路由表 route print # 追踪路由路径 tracert www.example.com # 查看网络配置 ipconfig /all # 测试端口连通性 telnet www.example.com 80 nc -zv www.example.com 80 # 网络统计信息 netstat -ano9. Web性能优化技巧
前端开发者常被问及如何优化网页加载速度,这需要网络知识作为基础。
关键优化点:
- 减少DNS查询(使用dns-prefetch)
- 减少HTTP请求(合并文件、雪碧图)
- 使用CDN加速
- 启用压缩(Gzip)
- 合理设置缓存(Cache-Control)
- 异步加载非关键资源
- 优化图片格式和大小
HTTP/2带来的改进:
- 多路复用
- 头部压缩
- 服务器推送
10. 网络安全基础
随着安全事件频发,基础安全知识成为面试必考内容。
常见攻击与防御:
- XSS:输入过滤、输出编码、CSP
- CSRF:Token验证、SameSite Cookie
- SQL注入:参数化查询、ORM
- DDoS:流量清洗、CDN
- 中间人攻击:HTTPS、证书校验
加密算法对比:
| 类型 | 特点 | 典型算法 |
|---|---|---|
| 对称加密 | 加解密同密钥,速度快 | AES, DES |
| 非对称加密 | 公私钥配对,安全性高 | RSA, ECC |
| 哈希算法 | 不可逆,用于完整性校验 | SHA-256, MD5(不推荐) |
掌握这些计算机网络核心知识,能帮助你在技术面试中展现扎实的基础。建议结合实际操作和抓包分析加深理解,而不仅仅是死记硬背概念。
