书籍:计算机网络自顶向下方法
图解HTTP
TCP/IP详解(卷1:协议)
计算机网络(谢希仁,基础书籍,必读)图解TCP/IP(简单明了,花上三四天时间读读这本书,挺有好处的,基础书籍,非必读)
TCP/IP详解(卷一,进阶书籍,必读)
UNIX网络编程(卷一,神书,进阶书籍,强烈推荐,跟APUE一样,腾讯的敲门砖)
图解HTTP(非必读,面试过程中http问的问题一般偏多,可以考虑在http方面详细研究,作为自己的亮点)
问题汇总
1、谈下你对五层网络协议体系结构的理解?
2、简单说下每一层对应的网络协议有哪些?
3、ARP 协议的工作原理?
4、谈下你对 IP 地址分类的理解?
5、TCP 的主要特点是什么?
6、UDP 的主要特点是什么?
7、TCP 和 UDP 的区别?
8、TCP 和 UDP 分别对应的常见应用层协议有哪些?
9、详细说下 TCP 三次握手的过程?
10、为什么两次握手不可以呢?
11、为什么不需要四次握手?
12、Server 端收到 Client 端的 SYN 后,为什么还要传回 SYN?
13、传了 SYN,为什么还要传 ACK?
14、详细说下 TCP 四次挥手的过程?
15、为什么 TIME-WAIT 状态必须等待 2MSL 的时间呢?
16、为什么第二次跟第三次不能合并, 第二次和第三次之间的等待是什么?
17、保活计时器的作用?
18、TCP 协议是如何保证可靠传输的?
19、谈谈你对停止等待协议的理解?
20、谈谈你对 ARQ 协议的理解?
21、谈谈你对滑动窗口的了解?
22、谈下你对流量控制的理解?
23、谈下你对 TCP 拥塞控制的理解?使用了哪些算法?
24、什么是粘包?
25、TCP 黏包是怎么产生的?
26、怎么解决拆包和粘包?
27、你对 HTTP 状态码有了解吗?
28、HTTP 状态码 301 和 302 代表的是什么?有什么区别?
29、forward 和 redirect 的区别?
30、HTTP 方法有哪些?
31、说下 GET 和 POST 的区别?
32、在浏览器中输入 URL 地址到显示主页的过程?
33、DNS 的解析过程?
34、谈谈你对域名缓存的了解?
35、谈下你对 HTTP 长连接和短连接的理解?分别应用于哪些场景?
36、谈下 HTTP 1.0 和 1.1、1.2 的主要变化?
37、HTTPS 的工作过程?
38、HTTP 和 HTTPS 的区别?
39、HTTPS 的优缺点?
40、什么是数字签名?
41、什么是数字证书?
42、什么是对称加密和非对称加密?
划重点:
- TCP/IP协议体系的认知
- 链路层
- 以太网帧的格式
- MTU的概念
- ARP协议和RARP协议(掌握一下ARP缓存的原理)
- 网络层
- 掌握IP的首部格式
- 掌握IP的分片
- 掌握IP选路
- ICMP协议
- 掌握报文格式
- 分类:查询 + 差错
- 两种 + 五种
- 传输层
- UDP,次要一点,掌握特点和首部各个字段
- 掌握TCP
- 特点 + 首部字段 + 可靠机制
- 连接控制 : 三次握手,四次挥手,同时打开,同时关闭,半关闭(可能问到为什么需要)
- 流量控制机制:滑动窗口,慢启动,拥塞避免,快速重传,快速恢复
- 超时重传机制
- 应用层
- 掌握DNS协议
- 名字空间
- 指针查询(反向查找或逆向解析)基本原理
- DNS缓存
- FTP协议(活化石):
- 控制流和数据流
- 两种工作模式: PASV 和 PORT
- 各种指令和响应码
- 断点续传和匿名FTP的概念
- HTTP协议:
- 报文格式:请求报文,响应报文,请求头各种字段,响应头各种字段
- HTTP状态码
- HTTPS协议
- 握手的详细过程
- 摘要算法,数字签名,数字证书的原理和过程
- 掌握DNS协议