教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

軟件工程師面試題(含筆試)

更新時(shí)間:2019年01月25日16時(shí)06分 來(lái)源:軟件測(cè)試培訓(xùn) 瀏覽次數(shù):

對(duì)于軟件工程師,不太重視學(xué)歷,但并不是對(duì)學(xué)歷沒(méi)有要求,重點(diǎn)關(guān)注項(xiàng)目的經(jīng)驗(yàn)和學(xué)習(xí)知識(shí)的能力,能否利用軟件工程專業(yè)知識(shí)來(lái)解決問(wèn)題,根據(jù)崗位不同,對(duì)軟件工程師的要求也有所不同。接下來(lái)傳智播客搜集了軟件工程師筆試題及答案,僅供大家參考。

軟件工程師筆試題及答案一

一、判斷題

1、軟件測(cè)試就是為了驗(yàn)證軟件功能實(shí)現(xiàn)的是否正確,是否完成既定目標(biāo)的活動(dòng),所以軟件測(cè)試在軟件工程的后期才開(kāi)始具體的工作。(初級(jí))( × )

2、發(fā)現(xiàn)錯(cuò)誤多的模塊,殘留在模塊中的錯(cuò)誤也多。( √ ) (初級(jí))

3、測(cè)試人員在測(cè)試過(guò)程中發(fā)現(xiàn)一處問(wèn)題,如果問(wèn)題影響不大,而自己又可以修改,應(yīng)立即將此問(wèn)題正確修改,以加快、提高開(kāi)發(fā)的進(jìn)程。( × )(初級(jí))

4、單元測(cè)試通常應(yīng)該先進(jìn)行“人工走查”,再以白盒法為主,輔以黑盒法進(jìn)行動(dòng)態(tài)測(cè)試。( √ )(中級(jí))

5、功能測(cè)試是系統(tǒng)測(cè)試的主要內(nèi)容,檢查系統(tǒng)的功能、性能是否與需求規(guī)格說(shuō)明相同。( √ )(中級(jí))

6、軟件質(zhì)量管理即QM由QA和QC構(gòu)成,軟件測(cè)試屬于QC的核心工作內(nèi)容。(√)(高級(jí))

7、軟件測(cè)試只能發(fā)現(xiàn)錯(cuò)誤,但不能保證測(cè)試后的軟件沒(méi)有錯(cuò)誤。(√)

8、軟件就是程序。(X)

9、測(cè)試只要做到語(yǔ)句覆蓋和分支覆蓋,就可以發(fā)現(xiàn)程序中的所有錯(cuò)誤。(X)

10、I18N測(cè)試是指對(duì)產(chǎn)品做出具有國(guó)際性的規(guī)劃,而L10N測(cè)試則是指對(duì)軟件做出符合本地需求更改工作。(√)【高級(jí)】

二、選擇題

1、 進(jìn)行軟件質(zhì)量管理的重要性有:(ABCD)【中級(jí)】

A、維護(hù)降低成本  B、法律上的要求 C、市場(chǎng)競(jìng)爭(zhēng)的需要 D、質(zhì)量標(biāo)準(zhǔn)化的趨勢(shì) E、軟件工程的需要 F、CMM過(guò)程的一部分 G、方便與客戶進(jìn)一步溝通為后期的實(shí)施打好基礎(chǔ)

2、以測(cè)試的形態(tài)分測(cè)試可以分為:(ABC)【中級(jí)】

A、建構(gòu)性測(cè)試 B、系統(tǒng)測(cè)試 C、專項(xiàng)測(cè)試 D、單元測(cè)試 E、組件測(cè)試 F、集成測(cè)試

3、選出屬于黑盒測(cè)試方法的選項(xiàng)(ABC)【初級(jí)】

A、測(cè)試用例覆蓋 B、輸入覆蓋 C、輸出覆蓋 D、分支覆蓋 E、語(yǔ)句覆蓋 F、條件覆蓋

