- 相關(guān)推薦
軟件工程師面試題小練帶參考答案
從小學、初中、高中到大學乃至工作,我們最不陌生的就是試題了,試題是學;蚋髦鬓k方考核某種知識才能的標準。你知道什么樣的試題才算得上好試題嗎?以下是小編精心整理的軟件工程師面試題小練帶參考答案,僅供參考,歡迎大家閱讀。
142面試題小練
一、JAVA編程基礎(chǔ)部分 1. "=="和equals方法究竟有什么區(qū)別?
答:==操作符專門用來比較兩個變量的值是否相等,也就是用于比較變量所對應的內(nèi)存中所存儲的數(shù)值是否相同,要比較兩個基本類型的數(shù)據(jù)或兩個引用變量是否相等,只能用==操作符。
Equals()方法是用于比較兩個獨立對象的內(nèi)容是否相同,就好比去比較兩個人的長相是否相同,它比較的兩個對象是獨立的。 2. 作用域(訪問修飾符)public,private,protected,以及不寫時的區(qū)別?
答:如果在修飾的元素上面沒有寫任何訪問修飾符,則表示friendly。(C#中是internal) 訪問修飾符
public
protected
friendly
private 當前類 √ √ √ √ 同一個包 √ √ √ × 子孫類 √ √ × × 其他包 √ × × ×
3. 請簡述面向?qū)ο笥心乃膫方面的特征?
答:
1).封裝:即將對象封裝成一個高度自治和相對封閉的個體,對象狀態(tài)(屬性)由這個對象自己的行為(方法)來讀取和改變;
2).抽象:抽象就是找出一些事物的相似和共性之處,然后將這些事物歸為一個類,這個類只考慮這些事物的相似和共性之處
3). 繼承:繼承是子類自動共享父類數(shù)據(jù)和方法的機制,這是類之間的一種關(guān)系,提高了軟件的可重用性和可擴展性。
4).多態(tài): 多態(tài)性增強了軟件的靈活性和擴展性。
4. 請簡述abstract class和interface的區(qū)別。
答:含有abstract修飾符的class即為抽象類,接口(interface)可以說成是抽象類的一種特例,接口中的所有方法都必須是抽象的。
兩者的語法區(qū)別:
1).抽象類可以有構(gòu)造方法,接口中不能有構(gòu)造方法。
2).抽象類中可以包含非抽象的普通方法,接口不能。
3). 抽象類中可以包含靜態(tài)方法,接口中不能
4). 一個類可以實現(xiàn)多個接口,但只能繼承一個抽象類。
兩者的應用上的區(qū)別:
1).接口更多在系統(tǒng)框架設(shè)計方法發(fā)揮作用。
2).抽象類在代碼實現(xiàn)方面發(fā)揮作用,實現(xiàn)代碼的重用。
5.下面代碼有錯嗎?有何錯誤呢?
、. abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
}
答:大俠們,這有何錯誤?
答案: 錯。abstract method(抽象方法)必須以分號結(jié)尾,且不帶花括號。(沒有方法體)
、. abstract class Something {private abstract String doSomething (); }
答:這好像沒什么錯吧?
答案: 錯。abstract的methods(方法)不能以private修飾。abstract的methods(方法)就是讓子類implement(實現(xiàn))具體細節(jié)的,怎么可以用private把abstract私有化呢
、. class Something {int i;public void doSomething() {System.out.println("i = " + i);}}
答:有什么錯呢? 看不出來啊。
答案: 正確。輸出的是"i = 0"。int i屬於instant variable (實例變量,或叫成員變量)。instant variable有默認值。int的默認值是0。
二、SQL Server部分 1. 可以用什么來確保表格里的字段只接受特定范圍里的值?
答:這個問題可以用多種方式來回答,但是只有一個答案是“好”答案:Check約束,它在數(shù)據(jù)庫表格里被定義,用來限制輸入該列的值。觸發(fā)器也可以被用來限制數(shù)據(jù)庫表格里的字段能夠接受的值,但是這種辦法要求觸發(fā)器在表格里被定義,這可能會在某些情況下影響到性能。因此,微軟建議使用Check限制而不是其他的方式來限制域的完整性。 2.什么是主鍵?什么是外鍵?
答:主鍵是表格里的(一個或多個)字段,只用來定義表格里的行;主鍵里的值總是唯一的。外鍵是一個用來建立兩個表格之間關(guān)系的約束。這種關(guān)系一般都涉及一個表格里的主鍵字段與另外一個表格(盡管可能是同一個表格)里的一系列相連的字段。那么這些相連的字段就是外鍵。
3.什么是事務?有哪四個屬性(原則)?
答:事務是作為一個邏輯單元執(zhí)行的一系列操作,要么全都執(zhí)行,要么全都不執(zhí)行。一個邏輯工作單元必須有四個屬性,稱為 ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個事務。
附:
原子性:事務必須是原子工作單元;對于其數(shù)據(jù)修改,
一致性:事務在完成時,必須使所有的數(shù)據(jù)都保持一致狀態(tài)。
隔離性:由并發(fā)事務所作的修改必須與任何其它并發(fā)事務所作的修改隔離。
持久性:事務完成之后,它對于系統(tǒng)的影響是永久性的。
4.觸發(fā)器和存儲過程有何區(qū)別?(講解時回顧觸發(fā)器和存儲過程分別是什么)
答:只有一個區(qū)別:存儲過程,你調(diào)用的時候才會執(zhí)行
觸發(fā)器就是你設(shè)定了數(shù)據(jù)庫里比如刪除,修改,插入時,就會自動觸發(fā)執(zhí)行
拓展:計算機三級軟件測試技術(shù)沖刺題
一、判斷題
1.軟件測試的目的是盡可能多的找出軟件的缺陷。(Y)
2.Beta測試是驗收測試的一種。(Y)
3.驗收測試是由最終用戶來實施的。(N)
4.項目立項前測試人員不需要提交任何工件。(Y)
5.單元測試能發(fā)現(xiàn)約80%的軟件缺陷。(Y)
6.代碼評審是檢查源代碼是否達到模塊設(shè)計的要求。(N)
7.自底向上集成需要測試員編寫驅(qū)動程序。(Y)
8.負載測試是驗證要檢驗的系統(tǒng)的能力最高能達到什么程度。(N)
9.測試人員要堅持原則,缺陷未修復完堅決不予通過。(N)
10.代碼評審員一般由測試員擔任。(N)
11.我們可以人為的使得軟件不存在配置問題。(N)
12.集成測試計劃在需求分析階段末提交。(N)
13.測試是為了驗證軟件已正確地實現(xiàn)了用戶的要求。(N)
14.白盒測試僅與程序的內(nèi)部結(jié)構(gòu)有關(guān),完全可以不考慮程序的功能要求。(Y)
15.黑盒測試的測試用例是根據(jù)程序內(nèi)部邏輯設(shè)計的。(N)
16.為了快速完成集成測試,采用一次性集成方式是適宜的。(N)
17.在軟件開發(fā)過程中,若能推遲暴露其中的錯誤,則為修復和改正錯誤所花費的代價就會降低。(N)
二、多項選擇題
1.在面向類的度量中,下列哪些度量方式是屬于C&K套件的度量(ABCF).
面向?qū)ο蟮能浖こ蘌463頁C&K度量套件
A.每個類的加權(quán)方法
B.對象類之間的耦合
C.繼承樹的深度
D.類大小
E.特例化索引
F.方法中內(nèi)聚的缺乏
2.以下說法正確的有(BC).
A.等價類劃分和邊界值分析屬于白盒測試技術(shù).
B.基本路徑測試屬于白盒測試技術(shù).
C.在基本路徑測試中,可以通過流圖來計算環(huán)路復雜性.
D.樁模塊用于接收測試數(shù)據(jù),并把數(shù)據(jù)傳遞給要測試的模塊,然后打印相關(guān)結(jié)果.
E.在確認測試中,測試是由用戶在開發(fā)者的場所來進行,開發(fā)者對客戶進行指導,是在一個受控環(huán)境下進行.
F.可以不進行單元測試就開始集成測試,因為集成測試會發(fā)現(xiàn)所有的問題.
3.下列哪些屬于集成測試的內(nèi)容(AB).
A.自頂向下集成
B.自底向上集成
C.回歸測試
D.壓力測試
4.以下哪些內(nèi)容是面向?qū)ο蠓治鏊娜蝿?ABCD).
A.標識類(定義屬性和方法)
B.刻畫類的層次關(guān)系
C.標識對象——對象關(guān)系
D.表示對象行為
5.我們可以將設(shè)計模式大致劃分為以下幾種類型(ABD).
A.創(chuàng)建型
B.行為型
C.變換型
D.結(jié)構(gòu)型
6.軟件產(chǎn)品與其它工業(yè)產(chǎn)品相比具有獨特的開發(fā)過程,這決定了我們需要使用軟件質(zhì)量保證的方法學和工具面對軟件質(zhì)量的各種特殊的挑戰(zhàn).那么,軟件開發(fā)過程的獨特性有(ACD).
A.軟件產(chǎn)品的高復雜性
B.與其它系統(tǒng)有接口
C.軟件產(chǎn)品的不可見性
D.檢測缺陷的機會只限于產(chǎn)品開發(fā)階段
E.需要協(xié)同工作
7.測試設(shè)計員的職責有(ABC).
A.制定測試計劃
B.設(shè)計測試用例
C.設(shè)計測試過程,腳本
D.評估測試活動
8.軟件工程研究的對象包括(ABE).
A.質(zhì)量
B.過程
C.技術(shù)
D.數(shù)據(jù)庫
E.工具
9.下列說法正確的是(A).
A.管理,分析,控制現(xiàn)實世界中發(fā)生的事件的程序稱為實時軟件
B.軟件項目開發(fā)的成功,取決于工具和硬件設(shè)備的優(yōu)劣
C.我們已經(jīng)建造了軟件的標準和規(guī)程,我們就能生產(chǎn)高質(zhì)量的軟件產(chǎn)品
D.在項目的進度告急的時候,解決辦法之一就是加派人手
10.下列選項中,屬于項目管理的對象是(ABCE).
A.人員
B.產(chǎn)品
C.過程
D.設(shè)備
E.項目
11.衡量軟件項目規(guī)模的參數(shù)有(ACD).
A.代碼行數(shù)
B.項目周期
C.文檔頁數(shù)
D.功能點數(shù)量
12.軟件度量可以獲得的信息包括(ABCD).
A.軟件質(zhì)量
B.軟件規(guī)模
C.軟件過程改進
D.軟件性能
13.定義風險參數(shù)的考慮有(ABCD).
A.軟件失效發(fā)生的機率
B.軟件功能復雜性
C.軟件失效產(chǎn)生的影響
D.軟件周期長短
14.軟件質(zhì)量保證的有效方式有(ABD).
A.軟件技術(shù)評審
B.軟件項目管理
C.安排項目計劃
D.軟件測試
15.軟件配置管理的主要工作包括(AD).軟件質(zhì)量管理書第4章P46頁
A.版本控制
B.質(zhì)量保證
C.配置審計
D.變更控制
16.下列選項中,哪些為軟件基本測試策略框架(CD).
A.白盒測試
B.黒盒測試
C.大爆炸測試
D.增量式測試
17.軟件度量的基本維度有哪些(ACDE).
A.軟件大小
B.軟件缺陷
C.軟件時間
D.軟件工作量
E.軟件質(zhì)量
18.一些缺陷會破壞同級評審的成功,它們對于審查來說發(fā)生得更為普遍,在評審中需要避免下列的哪些缺陷(ABCDE).
A.參與評審的人不了解評審過程
B.評審過程沒有被遵循
C.合適的人沒有參加評審
D.評審會陷入對問題的解決上
E.評審的焦點放在文檔形式而不是內(nèi)容本身
19.下列哪些是軟件配置管理的功能(ACDE).
A.版本控制
B.過程控制
C.工作空間管理
D.異地開發(fā)支持E.變更請求管理
20.典型的審查包包括下列的哪些選項(ABCDE).
A.將被審查的初始可交付產(chǎn)品,其中指明了需審查的部分
B.定義了可交付產(chǎn)品的規(guī)格說明的所有前期的文檔
C.用于驗證初始可交付產(chǎn)品的測試文檔
D.相關(guān)標準或其他參考文檔
E.參與者需要的所有表格,如錯誤清單和個人問題日志等
21.下面哪些項是軟件質(zhì)量管理和項目過程的標準與模型(ACD).
A.CMM
B.SEI
C.ISO
D.IEEE
E.SRI
22.下列項目中哪些是軟件過程改進框架的內(nèi)容(ABCE).
A.軟件過程改進架構(gòu)
B.軟件過程改進規(guī)劃圖
C.軟件過程評估方法
D.軟件過程改進環(huán)境
E.軟件過程改進計劃
23.所有的同級評審都應該遵守幾項基本的原則,從而對產(chǎn)品質(zhì)量和團隊文化產(chǎn)生有益的影響,下列哪些是評審的指導原則(ABDE).
A.保持小型的評審小組
B.檢查你的自負傾向
C.努力發(fā)現(xiàn)問題并且解決問題
D.會議時間限制在兩小時左右
E.正式評審需要事先準備
24.下面哪些是辨別過程是否規(guī)范的內(nèi)容(ABCDE).
A.過程是否文檔化,成員是否都已經(jīng)了解過程?
B.過程是否經(jīng)過培訓和實施?
C.過程是否具有強制性?是否有相應的機制與步驟來確保其實施?
D.過程是否有助于員工的工作?是否有相應的機制來跟蹤過程的實施狀況?
E.管理者是否以團隊實施過程的能力與成果為依據(jù)進行評估與管理?
25.功能獨立性是模塊化和抽象以及信息隱藏的直接產(chǎn)物,衡量模塊獨立性的兩個標準是(CD).
A.求精
B.模塊可理解性
C.內(nèi)聚
D.耦合
26.下列哪些是面向?qū)ο笤O(shè)計的原則(ABCDE).
A.單一職責原則
B.開放-封閉原則
C.替換原則
D.依賴關(guān)系倒置原則
E.接口隔離原則
27.以下說法正確的有(BCE).
A.等價類劃分和邊界值分析屬于白盒測試技術(shù).
B.基本路徑測試屬于白盒測試技術(shù).
C.在基本路徑測試中,可以通過流圖來計算環(huán)路復雜性.
D.樁模塊用于接收測試數(shù)據(jù),并把數(shù)據(jù)傳遞給要測試的模塊,然后打印相關(guān)結(jié)果.
E.在UML類圖中,普通關(guān)聯(lián)關(guān)系一般表示為在一個類中持有另外一個類的成員變量.
F.在確認測試中,測試是由用戶在開發(fā)者的場所來進行,開發(fā)者對客戶進行指導,是在一個受控環(huán)境下進行.
28.下面哪些是辨別過程是否規(guī)范的內(nèi)容(ABCDE).
A.過程是否文檔化,成員是否都已經(jīng)了解過程
B.過程是否經(jīng)過培訓和實施
C.過程是否具有強制性,是否有相應的機制與步驟來確保其實施
D.過程是否有助于員工的工作,是否有相應的機制來跟蹤過程的實施狀況
E.管理者是否以團隊實施過程的能力與成果為依據(jù)進行評估與管理
29.軟件驗收測試的合格通過準則是(AC).
A.軟件需求分析說明書中定義的所有功能已全部實現(xiàn),性能指標全部達到要求.
B.所有測試項沒有殘余一級,二級和三級錯誤.
C.立項審批表,需求分析文檔,設(shè)計文檔和編碼實現(xiàn)一致.
D.驗收測試工件齊全.
30.軟件測試計劃評審會需要哪些人員參加(ABCD).
A.項目經(jīng)理
B.SQA負責人
C.配置負責人
D.測試組
【軟件工程師面試題小練帶參考答案】相關(guān)文章:
事業(yè)單位面試題目及參考答案02-24
網(wǎng)絡工程師 最新面試題11-20
大唐軟件java軟件工程師筆試題分享11-21
軟件工程師尷尬的面試11-08
軟件工程師職業(yè)規(guī)劃11-25
軟件工程師的職業(yè)規(guī)劃11-11
軟件測試工程師職業(yè)規(guī)劃12-01