華為面試題與答案

2021-05-11 22:48:02 字數 4633 閱讀 9675

1:請你分別劃osi的七層網路結構圖,和tcp/ip的五層結構圖?

osi的七層網路結構圖,和tcp/ip的五層結構圖

osiosi是open system interconnect的縮寫,意為開放式系統互聯。在osi出現之前,計算機網路中存在眾多的體系結構,

其中以ibm公司的sna(系統網路體系結構)和dec公司的dna(digital network architecture)數字網路體系結構最為著名。

為了解決不同體系結構的網路的互聯問題,國際標準化組織iso(注意不要與osi搞混))於2023年制定了開放系統互連參考模型

(open system interconnection reference model,osi/rm)。這個模型把網路通訊的工作分為7層,

它們由低到高分別是物理層(physical layer),資料鏈路層(data link layer),網路層(network layer),傳輸層(transport layer),

會話層(session layer),表示層(presen tation layer)和應用層(application layer)。

第一層到第三層屬於osi參考模型的低三層,負責建立網路通訊連線的鏈路;第四層到第七層為osi參考模型的高四層,具體負責端到端的資料通訊。

每層完成一定的功能,每層都直接為其上層提供服務,並且所有層次都互相支援,而網路通訊則可以自上而下(在傳送端)或者自下而上(在接收端)雙向進行。

當然並不是每一通訊都需要經過osi的全部七層,有的甚至只需要雙方對應的某一層即可。物理介面之間的轉接,

以及中繼器與中繼器之間的連線就只需在物理層中進行即可;而路由器與路由器之間的連線則只需經過網路層以下的三層即可。

總的來說,雙方的通訊是在對等層次上進行的,不能在不對稱層次上進行通訊。

osi參考模型的各個層次的劃分遵循下列原則:

1、同一層中的各網路節點都有相同的層次結構,具有同樣的功能。

2、同一節點內相鄰層之間通過介面(可以是邏輯介面)進行通訊。

3、七層結構中的每一層使用下一層提供的服務,並且向其上層提供服務。

4、不同節點的同等層按照協議實現對等層之間的通訊。

第一層:物理層(physicallayer),規定通訊裝置的機械的、電氣的、功能的和過程的特性,用以建立、維護和拆除物理鏈路連線。

具體地講,機械特性規定了網路連線時所需接外掛程式的規格尺寸、引腳數量和排列情況等;

電氣特性規定了在物理連線上傳輸bit流時線路上訊號電平的大小、阻抗匹配、傳輸速率距離限制等;

功能特性是指對各個訊號先分配確切的訊號含義,即定義了dte和dce之間各個線路的功能;

規程特性定義了利用訊號線進行bit流傳輸的一組操作規程,是指在物理連線的建立、維護、交換資訊是,dte和dce雙放在各電路上的動作系列。

在這一層,資料的單位稱為位元(bit)。

屬於物理層定義的典型規範代表包括:eia/tia rs-232、eia/tia rs-449、v.35、rj-45等。

第二層:資料鏈路層(datalinklayer):在物理層提供位元流服務的基礎上,建立相鄰結點之間的資料鏈路,

通過差錯控制提供資料幀(frame)在通道上無差錯的傳輸,並進行各電路上的動作系列。

資料鏈路層在不可靠的物理介質上提供可靠的傳輸。該層的作用包括:實體地址定址、資料的成幀、流量控制、資料的檢錯、重發等。

在這一層,資料的單位稱為幀(frame)。

資料鏈路層協議的代表包括:sdlc、hdlc、ppp、stp、幀中繼等。

第三層是網路層

在計算機網路中進行通訊的兩個計算機之間可能會經過很多個資料鏈路,也可能還要經過很多通訊子網。網路層的任務就是選擇合適的網間路由和交換結點,

確保資料及時傳送。網路層將資料鏈路層提供的幀組成資料報,包中封裝有網路層包頭,其中含有邏輯位址資訊- -源站點和目的站點位址的網路位址。