4、編寫(xiě)測(cè)試計(jì)劃的目的是:(ABC)【中級(jí)】

A、使測(cè)試工作順利進(jìn)行 B、使項(xiàng)目參與人員溝通更舒暢 C、使測(cè)試工作更加系統(tǒng)化 D、軟件工程以及軟件過(guò)程的需要 E、軟件過(guò)程規(guī)范化的要求 F、控制軟件質(zhì)量

5、依存關(guān)系有4種,分別是:(ABCD)【高級(jí)】

A、開(kāi)始-結(jié)束 B、開(kāi)始-開(kāi)始 C、結(jié)束-開(kāi)始 D、結(jié)束-結(jié)束 E、開(kāi)始-實(shí)施-結(jié)束 F、結(jié)束-審核-開(kāi)始

6、軟件質(zhì)量管理(QM)應(yīng)有質(zhì)量保證(QA)和質(zhì)量控制(QC)組成,下面的選項(xiàng)屬于QC得是:(ABC)【高級(jí)】

A、測(cè)試 B、跟蹤 C、監(jiān)督 D、制定計(jì)劃 E、需求審查 F、程序代碼審查

7、實(shí)施缺陷跟蹤的目的是:(ABCD)【中級(jí)】

A、軟件質(zhì)量無(wú)法控制 B、問(wèn)題無(wú)法量化 C、重復(fù)問(wèn)題接連產(chǎn)生 D、解決問(wèn)題的知識(shí)無(wú)法保留 E、確保缺陷得到解決 F、使問(wèn)題形成完整的閉環(huán)處理

8、使用軟件測(cè)試工具的目的:(ABC)【中級(jí)】

A、幫助測(cè)試尋找問(wèn)題 B、協(xié)助問(wèn)題的診斷 C、節(jié)省測(cè)試時(shí)間 D、提高Bug的發(fā)現(xiàn)率 E、更好的控制缺陷提高軟件質(zhì)量 F、更好的協(xié)助開(kāi)發(fā)人員

9、典型的瀑布模型的四個(gè)階段是:(ABCD)【高級(jí)】

A、分析 B、設(shè)計(jì) C、編碼 D、測(cè)試 E、需求調(diào)研 F、實(shí)施

10、PSP是指?jìng)€(gè)人軟件過(guò)程 ,是一種可用于( A )、( B )和( C )個(gè)人軟件工作方式的自我改善過(guò)程?!靖呒?jí)】

A、控制 B、管理 C、改進(jìn) D、高效 E、充分 F、適宜

三、問(wèn)答題

1、 測(cè)試人員在軟件開(kāi)發(fā)過(guò)程中的任務(wù)是什么?(初級(jí))

答:1、尋找Bug;

2、避免軟件開(kāi)發(fā)過(guò)程中的缺陷;

3、衡量軟件的品質(zhì);

4、關(guān)注用戶的需求。

總的目標(biāo)是:確保軟件的質(zhì)量。

2、在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內(nèi)容?如何提交高質(zhì)量的軟件缺陷(Bug)記錄?(初級(jí))

答:一條Bug記錄最基本應(yīng)包含:編號(hào)、Bug所屬模塊、Bug描述、Bug級(jí)別、發(fā)現(xiàn)日期、發(fā)現(xiàn)人、修改日期、修改人、修改方法、回歸結(jié)果等等;要有效的發(fā)現(xiàn)Bug需參考需求以及詳細(xì)設(shè)計(jì)等前期文檔設(shè)計(jì)出高效的測(cè)試用例,然后嚴(yán)格執(zhí)行測(cè)試用例,對(duì)發(fā)現(xiàn)的問(wèn)題要充分確認(rèn)肯定,然后再向外發(fā)布如此才能提高提交Bug的質(zhì)量。

3、黑盒測(cè)試和白盒測(cè)試是軟件測(cè)試的兩種基本方法,請(qǐng)分別說(shuō)明各自的優(yōu)點(diǎn)和缺點(diǎn)?。ㄖ屑?jí))

