華為軟體測試工程師面試題

2021-05-09 13:53:52 字數 2439 閱讀 6688

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

答:七層結構從上到下依次是:

7 應用層 ;6 表示層 ;5 會話層 ;4 傳輸層 ;3 網路層 ;2 資料鏈路層 ;1 物理層

五層結構是

5 應用層;4 運輸層;3 網路層; 2 鏈路層;1 物理層。

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

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

一般意義上說交換機是工作在資料鏈路層。但隨著科技的發展,現在有了三層交換機,三層交換機已經擴充套件到了網路層。也就是說:它等於「資料鏈路層 + 部分網路層」。交換機中傳的是幀。通過儲存**來實現的。

路由器是工作在網路層。路由器中傳的是ip資料報。主要是選址和路由。

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

答:除關鍵字不同外(class,struct)的唯一區別是,

結構在預設情況下的成員是公共(public)的,

而類在預設情況下的成員是私有(private)的。

在c++中,結構是特殊的類。

class是從struct發展而來的。之所以將struct和class都保留,是因為:

1、提出class是為了強調一種概念。

2、保留struct是為了照顧到大多數人的習慣。

struct和class是有區別的。  

struct保證成員按照宣告順序在記憶體中儲存。class不保證等等

而它們都可以繼承,實現多型等。但也有少許區別。比如:

struct a ;

class b : a; //private繼承

struct c : b; //public繼承

這是由於class預設是private,struct預設是public。

一般說來,struct和class可以換用(當然要注意一些語法問題)。

而struct更適合看成是乙個資料結構的實現體,

class更適合看成是乙個物件的實現體,

對私有成員進行保護,還提供與外界的介面。

從習慣上更喜歡用class。

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

答:置於「~」是析構函式;析構函式因使用"~"符號(邏輯非運算子),表示它為膩建構函式,加上類名稱來定義。

;析構函式也是特殊的類成員函式,它沒有返回型別,沒有引數,不能隨意呼叫,也沒有過載,只有在類物件的生命期結束的時候,由系統自動呼叫。

有適放記憶體空間的做用!

虛函式是c++多型的一種表現

例如:子類繼承了父類的乙個函式(方法),而我們把父類的指標指向子類,則必須把父類的該函式(方法)設為virturl(虛函式)。

使用虛函式,我們可以靈活的進行動態繫結,當然是以一定的開銷為代價。

如果父類的函式(方法)根本沒有必要或者無法實現,完全要依賴子類去實現的話,可以把此函式(方法)設為virturl 函式名=0

我們把這樣的函式(方法)稱為純虛函式。

如果乙個類包含了純虛函式,稱此類為抽象類

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

答:主要的區別是變數的作用範圍不同。全域性變數在全域性範圍內都有效,而區域性變數只在宣告此變數的作用域內有效。

全域性變數是屬於例項的,在初始化物件的時候初始化,生命週期與該例項相同,之所以叫全域性變數是因為該例項中的所有方法或屬性都可以引用;區域性變數是在例項方法內或static塊中,生命週期從呼叫該方法到該方法退出,並且只有該方法能夠引用之。

全域性變數和區域性變數的區別是在儲存器中位置不同,具體說,全域性變數儲存在資料段中,區域性變數都有可能,一般來說在堆疊段

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

答:定址方式

表示指令中運算元所在的方法稱為定址方式。8086/8088有七種基本的定址方式:立即尋找,暫存器定址,直接定址,暫存器間接定址,暫存器相對定址,基址加變址定址,相對基址加變址定址。

直 接定址、暫存器間接定址、暫存器相對定址、基址加變址定址和相對基址加變址定址,這五種定址方式屬於儲存器定址,用於說明運算元所在儲存單元的位址。由於 匯流排介面單元biu能根據需要自動引用段暫存器得到段值,所以這五種方式也就是確定存放運算元的儲存單元有效位址ea的方法。有效位址ea是乙個16位的 無符號數,在利用這五種方法計算有效位址時,所得的結果認為是乙個無符號數。

除了這些基本的定址方式外,還有固定定址和i/o埠定址等。

記憶體管理

主要包括記憶體的分配和**整理等,實現記憶體的高效利用。

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

答:16位系統,8位資料傳送,通過匯流排控制邏輯實現資料線和位址線的分時復用.

8086是inter的16位微處理器

有16根資料線和20根位址線,它既能處理16位資料,也能處理8位資料

內部資料匯流排都是按16位設計的,單外部資料匯流排只有8條

軟體測試工程師面試題

大概看了下,都不是很難,但現在很多企業都沒有專門的測試部門或測試人員,測試過程也不規範,對於沒有做過的來將還是有些難度。01.為什麼要在乙個團隊中開展軟體測試工作?保證軟體質量的最後一道關口。02.您是否了解以往所工作的企業的軟體測試過程?如果了解,請試述在這個過程中都有哪些工作要做?分別由哪些不同...

測試工程師面試題

下面的題不排序,有筆試題,也有面試題 4 怎麼劃分缺陷的等級?5 怎麼評價軟體工程師?6 軟體工程師的素質是什麼?7 怎麼看待軟體測試?8 軟體測試是乙個什麼樣的行業?9 圖書 圖書號,圖書名,作者編號,出版社,出版日期 作者 作者姓名,作者編號,年齡,性別 用sql語句查詢年齡小於平均年齡的作者姓...

軟體測試工程師經典面試題

軟體測試工程師,和開發工程師相比起來,雖然前期可能不會太深,但是涉及的面還是比較廣的。前期面試實習生或者一年左右的崗位,問的也主要是一些基礎性的問題比較多。涉及的知識主要有mysql資料庫的使用 linux作業系統的使用 軟體測試框架性的問題,測試環境搭建問題 當然還有一些自動化測試和效能測試的問題...