如果你在談論乙個ip位址,那麼你是在處理第3層的問題,這是「資料報」問題,而不是第2層的「幀」。ip是第3層問題的一部分,

此外還有一些路由協議和位址解析協議(arp)。有關路由的一切事情都在第3層處理。位址解析和路由是3層的重要目的。

網路層還可以實現擁塞控制、網際互連等功能。

在這一層,資料的單位稱為資料報(packet)。

網路層協議的代表包括:ip、ipx、rip、ospf等。

第四層是處理資訊的傳輸層。第4層的資料單元也稱作資料報(packets)。但是,當你談論tcp等具體的協議時又有特殊的叫法,

tcp的資料單元稱為段(segments)而udp協議的資料單元稱為「資料報(datagrams)」。這個層負責獲取全部資訊,因此,

它必須跟蹤資料單元碎片、亂序到達的資料報和其它在傳輸過程中可能發生的危險。第4層為上層提供端到端(終端使用者到終端使用者)的透明的、可靠的資料傳輸服務。

所為透明的傳輸是指在通訊過程中傳輸層對上層遮蔽了通訊傳輸系統的具體細節。

傳輸層協議的代表包括:tcp、udp、spx等。

第五層是會話層

這一層也可以稱為會晤層或對話層,在會話層及以上的高層次中,資料傳送的單位不再另外命名,統稱為報文。

會話層不參與具體的傳輸,它提供包括訪問驗證和會話管理在內的建立和維護應用之間通訊的機制。如伺服器驗證使用者登入便是由會話層完成的。

第六層是表示層

這一層主要解決擁護資訊的語法表示問題。它將欲交換的資料從適合於某一使用者的抽象語法,轉換為適合於osi系統內部使用的傳送語法。

即提供格式化的表示和轉換資料服務。資料的壓縮和解壓縮, 加密和解密等工作都由表示層負責。

第七層應用層,應用層為作業系統或網路應用程式提供訪問網路服務的介面。

應用層協議的代表包括:telnet、ftp、http、snmp等。

通過 osi 層,資訊可以從一台計算機的軟體應用程式傳輸到另一台的應用程式上。例如,計算機 a 上的應用程式要將資訊傳送到計算機 b 的應用程式,

則計算機 a 中的應用程式需要將資訊先傳送到其應用層(第七層),然後此層將資訊傳送到表示層(第六層),表示層將資料轉送到會話層(第五層),

如此繼續,直至物理層(第一層)。在物理層,資料被放置在物理網路媒介中並被傳送至計算機 b 。

計算機 b 的物理層接收來自物理媒介的資料,然後將資訊向上傳送至資料鏈路層(第二層),資料鏈路層再轉送給網路層,依次繼續直到資訊到達計算機 b 的應用層。

最後,計算機 b 的應用層再將資訊傳送給應用程式接收端,從而完成通訊過程。下面圖示說明了這一過程。

osi 的七層運用各種各樣的控制資訊來和其他計算機系統的對應層進行通訊。這些控制資訊包含特殊的請求和說明,它們在對應的 osi 層間進行交換。

每一層資料的頭和尾是兩個攜帶控制資訊的基本形式。

對於從上一層傳送下來的資料,附加在前面的控制資訊稱為頭,附加在後面的控制資訊稱為尾。然而,在對來自上一層資料增加協議頭和協議尾,

對乙個 osi 層來說並不是必需的。

當資料在各層間傳送時,每一層都可以在資料上增加頭和尾,而這些資料已經包含了上一層增加的頭和尾。協議頭包含了有關層與層間的通訊資訊。

頭、尾以及資料是相關聯的概念,它們取決於分析資訊單元的協議層。例如,傳輸層頭包含了只有傳輸層可以看到的資訊,傳輸層下面的其他層只將此頭作為資料的一部分傳遞。

