書籍:計算機網絡自頂向下方法
圖解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協議