答:黑盒測(cè)試的優(yōu)點(diǎn)有:

1)比較簡(jiǎn)單,不需要了解程序內(nèi)部的代碼及實(shí)現(xiàn);

2)與軟件的內(nèi)部實(shí)現(xiàn)無(wú)關(guān);

3)從用戶角度出發(fā),能很容易的知道用戶會(huì)用到哪些功能,會(huì)遇到哪些問(wèn)題;

4)基于軟件開(kāi)發(fā)文檔,所以也能知道軟件實(shí)現(xiàn)了文檔中的哪些功能;

5)在做軟件自動(dòng)化測(cè)試時(shí)較為方便。

黑盒測(cè)試的缺點(diǎn)有:

1)不可能覆蓋所有的代碼,覆蓋率較低,大概只能達(dá)到總代碼量的30%;

2)自動(dòng)化測(cè)試的復(fù)用性較低。

白盒測(cè)試的優(yōu)點(diǎn)有:幫助軟件測(cè)試人員增大代碼的覆蓋率,提高代碼的質(zhì)量,發(fā)現(xiàn)代碼中隱藏的問(wèn)題。

白盒測(cè)試的缺點(diǎn)有:

1)程序運(yùn)行會(huì)有很多不同的路徑,不可能測(cè)試所有的運(yùn)行路徑;

2)測(cè)試基于代碼,只能測(cè)試開(kāi)發(fā)人員做的對(duì)不對(duì),而不能知道設(shè)計(jì)的正確與否,可能會(huì)漏掉一些功能需求;

3)系統(tǒng)龐大時(shí),測(cè)試開(kāi)銷會(huì)非常大。

4、根據(jù)自己的理解回答什么是軟件測(cè)試,軟件測(cè)試分為哪幾個(gè)階段。(初級(jí))

答:軟件測(cè)試是一個(gè)為了尋找軟件中的錯(cuò)誤而運(yùn)行軟件的過(guò)程,一個(gè)成功的測(cè)試是指找到了迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。

軟件測(cè)試一般分為單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試。

5、根據(jù)自己的理解什么是測(cè)試用例和測(cè)試規(guī)程,設(shè)計(jì)一個(gè)測(cè)試用例應(yīng)當(dāng)從哪幾方面考慮?(中級(jí))

答:狹義的講,一個(gè)測(cè)試用例就是測(cè)試人員用以測(cè)試被測(cè)軟件的某個(gè)特性或特性組合的一組數(shù)據(jù)。這組數(shù)據(jù)可能是從用戶處得來(lái)的實(shí)際的一組數(shù)據(jù),也可能是測(cè)試人員專門(mén)設(shè)計(jì)出來(lái)的測(cè)試軟件某些功能的一組數(shù)據(jù)。

測(cè)試規(guī)程就是詳細(xì)的對(duì)測(cè)試用例設(shè)計(jì)方法、測(cè)試方法、測(cè)試工具、測(cè)試環(huán)境和測(cè)試數(shù)據(jù)進(jìn)行描述的文檔,還可以包括能把某個(gè)或某一組測(cè)試用例應(yīng)用到被測(cè)軟件上完成某項(xiàng)測(cè)試的一系列的操作步驟。

設(shè)計(jì)測(cè)試用例應(yīng)當(dāng)從以下幾方面考慮:邊界值,等價(jià)類劃分,有效/無(wú)效值等。

6、什么是軟件質(zhì)量保證?軟件質(zhì)量保證人員與開(kāi)發(fā)人員的關(guān)系如何?(高級(jí))

答:軟件質(zhì)量保證就是通過(guò)確保軟件過(guò)程的質(zhì)量,來(lái)保證軟件產(chǎn)品的質(zhì)量。

軟件質(zhì)量保證人員和開(kāi)發(fā)人員之間具有管理上的嚴(yán)格的獨(dú)立性,兩個(gè)小組的管理員都不能越權(quán)管理另一組,但都可以向更高層的管理者匯報(bào)軟件開(kāi)發(fā)中的問(wèn)題。

