面試軟件測(cè)試,經(jīng)常被問到的計(jì)算機(jī)網(wǎng)絡(luò)題,看這篇就夠
來(lái)源:湖北國(guó)菱計(jì)算機(jī)科技有限公司-湖北國(guó)聯(lián)計(jì)算機(jī)科技有限公司-荊州網(wǎng)站建設(shè)-荊州軟件開發(fā)-政府網(wǎng)站建設(shè)公司
時(shí)間:2025-03-10
進(jìn)行軟件測(cè)試面試時(shí),相信大家或多或少都會(huì)被問到一些關(guān)于計(jì)算機(jī)網(wǎng)絡(luò)的問題,今天這篇文章就目前反饋比較多的計(jì)算機(jī)網(wǎng)絡(luò)面試題及答案做了一個(gè)整理,在找工作的你,趕緊看過(guò)來(lái)~
1. 說(shuō)一下你理解的七層網(wǎng)絡(luò)模型?
答案:
應(yīng)用層:網(wǎng)絡(luò)服務(wù)與最終用戶的一個(gè)接口。協(xié)議有:HTTP FTP TFTP DNS協(xié)議等;
表示層:數(shù)據(jù)的表示、安全、壓縮的格式;
會(huì)話層:建立、管理、終止會(huì)話。對(duì)應(yīng)主機(jī)進(jìn)程,指本地主機(jī)與遠(yuǎn)程主機(jī)正在進(jìn)行的會(huì)話
傳輸層:定義傳輸數(shù)據(jù)的協(xié)議端口號(hào),以及流控和差錯(cuò)校驗(yàn)。協(xié)議有:TCP UDP協(xié)議。
網(wǎng)絡(luò)層:進(jìn)行邏輯地址尋址,實(shí)現(xiàn)不同網(wǎng)絡(luò)之間的路徑選擇。協(xié)議有:ICMP IP(IPV4 IPV6)
數(shù)據(jù)鏈路層:建立邏輯連接、進(jìn)行硬件地址尋址功能。將比特組合成字節(jié)進(jìn)而組合成幀,用MAC地址訪問介質(zhì),錯(cuò)誤發(fā)現(xiàn)但不能糾正。
物理層:建立、維護(hù)、斷開物理連接。
2. TCP協(xié)議的三次握手過(guò)程?
答案:
TCP協(xié)議要建立連接的時(shí)候,需要經(jīng)歷三次握手的過(guò)程:
第一次握手:是客戶端向服務(wù)器發(fā)起的,用來(lái)申請(qǐng)建立連接的,這個(gè)報(bào)文中的SYN標(biāo)志位標(biāo)記為1,所以我們也叫作SYN包;
第二次握手:是服務(wù)器回復(fù)客戶端的,用來(lái)確認(rèn)并接受連接請(qǐng)求的,這個(gè)報(bào)文中的SYN位和ACK位都標(biāo)記為1,所以叫做SYN-ACK報(bào)文;
第三次握手:仍然是客戶端發(fā)給服務(wù)器的,用來(lái)確認(rèn)服務(wù)器的回復(fù)消息,這個(gè)報(bào)文中的ACK標(biāo)志位標(biāo)記為1,所以我們也叫作ACK包。
這就是TCP協(xié)議的三次握手過(guò)程。
3. 有了解TCP握手是握幾次嗎?為什么要握三次手?
答案:
3次。
客戶端發(fā)送請(qǐng)求建立連接的數(shù)據(jù)包可能會(huì)滯留在網(wǎng)絡(luò)中,等到后續(xù)這個(gè)連接斷開之后再次到達(dá)服務(wù)器,那么服務(wù)器會(huì)發(fā)送消息告訴客戶端可以發(fā)送消息,但是客戶端不會(huì)理會(huì)服務(wù)器也不會(huì)發(fā)送消息,服務(wù)器端處于等待狀態(tài),會(huì)造成資源浪費(fèi)
4. TCP協(xié)議的4次揮手?
答案:
TCP協(xié)議完成了數(shù)據(jù)發(fā)送之后,就會(huì)斷開連接,此時(shí)就需要經(jīng)歷四次揮手的過(guò)程:
第一次揮手:是客戶端向服務(wù)器發(fā)起的,用來(lái)申請(qǐng)斷開連接的,這個(gè)報(bào)文中的FIN標(biāo)志位標(biāo)記為1,所以我們也叫作FIN包;
第二次揮手:是服務(wù)器回復(fù)客戶端的,用來(lái)確認(rèn)客戶端的上一個(gè)斷開連接請(qǐng)求的,所以是一個(gè)ACK報(bào)文;
第三次揮手:仍然是服務(wù)器發(fā)給客戶端的,用來(lái)告知客戶端服務(wù)器的數(shù)據(jù)發(fā)送完畢了,需要斷開連接;這個(gè)報(bào)文中的FIN標(biāo)志位標(biāo)記為1,所以也是一個(gè)FIN包。
第四次揮手:是客戶端回復(fù)服務(wù)器的,確認(rèn)服務(wù)器的上一個(gè)斷開連接請(qǐng)求,所以也是一個(gè)ACK報(bào)文;
這就是TCP協(xié)議的四次揮手過(guò)程。
5. 為什么握手需要三次,揮手卻需要四次呢?
答案:
三次握手是TCP協(xié)議建立連接的過(guò)程,建立連接,我只需要確認(rèn)一下你在我也在就好了啊,三次握手夠了;
但是四次揮手是TCP協(xié)議是為了斷開連接的,所以需要確保我既結(jié)束發(fā)送數(shù)據(jù),也結(jié)束接收數(shù)據(jù);開始客戶端先結(jié)束發(fā)送并告知服務(wù)器,服務(wù)器確認(rèn)后就結(jié)束接收了;這兩次揮手完成后,客戶端還在接收數(shù)據(jù)哦,服務(wù)器也還在發(fā)送;所以需要服務(wù)器也發(fā)送一次FIN包,告知我也結(jié)束數(shù)據(jù)發(fā)送了,客戶端確認(rèn)后,才雙方都關(guān)閉發(fā)送和接收數(shù)據(jù)通道,所以必須要四次~
6. tcp和udp的區(qū)別?
答案:
TCP協(xié)議和UDP協(xié)議都是傳輸層的兩個(gè)協(xié)議: 它們的區(qū)別主要有如下3個(gè)方面:
第一:TCP是面向連接,就像打電話要先撥號(hào)建立連接一樣,而UDP是無(wú)連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。
第二:TCP可以提供可靠的服務(wù),能保證數(shù)據(jù)傳輸無(wú)差錯(cuò),不丟失,不重復(fù),且按序到達(dá);而UDP協(xié)議只是盡最大努力交付,即不保證可靠交付。
第三:因?yàn)門CP以上兩個(gè)特點(diǎn),所以對(duì)應(yīng)傳輸效率相對(duì)較低,而UDP效率高,所以一些注重速度而不在乎的丟包的場(chǎng)景,會(huì)選擇用UDP協(xié)議,比如IP電話,流媒體等。
7. 你了解http協(xié)議有哪些響應(yīng)狀態(tài)碼?
答案:
狀態(tài)碼有如下幾種:
a. 1xx(臨時(shí)響應(yīng)):表示臨時(shí)響應(yīng)并需要請(qǐng)求者繼續(xù)執(zhí)行操作的狀態(tài)代碼。
b. 2xx (成功):表示成功處理了請(qǐng)求的狀態(tài)代碼。
c. 3xx (重定向):表示要完成請(qǐng)求,需要進(jìn)一步操作。 通常,這些狀態(tài)代碼用來(lái)重定向。
d. 4xx(請(qǐng)求錯(cuò)誤):這些狀態(tài)代碼表示請(qǐng)求可能出錯(cuò),妨礙了服務(wù)器的處理。
e. 5xx(服務(wù)器錯(cuò)誤):這些狀態(tài)代碼表示服務(wù)器在嘗試處理請(qǐng)求時(shí)發(fā)生內(nèi)部錯(cuò)誤。 這些錯(cuò)誤可能是服務(wù)器本身的錯(cuò)誤,而不是請(qǐng)求出錯(cuò)。
8. HTTP和HTTPS的區(qū)別?
答案:
從安全性來(lái)說(shuō):http明文傳輸,易受攻擊,無(wú)法確認(rèn)雙方身份,也無(wú)法保證數(shù)據(jù)的完整性;https使用ssl加密傳輸協(xié)議,信息是密文,可以認(rèn)證雙方身份,防止信息被截取篡改,安全性相比http要高
從端口來(lái)看:http默認(rèn)端口80,https默認(rèn)端口443
靈活性上:http簡(jiǎn)單快速,使用靈活;https技術(shù)門檻較高,多數(shù)個(gè)人或私人網(wǎng)站難以支撐
訪問速度:http協(xié)議簡(jiǎn)單,http服務(wù)器的程序規(guī)模小,因而通信速度很快;https加重了服務(wù)端負(fù)擔(dān),需要更多的資源來(lái)支撐,降低了用戶的訪問速度
經(jīng)濟(jì)適用度:http沒有額外的費(fèi)用要求,https協(xié)議CA機(jī)構(gòu)頒發(fā)的證書都是需年費(fèi)的,此外對(duì)接https協(xié)議也需要額外的技術(shù)支持
9、https協(xié)議比http安全,是如何實(shí)現(xiàn)的呢?
答案:
https協(xié)議通過(guò)SSL協(xié)議外殼來(lái)實(shí)現(xiàn)它的安全性,主要體現(xiàn)在三個(gè)方面:
第一:數(shù)據(jù)是加密的,SSL協(xié)議通過(guò)非對(duì)稱秘鑰分發(fā)的方式完成秘鑰的協(xié)商,然后通過(guò)對(duì)稱秘鑰的加密方式完成數(shù)據(jù)的加密;
第二:會(huì)驗(yàn)證對(duì)方身份。服務(wù)端和客戶端雙方會(huì)需要向CA機(jī)構(gòu)申請(qǐng)證書,再SSL握手階段會(huì)驗(yàn)證雙方證書是否可信,從而驗(yàn)證雙方的身份,防止第三方冒充;
第三:保證數(shù)據(jù)的完整性。每次的數(shù)據(jù)都會(huì)加上MAC摘要并簽名,接收的數(shù)據(jù)和發(fā)送的數(shù)據(jù)這個(gè)摘要信息一致的,就表示數(shù)據(jù)沒有被篡改過(guò)。
10、當(dāng)一個(gè)用戶在瀏覽器輸入url打開一個(gè)網(wǎng)頁(yè)的時(shí)候,從輸入到加載完整個(gè)過(guò)程經(jīng)歷了什么?
答案:
a. 首先它會(huì)進(jìn)行DNS的域名解析;
b. 建立TCP連接;發(fā)起tcp的三次握手
c. 發(fā)送一個(gè)HTTP的請(qǐng)求;
d. 服務(wù)器處理相關(guān)的請(qǐng)求并返回處理后的結(jié)果;
e. 關(guān)閉TCP連接;
f. 瀏覽器接收到服務(wù)器給到的html代碼,開始解析;
g. 瀏覽器將解析后的資源(如js、css、圖片等)進(jìn)行請(qǐng)求,并對(duì)頁(yè)面進(jìn)行渲染呈現(xiàn)給用戶。
(轉(zhuǎn)載自:CSDN, 版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明原文鏈接: