<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          計算機(jī)網(wǎng)絡(luò)精選50道面試題(建議收藏)

          共 4011字,需瀏覽 9分鐘

           ·

          2021-09-01 21:56

          點(diǎn)擊“程序員面試吧”,選擇“星標(biāo)??”

          下拉至文末獲取資料

          在面試中計算機(jī)網(wǎng)絡(luò)是面試官最喜歡考察的內(nèi)容之一,金九銀十馬上要到了,整理了50道計算機(jī)網(wǎng)絡(luò)面試題,每一道都非常的經(jīng)典,大廠也非常喜歡問。希望大家看完后,都能找到理想的offer哈~
          由于篇幅太長,只在此展示部分內(nèi)容
          全部面試題已整理成pdf文件,需要的文末自取。(pdf僅作免費(fèi)交流分享,侵刪)
          文章內(nèi)容來源:撿田螺的小男孩


          1.HTTP 常用的請求方式,區(qū)別和用途?

          • GET: 發(fā)送請求,獲取服務(wù)器數(shù)據(jù)
          • POST:向URL指定的資源提交數(shù)據(jù)
          • PUT:向服務(wù)器提交數(shù)據(jù),以修改數(shù)據(jù)
          • HEAD:請求頁面的首部,獲取資源的元信息
          • DELETE:刪除服務(wù)器上的某些資源。
          • CONNECT:建立連接隧道,用于代理服務(wù)器;
          • OPTIONS:列出可對資源實(shí)行的請求方法,常用于跨域
          • TRACE:追蹤請求-響應(yīng)的傳輸路徑

          2.如何理解HTTP協(xié)議是無狀態(tài)的

          • 1xx:接受的請求正在處理 (信息性狀態(tài)碼)
          • 2xx:表示請求正常處理完畢 (成功狀態(tài)碼)
          • 3xx:表示重定向狀態(tài),需要重新請求 (重定向狀態(tài)碼)
          • 4xx:服務(wù)器無法處理請求 (客戶端錯誤狀態(tài)碼)
          • 5xx:服務(wù)器處理請求出錯 (服務(wù)端錯誤狀態(tài)碼)

          常用狀態(tài)碼如下:

          • 101 切換請求協(xié)議,從 HTTP 切換到 WebSocket
          • 200 請求成功,表示正常返回信息。
          • 301 永久重定向,會緩存
          • 302 臨時重定向,不會緩存
          • 400 請求錯誤
          • 403 服務(wù)器禁止訪問
          • 404 找不到與 URI相匹配的資源。
          • 500 常見的服務(wù)器端錯誤


          3.從瀏覽器地址欄輸入url到顯示主頁的過程

          1. DNS解析,查找真正的ip地址
          2. 與服務(wù)器建立TCP連接
          3. 發(fā)送HTTP請求
          4. 服務(wù)器處理請求并返回HTTP報文
          5. 瀏覽器解析渲染頁面
          6. 連接結(jié)束


          4.如何理解HTTP協(xié)議是無狀態(tài)的

          每次HTTP請求都是獨(dú)立的,無相關(guān)的,默認(rèn)不需要保存上下文信息的。

          我們來看個便于理解的例子:
          有狀態(tài):
          • A:今天吃啥子?
          • B:羅非魚!
          • A:味道怎么樣呀?
          • B:還不錯,好香。
          無狀態(tài):
          • A:今天吃啥子?
          • B:羅非魚!
          • A:味道怎么樣呀?
          • B:?啊?啥?什么鬼?什么味道怎么樣?
          加下cookie這玩意
          • A:今天吃啥子?
          • B:羅非魚
          • A:你今天吃的羅非魚味道怎么樣呀?
          • B:還不錯,好香。


          5. HTTP 1.0,1.1,2.0 的版本區(qū)別


          HTTP 1.0
          • HTTP 1.0規(guī)定瀏覽器與服務(wù)器只保持短暫的連接,瀏覽器的每次請求都需要與服務(wù)器建立一個TCP連接,服務(wù)器完成請求處理后立即斷開TCP連接。它也可以強(qiáng)制開啟長鏈接,例如設(shè)置Connection: keep-alive 這個字段

          HTTP 1.1
          • 引入了長連接,即TCP連接默認(rèn)不關(guān)閉,可以被多個請求復(fù)用。
          • 引入了管道機(jī)制(pipelining),即在同一個TCP連接里面,客戶端可以同時發(fā)送多個請求。
          • 緩存處理,引入了更多的緩存控制策略,如Cache-Control、Etag/If-None-Match等。
          • 錯誤狀態(tài)管理,新增了24個錯誤狀態(tài)響應(yīng)碼,如409表示請求的資源與資源的當(dāng)前狀態(tài)發(fā)生沖突。


          HTTP 2
          • 采用了多路復(fù)用,即在一個連接里,客戶端和瀏覽器都可以同時發(fā)送多個請求或回應(yīng),而且不用按照順序一一對應(yīng)。
          • 服務(wù)端推送,HTTP 2允許服務(wù)器未經(jīng)請求,主動向客戶端發(fā)送資源


          6. 說下計算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)


          計算機(jī)網(wǎng)路體系結(jié)構(gòu)主要有ISO七層模型、TCP/IP 四層模型、五層體系結(jié)構(gòu)


          ISO七層模型
          ISO七層模型是國際標(biāo)準(zhǔn)化組織(ISO)制定的一個用于計算機(jī)或通信系統(tǒng)間互聯(lián)的標(biāo)準(zhǔn)體系。

          • 應(yīng)用層:網(wǎng)絡(luò)服務(wù)與最終用戶的一個接口,協(xié)議有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
          • 表示層:數(shù)據(jù)的表示、安全、壓縮。
          • 會話層:建立、管理、終止會話。對應(yīng)主機(jī)進(jìn)程,指本地主機(jī)與遠(yuǎn)程主機(jī)正在進(jìn)行的會話
          • 傳輸層:定義傳輸數(shù)據(jù)的協(xié)議端口號,以及流控和差錯校驗(yàn)。協(xié)議有:TCP UDP,數(shù)據(jù)包一旦離開網(wǎng)卡即進(jìn)入網(wǎng)絡(luò)傳輸層
          • 網(wǎng)絡(luò)層:進(jìn)行邏輯地址尋址,實(shí)現(xiàn)不同網(wǎng)絡(luò)之間的路徑選擇。協(xié)議有:ICMP IGMP IP(IPV4 IPV6)
          • 數(shù)據(jù)鏈路層:建立邏輯連接、進(jìn)行硬件地址尋址、差錯校驗(yàn)等功能。
          • 物理層:建立、維護(hù)、斷開物理連接。


          TCP/IP 四層模型
          • 應(yīng)用層:對應(yīng)于OSI參考模型的(應(yīng)用層、表示層、會話層),為用戶提供所需要的各種服務(wù),例如:FTP、Telnet、DNS、SMTP等
          • 傳輸層:對應(yīng)OSI的傳輸層,為應(yīng)用層實(shí)體提供端到端的通信功能,保證了數(shù)據(jù)包的順序傳送及數(shù)據(jù)的完整性。定義了TCP和UDP兩層協(xié)議。
          • 網(wǎng)際層:對應(yīng)于OSI參考模型的網(wǎng)絡(luò)層,主要解決主機(jī)到主機(jī)的通信問題。三個主要協(xié)議:網(wǎng)際協(xié)議(IP)、互聯(lián)網(wǎng)組管理協(xié)議(IGMP)和互聯(lián)網(wǎng)控制報文協(xié)議(ICMP)
          • 網(wǎng)絡(luò)接口層:與OSI參考模型的數(shù)據(jù)鏈路層、物理層對應(yīng)。它負(fù)責(zé)監(jiān)視數(shù)據(jù)在主機(jī)和網(wǎng)絡(luò)之間的交換。

          五層體系結(jié)構(gòu)
          • 應(yīng)用層:通過應(yīng)用進(jìn)程間的交互來完成特定網(wǎng)絡(luò)應(yīng)用。對應(yīng)于OSI參考模型的(應(yīng)用層、表示層、會話層),應(yīng)用層協(xié)議很多,如域名系統(tǒng)DNS,HTTP協(xié)議,支持電子郵件的 SMTP協(xié)議等等。我們把應(yīng)用層交互的數(shù)據(jù)單元稱為報文。
          • 傳輸層:負(fù)責(zé)向兩臺主機(jī)進(jìn)程之間的通信提供通用的數(shù)據(jù)傳輸服務(wù)。對應(yīng)OSI參考模型的傳輸層,協(xié)議有傳輸控制協(xié)議 TCP 和 用戶數(shù)據(jù)協(xié)議 UDP。
          • 網(wǎng)絡(luò)層:對應(yīng)OSI參考模型的的網(wǎng)絡(luò)層
          • 數(shù)據(jù)鏈路層:對應(yīng)OSI參考模型的的數(shù)據(jù)鏈路層
          • 物理層:對應(yīng)OSI參考模型的的物理層層。在物理層上所傳送的數(shù)據(jù)單位是比特。物理層(physical layer)的作用是實(shí)現(xiàn)相鄰計算機(jī)節(jié)點(diǎn)之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質(zhì)和物理設(shè)備的差異。


          7.  POST和GET有哪些區(qū)別?


          • 請求參數(shù):GET 把參數(shù)包含在 URL 中,用&連接起來;POST 通過 request body 傳遞參數(shù)。
          • 請求緩存:GET請求會被主動Cache,而POST請求不會,除非手動設(shè)置。
          • 收藏為書簽:GET請求支持收藏為書簽,POST請求不支持。
          • 安全性:POST比GET安全,GET請求在瀏覽器回退時是無害的,而POST會再次請求。
          • 歷史記錄:GET請求參數(shù)會被完整保留在瀏覽歷史記錄里,而POST中的參數(shù)不會被保留。
          • 編碼方式:GET請求只能進(jìn)行url編碼,而POST支持多種編碼方式。
          • 參數(shù)數(shù)據(jù)類型:GET只接受ASCII字符,而POST沒有限制數(shù)據(jù)類型。
          • 數(shù)據(jù)包: GET產(chǎn)生一個TCP數(shù)據(jù)包;POST可能產(chǎn)生兩個TCP數(shù)據(jù)包。


          8. 在交互過程中如果數(shù)據(jù)傳送完了,還不想斷開連接怎么辦,怎么維持?


          在 HTTP 中響應(yīng)體的 Connection 字段指定為keep-alive



          9. HTTP 如何實(shí)現(xiàn)長連接?在什么時候會超時?


          HTTP 如何實(shí)現(xiàn)長連接?
          • HTTP分為長連接和短連接,其實(shí)本質(zhì)上說的是TCP的長短連接。TCP連接是一個雙向的通道,它是可以保持一段時間不關(guān)閉的,因此TCP連接才有真正的長連接和短連接這一個說法。
          • 長連接是指的是TCP連接,而不是HTTP連接。
          • TCP 長連接可以復(fù)用一個TCP連接來發(fā)起多次HTTP請求,這樣可以減少資源消耗,比如一次請求HTML,短連接可能還需要請求后續(xù)的JS/CSS/圖片等
          要實(shí)現(xiàn)HTTP長連接,在響應(yīng)頭設(shè)置Connection為keep-alive,HTTP1.1 默認(rèn)是長連接,而HTTP 1.0協(xié)議也支持長連接,但是默認(rèn)是關(guān)閉的。

          在什么時候會超時呢?
          • HTTP 一般會有httpd守護(hù)進(jìn)程,里面可以設(shè)置 keep-alive timeout,當(dāng) tcp 鏈接閑置超過這個時間就會關(guān)閉,也可以在HTTP的header里面設(shè)置超時時間
          • TCP 的 keep-alive 包含三個參數(shù),支持在系統(tǒng)內(nèi)核的 net.ipv4 里面設(shè)置:當(dāng) TCP 連接之后,閑置了 tcp_keepalive_time,則會發(fā)生偵測包,如果沒有收到對方的 ACK,那么會每隔 tcp_keepalive_intvl 再發(fā)一次,直到發(fā)送了 tcp_keepalive_probes,就會丟棄該連接。
          1. tcp_keepalive_intvl = 15
          2. tcp_keepalive_probes = 5
          3. tcp_keepalive_time = 1800


          10. 講一下HTTP與HTTPS 的區(qū)別。


          HTTP,超文本傳輸協(xié)議,英文是Hyper Text Transfer Protocol,是一個基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù)的協(xié)議。HTTP存在這幾個問題
          • 請求信息明文傳輸,容易被竊聽截取。
          • 數(shù)據(jù)的完整性未校驗(yàn),容易被篡改
          • 沒有驗(yàn)證對方身份,存在冒充危險

          HTTPS就是為了解決HTTP存在問題的。HTTPS,英文是HyperText Transfer Protocol over Secure Socket Layer,可以這么理解Https是身披SSL(Secure Socket Layer)的HTTP,即HTTPS 協(xié)議 = HTTP+SSL/TLS。通過 SSL證書來驗(yàn)證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的傳輸數(shù)據(jù)進(jìn)行加密。

          它們主要區(qū)別:
          • 數(shù)據(jù)是否加密: Http 是明文傳輸,HTTPS是密文
          • 默認(rèn)端口: Http默認(rèn)端口是80,Https默認(rèn)端口是443
          • 資源消耗:和HTTP通信相比,Https通信會消耗更多的CPU和內(nèi)存資源,因?yàn)樾枰咏饷芴幚恚?/span>
          • 安全性: http不安全,https比較安全。

          完整pdf獲取方式

          微信掃描下方二維碼

          備注:計算機(jī)網(wǎng)絡(luò)面試


          瀏覽 60
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  九色综合网 | 亚洲视频 中文字幕 | 青青久久伊人春色 | 成人无码视频成 | 一级片www |