範文齋

華爲軟件測試工程師筆試題一

1:請你分別劃OSI的七層網絡結構圖,和TCp/Ip的五層結構圖?

華爲軟件測試工程師筆試題一

OSI的七層網絡結構圖,和TCp/Ip的五層結構圖

OSI

OSI 是Open System Interconnect的縮寫,意爲開放式系統互聯。在OSI出現之前,計算機網絡中存在衆多的體系結構,其中以IBM公司的SNA(系統網絡體系結構)和DEC公司的DNA(Digital Network Architecture)數字網絡體系結構最爲著名。爲了解決不同體系結構的網絡的互聯問題,國際標準化組織ISO(注意不要與OSI搞混))於 1981年制定了開放系統互連參考模型(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是多少尉的系統?在數據總線上是怎麼實現的?

件的各段!

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

筆試,看看數據結構,二叉樹,排序,什麼的

可能會考多線程

交換的基礎協議

1.軟件測試對應開發流程各階段應該怎麼樣劃分?單元測試,集成測試,系統測試各對應與開發流程的那幾個文檔?

2.壓力測試和性能測試的區別?

switch(n)中的n不能是以下那種類型 A char B int C unsigned D double