共计 2729 个字符,预计需要花费 7 分钟才能阅读完成。
-
计算机网络求职高频面试题:开始刷题
大纲

知识
学习重点
- 计算机网络分层模型以及各层的作用
- 数据在两台计算机之间的整个网络传输过程(网站加载过程)
- 应用层协议:HTTP、HTTPS、DNS
- 传输层协议:TCP(重中之重)、UDP
学习建议
- 计算机网络的理论知识较多,初学不建议啃教材或者专业书籍,而是通过一些趣味科普书籍或视频来逐步了解。
- 建议和写文章一样,从整体到局部去学计算机网络,先了解有哪些网络分层、每个层次的作用和联系,再去按序了解每个层次内部的协议和细节。
- 计算机网络知识不要去死记硬背,哪怕记不住也没关系,等自己开发程序的时候可以思考数据传输的过程(比如网站加载的过程),通过抓包等实操的方式来加深印象。
- 不从事网络相关工作的话,计算机网络不用学的很深入,学习完重点知识就够了,甚至直接通过看面试题去学习也完全没有关系。
- 如果要从事网络相关工作(比如网络工程师),建议去考一些认证,比如华为认证、思科认证等等,可以自行了解一下。
学习路线
建议大家按照以下 3 个阶段来学习:
- 基础学习
- 实际运用
- 备战面试
一、基础学习
本阶段的目标:了解计算机网络基础知识,跟着一个视频或书籍过一遍,对网络分层模型和重点知识有个大致的印象即可。
自学网络可能会比较枯燥,建议先看看有趣的课外书,比如《图解 HTTP》,当个睡前读物即可。
正式学习网络的话,如果目标是求职,可以看《计算机网络微课堂》视频课来入门。
后面要面试前,再重点去背一些八股文就行。
推荐资源
-
视频
-
书籍
- ⭐《图解 HTTP》:https://www.aliyundrive.com/s/HifozcgJwep 提取码: 9gc7
- ⭐《图解 TCP / IP》:https://www.aliyundrive.com/s/XYyAymeeXRy 提取码: 9gc7
- 《网络是怎样连接的》:https://www.aliyundrive.com/s/3FgCbvHGQQZ 提取码: 9gc7
- 《计算机网络(第 7 版)》 谢希仁:https://www.aliyundrive.com/s/3VsnQoKqxdi 提取码: 9gc7
- 《计算机网络 – 自顶向下方法(第 6 版)》:https://www.aliyundrive.com/s/Dc3itcB6GU9 提取码: 9gc7(大黑书,难度比较大,一般不推荐)
-
大学课件
- 浙大计算机网络基础:https://github.com/QSCTech/zju-icicles
二、实际运用
本阶段可跳过,在开发中实践即可
比如:
- 后端开发:基于 Socket 开发自己的通讯应用 / 框架、实现自己的浏览器、阅读开发框架源码等
- 前端开发:使用 HTTPS 协议增加网站安全性、使用 HTTP 2 协议提高网站加载速度、使用控制台等抓包工具分析请求 / 响应
- 网络工程师:使用华为 eNSP 或 Cisco Packet Tracer 模拟器搭建网络拓扑并进行配置
- 安全工程师:使用 Wireshark 之类的抓包工具分析数据包 / 数据帧
资源
- 《计算机网络-自顶向下方法(第 6 版)》编程作业:https://github.com/moranzcw/Computer-Networking-A-Top-Down-Approach-NOTES
- 《计算机网络 – 自顶向下方法》习题 / 编程 / 实验答案:https://github.com/jzplp/Computer-Network-A-Top-Down-Approach-Answer
- 哈工大计算机网络实验:https://github.com/rccoder/HIT-Computer-Network
三、备战面试
面试时对计算机网络的考察主要有 5 种形式(主要针对前后端开发):
- 直接问你某个具体的知识点,比如:讲解 TCP 三次握手和四次挥手机制
- 结合不同方向的专业知识来考察,比如:谈谈网站的加载过程(前端)、聊聊四七层负载均衡的实现和优缺点(后端)
- 通过实际开发中遇到的问题考察你的网络基础,比如:网站加载过慢,有哪些优化方式?
- 问你某个框架(轮子)的核心设计和源码细节,可能会包含计算机网络知识点的运用,比如 Netty 针对 UDP 协议的封装设计
- 系统设计类问题,比如:如何实现一个浏览器?(这种问题相对比较少)
经典面试题
- 计算机网络分层结构,各层有哪些常用协议?
- TCP 和 UDP 协议的区别?如何选择应用哪个协议?
- TCP 为什么需要三次握手和四次挥手?为什么不是两次握手、四次握手?为什么不是三次挥手?
- TCP 滑动窗口和拥塞控制机制
- TCP 如何保证可靠性?
- HTTP 协议常用状态码和含义
- HTTP 和 HTTPS 协议的区别?
- HTTPS 的原理、请求流程?
- HTTP 2 为什么快?
- HTTP 的短连接和长连接,以及如何选择?
- POST 和 GET 请求的区别
- 浏览器中输入URL 返回页面的过程?(包括 DNS 解析过程)
- Cookie 和 Session 的区别?
资源
总结复习
- ⭐️ 小林的图解网络:https://pan.baidu.com/s/1D6ygpsrZbEKK9V-Z80xcvQ 提取码: ecf2(号主原创,质量很高)
- 软件设计师计算机网络考点:https://pan.baidu.com/s/1K1hpKuS6XGG71jWr4N3UCg 提取码: 2g55
- 软件设计师计算机网络基础知识:https://pan.baidu.com/s/1XJzDJcxRhqs360nw-_T8VA 提取码: cs81
- 计算机网络基础面试宝典:https://pan.baidu.com/s/1whsPlPyDnQGf8uH5sV4Awg 提取码: 5j4n
- 13 道计算机网络面试题:https://pan.baidu.com/s/1Ou_aEWq4o7cfoz1TY126TA 提取码: 8uru
面试题
- ⭐️ 阿秀的 100+ 计算机网络面试题汇总:https://interviewguide.cn/#/Doc/Knowledge/计算机网络/计算机网络
- 25 道计算机网络面试题总结:https://blog.csdn.net/lxw1844912514/article/details/120279006
加油小伙伴们!
计算机网络学习路线 | 25 年最新零基础到精通一条龙(万人收藏⭐️) – 📚2025 年最新编程学习路线(汇总) – 编程导航教程
正文完