計(jì)算機(jī)網(wǎng)絡(luò)作為計(jì)算機(jī)科學(xué)的基礎(chǔ)學(xué)科,在技術(shù)面試中占據(jù)著至關(guān)重要的地位。無論是校招還是社招,扎實(shí)的網(wǎng)絡(luò)知識往往是面試官考察的重點(diǎn)。以下是對一些常見且關(guān)鍵的計(jì)算機(jī)網(wǎng)絡(luò)面試知識點(diǎn)的系統(tǒng)梳理與回顧。
一、分層模型與核心協(xié)議簇
- OSI七層模型與TCP/IP四層模型: 必須清晰掌握每一層的名稱(物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層、應(yīng)用層)、核心功能,以及TCP/IP模型(網(wǎng)絡(luò)接口層、網(wǎng)際層、傳輸層、應(yīng)用層)與之的對應(yīng)關(guān)系。關(guān)鍵在于理解分層的思想:每一層為上層提供服務(wù),并使用下層的服務(wù)。
- TCP/IP協(xié)議簇: 這是互聯(lián)網(wǎng)的基石。重點(diǎn)協(xié)議包括:
- 網(wǎng)絡(luò)層: IP(IPv4/IPv6)、ICMP(如ping命令)、ARP(地址解析協(xié)議)。
- 傳輸層: TCP 與 UDP。這是面試的重中之重。
- 應(yīng)用層: HTTP/HTTPS、DNS、FTP、SMTP/POP3等。
二、傳輸層雙雄:TCP vs UDP
這是必考內(nèi)容,需要從多維度進(jìn)行對比:
- 連接性: TCP是面向連接的可靠傳輸;UDP是無連接的不可靠傳輸。
- 可靠性: TCP通過序號、確認(rèn)應(yīng)答、超時(shí)重傳、流量控制、擁塞控制等機(jī)制保證數(shù)據(jù)可靠、有序、不重復(fù)地到達(dá)。UDP不提供這些保證。
- 頭部開銷: TCP頭部至少20字節(jié),結(jié)構(gòu)復(fù)雜;UDP頭部僅8字節(jié),簡單高效。
- 傳輸效率: 由于建立連接、確認(rèn)機(jī)制等,TCP傳輸效率相對較低,延遲較大;UDP效率高,延遲低。
- 應(yīng)用場景: TCP適用于要求可靠性的場景,如文件傳輸、網(wǎng)頁瀏覽、郵件等;UDP適用于實(shí)時(shí)性要求高、可容忍少量丟失的場景,如視頻流、語音通話、在線游戲、DNS查詢等。
三、TCP的深度剖析
- 三次握手與四次揮手: 必須能詳細(xì)描述其過程、每一步交換的報(bào)文段標(biāo)志位(SYN, ACK, FIN等)、序列號的變化,并理解其設(shè)計(jì)原因(如為什么是三次不是兩次?為什么揮手需要四次?TIME_WAIT狀態(tài)的作用是什么?)。
- 可靠傳輸機(jī)制:
- ARQ協(xié)議: 停止等待ARQ、連續(xù)ARQ(GBN, SR)。
- 滑動窗口: 理解發(fā)送窗口、接收窗口如何協(xié)同工作,實(shí)現(xiàn)流量控制與提高吞吐量。
- 流量控制與擁塞控制:
- 流量控制: 通過接收端的接收窗口(rwnd)控制發(fā)送端速率,防止接收方緩沖區(qū)溢出。涉及零窗口探測。
- 擁塞控制: 核心是避免網(wǎng)絡(luò)過載,包含四個(gè)主要算法:慢啟動、擁塞避免、快重傳、快恢復(fù)。需要理解擁塞窗口(cwnd)的變化規(guī)律及其與發(fā)送窗口的關(guān)系。
四、網(wǎng)絡(luò)層:IP與路由
- IP地址與子網(wǎng)劃分: 掌握IPv4地址分類(A/B/C/D/E)、私有地址范圍、子網(wǎng)掩碼的作用,并能進(jìn)行簡單的子網(wǎng)劃分計(jì)算。了解CIDR(無類別域間路由)表示法。
- 路由協(xié)議: 區(qū)分內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)如RIP、OSPF,和外部網(wǎng)關(guān)協(xié)議(EGP)如BGP的基本思想。OSPF的鏈路狀態(tài)算法和RIP的距離向量算法是常見考點(diǎn)。
- 重要協(xié)議:
- ARP: 如何將IP地址解析為MAC地址,以及ARP欺騙的原理。
- ICMP: 網(wǎng)絡(luò)探測與錯(cuò)誤報(bào)告協(xié)議,ping和traceroute命令的基礎(chǔ)。
五、應(yīng)用層協(xié)議
- HTTP/HTTPS:
- HTTP方法: GET、POST、PUT、DELETE等及其區(qū)別與安全性。
- 狀態(tài)碼: 熟記1xx、2xx、3xx、4xx、5xx的典型代表(如200, 301/302, 404, 500)。
- 報(bào)文結(jié)構(gòu): 請求報(bào)文與響應(yīng)報(bào)文的格式。
- HTTPS: 理解SSL/TLS加密流程,對稱加密與非對稱加密在其中的作用,以及數(shù)字證書的驗(yàn)證過程。
- DNS: 域名解析的迭代與遞歸查詢過程,DNS記錄的常見類型(A, AAAA, CNAME, MX等)。
六、其他高頻考點(diǎn)
- 從輸入U(xiǎn)RL到頁面顯示發(fā)生了什么? 這是一個(gè)綜合性極強(qiáng)的問題,涵蓋了DNS解析、TCP連接、HTTP請求、服務(wù)器處理、瀏覽器渲染等多個(gè)層次,是檢驗(yàn)知識體系完整性的絕佳問題。
- Socket編程: 理解Socket作為應(yīng)用層與傳輸層之間的抽象接口,以及基于TCP/UDP的Socket通信基本步驟。
- 網(wǎng)絡(luò)設(shè)備: 了解交換機(jī)(數(shù)據(jù)鏈路層,基于MAC地址轉(zhuǎn)發(fā))、路由器(網(wǎng)絡(luò)層,基于IP地址轉(zhuǎn)發(fā))的核心功能區(qū)別。
###
回顧計(jì)算機(jī)網(wǎng)絡(luò)知識,關(guān)鍵在于理解其層次化設(shè)計(jì)思想與核心協(xié)議的工作原理。面試前,建議將上述知識點(diǎn)形成自己的邏輯脈絡(luò),并結(jié)合具體場景(如高并發(fā)、高延遲、安全需求)進(jìn)行思考,這樣不僅能應(yīng)對常規(guī)問題,也能在深度追問中展現(xiàn)出扎實(shí)的理解與靈活的應(yīng)用能力。網(wǎng)絡(luò)知識浩瀚,但抓住主干,便能以不變應(yīng)萬變。