軟件工程師筆試題及答案二

一、選擇題

1、設(shè)float a=2, b=4, c=3;,以下C語(yǔ)言表達(dá)式與代數(shù)式 (a+b)+c計(jì)算結(jié)果不一致的是

A.(a+b)*c/2

B.(1/2)*(a+b)*c

C.(a+b)*c*1/2

D.c/2*(a+b)

參考答案:B,因?yàn)閍,b,c三個(gè)變量都是浮點(diǎn)數(shù),所以在B答案中其結(jié)果是0,因?yàn)樵谟?jì)算1/2是就是0,如果改成1/2.0就正確了。

2、為了向二進(jìn)制文件尾部增加數(shù)據(jù),打開(kāi)文件的方式應(yīng)采用

A.″ab″

B.″rb+″

C.″wb″

D.″wb+″

參考答案:D

3、下述程序執(zhí)行后的輸出結(jié)果是

#include

main()

{

int x='f';

printf("%c ",'a'+(x-'a'+1));

}

A.g

B.h

C.i

D.j

參考答案:A

4、C語(yǔ)言中,下列運(yùn)算符優(yōu)先級(jí)最高的是

A.!

B.%

C.>>

D.= =

參考答案:A

5、數(shù)組定義為“ int a [ 4 ] ; ”,表達(dá)式 ( ) 是錯(cuò)誤的。

A.*a

B.a [ 0 ]

C.a

D.a++

參考答案:D

6、執(zhí)行語(yǔ)句“ k=7>>1; ”后,變量 k 的當(dāng)前值是

A.15

B.31

C.3

D.1

參考答案:C

7、定義函數(shù)時(shí),缺省函數(shù)的類型聲明,則函數(shù)類型取缺省類型

A.void

B.char

C.float

D.int

參考答案:D

8、若main()函數(shù)帶參數(shù),參數(shù)個(gè)數(shù)最多是

A.0

B.1

C.2

D.3

參考答案:C 只知道有定義形式main(int argc,char* argv[]))

9、若有宏定義:#define MOD(x,y) x%y

則執(zhí)行以下語(yǔ)句后的輸出結(jié)果是

int a=13,b=94;

printf(″%d ″,MOD(b,a+4));

A.5

B.7

C.9

D.11

參考答案:B

10、下列各個(gè)錯(cuò)誤中,哪一個(gè)不屬于編譯錯(cuò)誤

A.改變 x 原值 3 為 5 ,寫(xiě)作“ x==5 ;”

B.花括號(hào)不配對(duì)

C.復(fù)合語(yǔ)句中的最后一條語(yǔ)句后未加分號(hào)

D.變量有引用、無(wú)定義

參考答案:A

11、下列程序段運(yùn)行后, x 的值是( )

a=1;b=2;x=0;

if(!( -- a))x -- ;

if(!b)x=7;else ++x;

A.0

B.3

C.6

D.7

參考答案:A

12、設(shè)

#define N 3

#define Y(n) ((N+1)*n)

則表達(dá)式2*(N+Y(5+1))的值是

A.42

B.48

C.54

D.出錯(cuò)

參考答案:B Y(5+1) 傳遞過(guò)去的應(yīng)該是6,而不是簡(jiǎn)單的把5+1給替換掉

13、若定義了char ch[]={″abc\0def″},*p=ch;則執(zhí)行printf(″%c″,*p+4);語(yǔ)句的輸出結(jié)果是

A.def

B.d

C.e

D.0

參考答案:C

14、下列轉(zhuǎn)義字符中錯(cuò)誤的是

A.′\000′

B.′14′

C.′x111′

D.′2′

參考答案:C error C2022、 '273' 、 too big for character

15、算術(shù)運(yùn)算符,賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低依次為

A.算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算

B.算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算

C.關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算

D.關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算

參考答案:B

16、設(shè)#define N 3

#define Y(n) ((N+1)*n)

