軟件開(kāi)發(fā)工程師筆試題
啊南 3089閱讀 2020.03.17
【導語(yǔ)】: 軟件開(kāi)發(fā)工程師是一個(gè)對專(zhuān)業(yè)性要求較高的職位,因此,很多公司在招聘軟件開(kāi)發(fā)工程師時(shí)會(huì )設置筆試題來(lái)篩選求職者。軟件開(kāi)發(fā)工程師筆試題都有哪些題型呢?小編整理了一些軟件開(kāi)發(fā)工程師的筆試題供大家參考。
1、下面哪項是不合法的標識符:()
A. $persons B. TwoUsers C. *point D. _endline E. final
2、下列運算符合法的是( )
A.&& B.<> C.if D.:=
3、下面描述中哪兩項相等:()[選擇兩項]
A. <%= YoshiBean.size%> B. <%= YoshiBean.getSize()%> C. <%= YoshiBean.getProperty(“size”)%>
D.<jsp:getProperty?id=”YoshiBean”?param=”size”/>? E.<jsp:getProperty?name=”YoshiBean”?param=”size”/> F.<jsp:getProperty?id=”YoshiBean”?property=”size”/> G.<jsp:getProperty?name=”YoshiBean”?property=”size”/>
4、設float x = 1,y = 2,z = 3,則表達式 y+=z--/++x的值是:()
A. 3.5 B. 3 C. 4 D. 5
5、下面的哪些敘述為真:()
A. equals()方法判定引用值是否指向同一對象 B. ==操作符判定兩個(gè)不同的對象的內容和類(lèi)型是否一致 C. equal()方法只有在兩個(gè)對象的內容一致時(shí)返回true D. 類(lèi)File重寫(xiě)方法equals()在兩個(gè)不同的對象的內容和類(lèi)型一致時(shí)返回true
6、如果一個(gè)對象僅僅聲明實(shí)現了cloneable接口,但是不聲明clone方法,外部能夠調用其clone方法嗎?()
A. 能 B. 不能 C. 不確定
7、下列說(shuō)法錯誤的有( )
A. 能被java.exe成功運行的java class文件必須有main()方法 B. J2SDK就是Java API C. Appletviewer.exe可利用jar選項運行.jar文件 D. 能被Appletviewer成功運行的java class文件必須有main()方法
8、下列正確的有( )
A. call by value不會(huì )改變實(shí)際參數的數值 B. call by reference能改變實(shí)際參數的參考地址 C. call by reference不能改變實(shí)際參數的參考地址 D. call by reference能改變實(shí)際參數的內容
9、下列說(shuō)法錯誤的有( )
A. 數組是一種對象 B. 數組屬于一種原生類(lèi) C. int number=[]={31,23,33,43,35,63} D. 數組的大小可以任意改變
10、不能用來(lái)修飾interface的有( )
A.private B.public C.protected D.static
1、軟件測試就是為了驗證軟件功能實(shí)現的是否正確,是否完成既定目標的活動(dòng),所以軟件測試在軟件工程的后期才開(kāi)始具體的工作。(初級)(×)
2、發(fā)現錯誤多的模塊,殘留在模塊中的錯誤也多。(√)
3、測試人員在測試過(guò)程中發(fā)現一處問(wèn)題,如果問(wèn)題影響不大,而自己又可以修改,應立即將此問(wèn)題正確修改,以加快、提高開(kāi)發(fā)的進(jìn)程。(×)
4、單元測試通常應該先進(jìn)行“人工走查”,再以白盒法為主,輔以黑盒法進(jìn)行動(dòng)態(tài)測試(√)
5、功能測試是系統測試的主要內容,檢査系統的功能、性能是否與需求規格說(shuō)明相同。(√)
6、軟件質(zhì)量管理即QM由QA和QC構成,軟件測試屬于QC的核心工作內容(√)
7、軟件測試只能發(fā)現錯誤,但不能保證測試后的軟件沒(méi)有錯誤。(√)
8、軟件就是程序。(X)
9、測試只要做到語(yǔ)句覆蓋和分支覆蓋,就可以發(fā)現程序中的所有錯誤。(X)
10、I18N測試是指對產(chǎn)品做出具有國際性的規劃,而L10N測試則是指對軟件做出符合本地需求更改工作。(√)
1._軟件__是計算機程序及其說(shuō)明程序的各種文檔。_文檔____是有關(guān)計算機程序功能、設計、編制、使用的文字或圖形資料。
2.軟件生存周期是指一個(gè)軟件從提出開(kāi)發(fā)要求開(kāi)始直到該軟件報廢不止的整個(gè)時(shí)期。通常,軟件生存周期包括問(wèn)題定義、可行性研究__需求分析__總體設計、詳細設計、編碼 測試____軟件維護活動(dòng),可以將這些活動(dòng)以適當方式分配到不同階段去完成。
3. 軟件詳細設計階段采用的工具有__圖、表、過(guò)程設計語(yǔ)言
4. 行性研究 的目的就是用最小的代價(jià)在盡可能短的時(shí)間內確定該軟件項目是否能夠開(kāi)發(fā),是否值得去開(kāi)發(fā)。
5.模塊的耦合性分為四種類(lèi)型:_據耦合 控制 公共 內容
1、軟件生存周期是什么?
軟件生存周期是軟件的生產(chǎn)直到報廢的生命周期,由軟件定義、軟件開(kāi)發(fā)、軟件維護三個(gè)時(shí)期組成。
(1) 軟件定義時(shí)期的任務(wù)是確定軟件開(kāi)發(fā)的總目標即問(wèn)題定義;確定可行性;需求
分析。
(2) 軟件開(kāi)發(fā)時(shí)期具體設計和實(shí)現在前一個(gè)時(shí)期定義的軟件。包括總體設計,詳細
設計,編碼和測試。
(3) 軟件維護時(shí)期主要任務(wù)是使軟件持久地滿(mǎn)足用戶(hù)的需要,延續軟件使用的壽命。
2、數據字典是什么?
數據字典是關(guān)于數據的信息的集合,也就是對數據流圖中包含的所有元素的定義的集合,數據字典是一種用戶(hù)可以訪(fǎng)問(wèn)的記錄數據庫和應用程序源數據目錄。數據流圖和數據字典共同構成系統的邏輯模型。
數據字典有4類(lèi)元素定義組成:數據流,數據流分量(數據元素(數據結構,數據項)),數據存儲,處理。
在數據字典中記錄數據元素的信息,如一般信息,定義,使用特點(diǎn),控制信息,分組信息。
數據字典最重要的用途是作為分析階段的工具。在數據字典中建立的一組嚴密一致的定義很有助于改進(jìn)分析員和用戶(hù)之間的通信,消除誤解。數據字典是開(kāi)發(fā)數據庫的第一步,也是很有價(jià)值的一步。
3、軟件文檔的作用
軟件文檔在產(chǎn)品的開(kāi)發(fā)過(guò)程中起著(zhù)重要的作用。
(1) 提高軟件開(kāi)發(fā)過(guò)程的能見(jiàn)度,將開(kāi)發(fā)過(guò)程發(fā)生的事件以某種可閱讀的形式記錄在文檔中 (2) 管理人員可以把記載下來(lái)的材料作為檢查軟件開(kāi)發(fā)進(jìn)度和開(kāi)發(fā)質(zhì)量的依據,實(shí)現對軟件開(kāi)發(fā)的工程管理.
(3) 提高開(kāi)發(fā)效率 作為開(kāi)發(fā)人員在一定階段的工作成果和結束標志。便于潛在用戶(hù)了解軟件的功能、性能等各項指標,為他們選購符合自己需要的軟件提供依據。
(4) 記錄開(kāi)發(fā)過(guò)程中有關(guān)的信息,便于協(xié)調以后的軟件開(kāi)發(fā)、使用和維護
(5) 提供對軟件的運行,維護和培訓等有關(guān)信息,便于管理人員,開(kāi)發(fā)人員,操作人員,用戶(hù)等之間的協(xié) 作、交流和了解。
(6) 文檔是軟件開(kāi)發(fā)規范的體現和指南
4、黑盒測試是什么?
黑盒測試也稱(chēng)功能測試,它是通過(guò)測試來(lái)檢測每個(gè)功能是否都能正常使用。在測試中把程序看做一個(gè)不能打開(kāi)的黑盒子,在完全不考慮內部結構和內部特性的情況下,在程序接口進(jìn)行測試。它只檢查程序功能是否按照要求規格說(shuō)明書(shū)的規定正常使用,程序是否能適當地接收輸入數據而產(chǎn)生正確的輸出信息。黑盒測試著(zhù)眼于程序外部結構,不考慮內部邏輯結構,主要針對軟件界面和軟件功能進(jìn)行測試。
黑盒測試注重于軟件的功能需求,能發(fā)現以下幾類(lèi)錯誤:功能不正確或遺漏;界面錯誤;輸入和輸出錯誤;性能錯誤;初始化和終止錯誤等。
優(yōu)點(diǎn):適用于各個(gè)階段,容易入手生成測試數據 缺點(diǎn):某些代碼得不到測試,不易進(jìn)行充分性測試
5、軟件危機是什么?
軟件危機是指在計算機軟件的開(kāi)發(fā)和維護過(guò)程中所遇到一系列嚴重問(wèn)題。
軟件危機包含兩方面問(wèn)題:如何開(kāi)發(fā)軟件,滿(mǎn)足對軟件日益增長(cháng)的需求;如何維護數量不斷膨脹的已有文件。
表現:(1)對軟件開(kāi)發(fā)成本和進(jìn)度的估計常常不準確
(2)用戶(hù)對“已完成的”軟件系統不滿(mǎn)意
(3)軟件產(chǎn)品的質(zhì)量靠不住
(4)軟件常常不可維護
(5)軟件通常沒(méi)有合適的文檔資料
(6)軟件成本在計算機系統總成本中所占比例逐年增加
(7)軟件開(kāi)發(fā)生產(chǎn)率提高的速度,跟不上計算機應用迅速普及深入的趨勢 原因:
(1)與軟件本身有關(guān): 軟件不會(huì )被“用壞”,若運行發(fā)現錯誤,很可能是在開(kāi)發(fā)時(shí)期引入的;軟件規模龐大,程序復雜性隨著(zhù)程序規模的增加而增加
(2)與軟件開(kāi)發(fā)與維護的方法有關(guān):忽視軟件需求分析的重要性,對用戶(hù)的要求沒(méi)有正確認識就著(zhù)手編寫(xiě)程序;輕視軟件維護
消除危機途徑:
(1) 正確認識計算機軟件
(2) 認識軟件開(kāi)發(fā)是需要組織良好,管理嚴格,各類(lèi)人員協(xié)同配合、共同完成的工程項目
(3) 推廣使用在實(shí)踐中總結出來(lái)開(kāi)發(fā)軟件成功的技術(shù)和方法,并繼續探索研究
(4) 開(kāi)發(fā)和使用更好的軟件工具
(5) 有技術(shù)措施,又要有必要的組織管理
軟件開(kāi)發(fā)工程師書(shū)籍推薦:
1. Code Complete 2(《代碼大全(第二版)》)
如果你想成為一名優(yōu)秀的軟件工程師,請閱讀第一本書(shū)。這本書(shū)被廣泛認為是最好的編程實(shí)用指南之一,Steve McConnell最初所編寫(xiě)《代碼大全》在十多年里幫助開(kāi)發(fā)人員編寫(xiě)了更好的軟件,F在,這本經(jīng)典書(shū)籍已經(jīng)通過(guò)前沿實(shí)踐和數百個(gè)新的代碼示例進(jìn)行了全面更新和修訂,展示了軟件構建的藝術(shù)和科學(xué)。通過(guò)從研究、學(xué)術(shù)界和日常商業(yè)實(shí)踐中獲取的知識,McConnell將最有效的技術(shù)和必須知道的原則綜合到清晰,實(shí)用的指導中。無(wú)論你的經(jīng)驗水平、開(kāi)發(fā)環(huán)境或項目規模如何,本書(shū)都將為你提供信息并激發(fā)思考,并幫助你構建最高質(zhì)量的代碼。
2. Pragmatic Programmer(《程序員修煉之道》)
雖然這本書(shū)寫(xiě)于1999年,但這些概念是關(guān)于如何以實(shí)際方式開(kāi)發(fā)復雜系統的基礎。程序員是受過(guò)訓練的工匠,他們使用某些工具(編輯器、對象管理器、版本跟蹤器)來(lái)生成某種類(lèi)型的產(chǎn)品(程序),這些產(chǎn)品將在某些環(huán)境中運行(硬件組件上的操作系統)。與任何其他工藝一樣,計算機編程產(chǎn)生了許多智慧,其中大部分都沒(méi)有在大學(xué)或認證課程中教授。大多數程序員通過(guò)獨立實(shí)驗,隨著(zhù)時(shí)間的推移到達所謂的交易技巧。在這本書(shū)中包含了安德魯·亨特和大衛·托馬斯,分別是軟件設計者和代碼編寫(xiě)者,在各自職業(yè)生涯中發(fā)現的許多真理。
3. Structure and Interpretation of Computer Programs(《計算機程序的構造和解釋》)
通過(guò)分析和嚴謹的解決問(wèn)題和編程技術(shù)的方法,本書(shū)主要面向工程方面。計算機程序的結構和解釋強調了計算模型中處理時(shí)間的不同方法所起的核心作用。其獨特的方法適用于計算機科學(xué)課程的介紹,以及編程語(yǔ)言和程序設計。本書(shū)進(jìn)一步解釋了四種最著(zhù)名的編程語(yǔ)言范式——命令式、面向對象、基于邏輯和應用程序編程。
4. Introduction to Algorithms(《算法導論》)
這本書(shū)是理解和使用算法的最佳書(shū)籍(你將在軟件開(kāi)發(fā)中應用到的許多算法)。有些關(guān)于算法的書(shū)很?chē)乐數煌暾;其他其涵蓋大量的材料,但缺乏嚴謹性。算法簡(jiǎn)介獨特地結合了嚴謹性和全面性。