鎖屏面試題百日百刷-網路篇(一)
鎖屏面試題百日百刷,每個工作日堅持更新面試題。鎖屏面試題app、小程式現已上線,官網地址:https://www.demosoftware.cc/#/introductionPage。已收錄了每日更新的面試題的所有內容,還包含特色的解鎖螢幕複習面試題、每日程式設計題目郵件推送等功能。讓你在面試中先人一步,吊打面試官!接下來的是今日的面試題:
====什麼是網路程式設計?
網路程式設計的本質是多臺計算機之間的資料交換。資料傳遞本身沒有多大的難度,不就是把一個裝置中的資料傳送給其他裝置,然後接受另外一個裝置反饋的資料。現在的網路程式設計基本上都是基於請求/響應方式的,也就是一個裝置傳送請求資料給另外一個,然後接收另一個裝置的反饋。在網路程式設計中,發起連線程式,也就是傳送第一次請求的程式,被稱作客戶端
====網路程式設計中兩個主要的問題?
1. 一個是如何準確的定位網路上一臺或多臺主機,
2. 另一個就是找到主機後如何可靠高效的進行資料傳輸。
在TCP/IP協議中IP層主要負責網路主機的定位,資料傳輸的路由,由IP地址可以唯一地確定Internet上的一臺主機。
而TCP層則提供面向應用的可靠(TCP)的或非可靠(UDP)的資料傳輸機制,這是網路程式設計的主要物件,一般不需要關心IP層是如何處理資料的。
目前較為流行的網路程式設計模型是客戶機
====網路協議是什麼?
在計算機網路要做到井井有條的交換資料,就必須遵守一些事先約定好的規則,比如交換資料的格式、是否需要傳送一個應答資訊。這些規則被稱為網路協議
====為什麼要對網路協議分層?
1)簡化問題難度和複雜度。由於各層之間獨立,我們可以分割大問題為小問題。
2)靈活性好。當其中一層的技術變化時,只要層間介面關係保持不變,其他層不受影響。
3)易於實現和維護。
4)促進標準化工作。分開後,每層功能可以相對簡單地被描述
====講一講計算機網路體系結構?
1)OSI參考模型
OSI(Open System Interconnect),即開放式系統互聯。一般都叫OSI參考模型,是
ISO(國際標準化組織)組織在1985年研究的網路互連模型。ISO為了更好的使網路應用更為普及,推出了OSI參考模型,這樣所有的公司都按照統一的標準來指定自己的網路,就可以互通互聯了。
OSI定義了網路互連的七層框架(物理層、資料鏈路層、網路層、傳輸層、會話層、表示層、
應用層)。
2)TCP/IP參考模型
TCP/IP四層協議(資料鏈路層、網路層、傳輸層、應用層)
1. 應用層 應用層最靠近使用者的一層,是為計算機使用者提供應用介面,也為使用者直接提供各種網路服務。我們常見應用層的網路服務協議有:HTTP,HTTPS,FTP,TELNET等。
2. 傳輸層 建立了主機端到端的連結,傳輸層的作用是為上層協議提供端到端的可靠和透明的資料傳輸服務,包括處理差錯控制和流量控制等問題。該層向高層遮蔽了下層資料通訊的細節,使高層使用者看到的只是在兩個傳輸實體間的一條主機到主機的、可由使用者控制和設定
的、可靠的資料通路。我們通常說的,TCP UDP就是在這一層。埠號既是這裡的“端”。
3. 網路層 本層通過IP定址來建立兩個節點之間的連線,為源端的運輸層送來的分組,選擇合適的路由和交換節點,正確無誤地按照地址傳送給目的端的運輸層。就是通常說的IP層。這一層就是我們經常說的IP協議層。IP協議是Internet的基礎。
4.資料鏈路層 通過一些規程或協議來控制這些資料的傳輸,以保證被傳輸資料的正確性。實現這些規程或協議的 硬體 和軟體加到物理線路,這樣就構成了資料鏈路。
====什麼是TCP/IP和UDP?
TCP/IP即傳輸控制/網路協議,是面向連線的協議,傳送資料前要先建立連線(傳送方和接收方的成對的兩個之間必須建 立連線),TCP提供可靠的服務,也就是說,通過TCP連線傳輸的資料不會丟失,沒有重複,並且按順序到達
UDP它是屬於TCP/IP協議族中的一種。是無連線的協議,傳送資料前不需要建立連線,是沒有可靠性的協議。因為不需要建立連線所以可以在在網路上以任何可能的路徑傳輸,因此能否到達目的地,到達目的地的時間以及內容的正確性都是不能被保證的。
====TCP與UDP區別?
1)TCP是面向連線的協議,傳送資料前要先建立連線,TCP提供可靠的服務,也就是說,通過TCP連線傳輸的資料不會丟失,沒有重複,並且按順序到達;
2)UDP是無連線的協議,傳送資料前不需要建立連線,是沒有可靠性;
3)TCP通訊類似於於要打個電話,接通了,確認身份後,才開始進行通行;
4)UDP通訊類似於學校廣播,靠著廣播播報直接進行通訊。
5)TCP只支援點對點通訊,UDP支援一對一、一對多、多對一、多對多;
6)TCP是面向位元組流的,UDP是面向報文的; 面向位元組流是指傳送資料時以位元組為單位,一個數據包可以拆分成若干組進行傳送,而UDP一個報文只能一次發完。
7)TCP首部開銷(20位元組)比UDP首部開銷(8位元組)要大
8)UDP 的主機不需要維持複雜的連線狀態表
更多面試題可關注"demo鎖屏面試題"公眾號通過小程式或App獲取面試題和學習資源