則表達(dá)式2*(N+Y(5+1))的值是

A.42

B.48

C.54

D.出錯(cuò)

參考答案:B

17、表達(dá)式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一個(gè)

A.非零整數(shù)

B.浮點(diǎn)數(shù)

C.0

D.字符

參考答案: A

18、設(shè)struct

{ short a;

char b;

float c;

}cs;

則sizeof(cs)的值是

A.4

B.5

C.6

D.7

參考答案: D 字節(jié)對(duì)齊的話應(yīng)該是8

19、若變量已正確定義,表達(dá)式( j=3 , j++ )的值是

A.3

B.4

C.5

D.0

參考答案:A

20、C 語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是

A.%

B./

C.!

D.**

參考答案:A

二、簡(jiǎn)答題

21、打印一個(gè)N*N的方陣,N為每邊字符的個(gè)數(shù)( 3〈N〈20 ),要求最外層為“X”,第二層為“Y”,從第三層起每層依次打印數(shù)字0,1,2,3,...

例子:當(dāng)N =5,打印出下面的圖形:

X X X X X

X Y Y Y X

X Y 0 Y X

X Y Y Y X

X X X X X

22、談?wù)凜OM的線程模型。然后討論進(jìn)程內(nèi)/外組件的差別。

23、多態(tài)類中的虛函數(shù)表是Compile-Time,還是Run-Time時(shí)建立的?

參考答案:

虛擬函數(shù)表是在編譯期就建立了,各個(gè)虛擬函數(shù)這時(shí)被組織成了一個(gè)虛擬函數(shù)的入口地址的數(shù)組.

而對(duì)象的隱藏成員--虛擬函數(shù)表指針是在運(yùn)行期--也就是構(gòu)造函數(shù)被調(diào)用時(shí)進(jìn)行初始化的,這是實(shí)現(xiàn)多態(tài)的關(guān)鍵.

24、#include

void main()

{ int c;

while ((c=get))!= ′ n ′ )

switch(c - ′ 2 ′ )

{ case 0、

case 1、putc+4);break;

case 2、putc+4);break;

case 3、putc+3);break;

default、putc+2);break;

}

printf( ″ n ″ );

}

運(yùn)行時(shí)輸入: 2473 ,輸出結(jié)果:

參考答案:6897 VC++6.0測(cè)試過(guò)

25、用兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列的功能?

參考答案:

設(shè)2個(gè)棧為A,B, 一開(kāi)始均為空.入隊(duì)、

將新元素push入棧A;出隊(duì)、

(1)判斷棧B是否為空;

(2)如果不為空,則將棧A中所有元素依次pop出并push到棧B;

(3)將棧B的棧頂元素pop出;這樣實(shí)現(xiàn)的隊(duì)列入隊(duì)和出隊(duì)的平攤復(fù)雜度都還是O(1),

26、寫(xiě)一語(yǔ)句實(shí)現(xiàn)x是否為2的若干次冪的判斷。

參考答案:!(X)&(X-1)

27、解二次方程、a*x*x+b*x+c

int Quadratic( double a,double b,double c,double& x1,double& x2);

返回值:解的個(gè)數(shù)

28、如何判別一個(gè)數(shù)是unsigned。

參考答案;

#define issignal(x) ((x>=0 && ~x>=0) ? 1、0) //為1是無(wú)符號(hào) 為0有符號(hào)

29、執(zhí)行下述程序的輸出結(jié)果是 ABCDEFCDEFEF 。

#include

char b[]="ABCDEF";

main()

{

char *bp;

for (bp=b;*bp;bp+=2)

printf("%s",bp);

printf(" ");

}

30、已知一個(gè)數(shù)組table,用一個(gè)宏定義,求出數(shù)據(jù)的元素個(gè)數(shù)。

參考答案:#define NTBL

#define NTBL (sizeof(table)/sizeof(table[0]))
軟件工程師面試
0 分享到:
和我們?cè)诰€交談!