對於網路層,乙個資訊單元由第三層的頭和資料組成。對於資料鏈路層,經網路層向下傳遞的所有資訊即第三層頭和資料都被看作是資料。

換句話說,在給定的某一 osi 層,資訊單元的資料部分包含來自於所有上層的頭和尾以及資料,這稱之為封裝。

例如,如果計算機 a 要將應用程式中的某資料傳送至計算機 b ,資料首先傳送至應用層。 計算機 a 的應用層通過在資料上新增協議頭來和計算機 b 的應用層通訊。

所形成的資訊單元包含協議頭、資料、可能還有協議尾,被傳送至表示層,表示層再新增為計算機 b 的表示層所理解的控制資訊的協議頭。

資訊單元的大小隨著每一層協議頭和協議尾的新增而增加,這些協議頭和協議尾包含了計算機 b 的對應層要使用的控制資訊。在物理層,整個資訊單元通過網路介質傳輸。

計算機 b 中的物理層收到資訊單元並將其傳送至資料鏈路層;然後 b 中的資料鏈路層讀取計算機 a 的資料鏈路層新增的協議頭中的控制資訊;

然後去除協議頭和協議尾,剩餘部分被傳送至網路層。每一層執行相同的動作:從對應層讀取協議頭和協議尾,並去除,再將剩餘資訊傳送至上一層。

應用層執行完這些動作後,資料就被傳送至計算機 b 中的應用程式,這些資料和計算機 a 的應用程式所傳送的完全相同 。

乙個 osi 層與另一層之間的通訊是利用第二層提供的服務完成的。相鄰層提供的服務幫助一 osi 層與另一計算機系統的對應層進行通訊。

乙個 osi 模型的特定層通常是與另外三個 osi 層聯絡:與之直接相鄰的上一層和下一層,還有目標聯網計算機系統的對應層。

例如,計算機 a 的資料鏈路層應與其網路層,物理層以及計算機 b 的資料鏈路層進行通訊

2:請你詳細的解釋一下ip協議的定義,在哪個層上面,主要有什麼作用? tcp與udp呢?

3:請問交換機和路由器分別的實現原理是什麼?分別在哪個層次上面實現的?

4:請問c++的類和c裡面的struct有什麼區別?

5:請講一講析構函式和虛函式的用法和作用?

6:全域性變數和區域性變數有什麼區別?實怎麼實現的?作業系統和編譯器是怎麼知道的?

7:一些暫存器的題目,主要是定址和記憶體管理等一些知識。

8:8086是多少尉的系統?在資料匯流排上是怎麼實現的?

軟體測試的各階段!

面試就是跟你聊聊工作,看經驗了

筆試,看看資料結構,二叉樹,排序,什麼的

可能會考多執行緒

華為 面試題及其答案

5.請講一講析構函式和虛函式的用法和作用?析構函式是在類物件死亡時由系統自動呼叫,其作用是用來釋放物件的指標資料成員所指的動態空間,如果在建構函式中,你申請了動態空間,那麼為了避免引起程式錯誤,你必須在析構函式中釋放這部分記憶體空間。如果基類的函式用virtual修飾,成為虛函式,則其派生類相應的過...

華為面試題

華為軟體研發面試題2 收藏 c語言面試題大彙總之華為面試題 eddy整理 1 區域性變數能否和全域性變數重名?答 能,區域性會遮蔽全域性。要用全域性變數,需要使用 區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內...

華為面試題

形式,一面二面都是一對一,一百多張桌子的宴會廳,去了之後,到你的面試的時間點會點名簽到,然後簽到完了坐等裡面hr出來提人。一面沒見刷人的,我見到的所有人都通過了。至於面試問題,不同hr問的可能完全不同,我跟乙個同學就沒有相同的問題。華為問到我的問題 一面說乙個你做的專案,你專案中你承擔的部分,還有遇...