軟件開發(fā)工程師面試題(軟件工程師面試筆試題)
本篇文章給大家談談軟件開發(fā)工程師面試題,以及軟件工程師面試筆試題對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
軟件工程師經典面試題及答案
1、為什么要在一個團隊中開展軟件測試工作?
因為沒有經過測試的軟件很難在發(fā)布之前知道該軟件的質量,就好比ISO質量認證一樣,測試同樣也需要質量的保證,這個時候就需要在團隊中開展軟件測試的工作。在測試的過程發(fā)現(xiàn)軟件中存在的問題,及時讓開發(fā)人員得知并修改問題,在即將發(fā)布時,從測試報告中得出軟件的質量情況。
2、您所熟悉的軟件測試類型都有哪些?
測試類型有:功能測試,性能測試,界面測試。
功能測試在測試工作中占的比例最大,功能測試也叫黑盒測試。
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結合進行。
界面測試,界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印象。
3、您認為做好測試用例設計工作的關鍵是什么?
白盒測試用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果黑盒用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。不可能做到完全測試,以最少的用例在合理的時間內發(fā)現(xiàn)最多的問題
軟件的黑盒測試意味著測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數(shù)據(jù)驅動測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:
1、是否有不正確或遺漏的功能?
2、在接口上,輸入是否能正確的接受?能否輸出正確的結果?
3、是否有數(shù)據(jù)結構錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤?
4、性能上是否能夠滿足要求?
5、是否有初始化或終止性錯誤?
軟件的白盒測試是對軟件的過程性細節(jié)做細致的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態(tài),確定實際狀態(tài)是否與預期的狀態(tài)一致。因此白盒測試又稱為結構測試或邏輯驅動測試。白盒測試主要是想對程序模塊進行如下檢查:
1、對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍。
2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。
3、在循環(huán)的邊界和運行的界限內執(zhí)行循環(huán)體。
4、測試內部數(shù)據(jù)結構的有效性,等等。4、驗收測試是部署軟件之前的最后一個測試操作。驗收測試的目的是確保軟件準備就緒,并且可以讓最終用戶將其用于執(zhí)行軟件的既定功能和任務。驗收測試是向未來的用戶表明系統(tǒng)能夠像預定要求那樣工作。經集成測試后,已經按照設計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經基本排除了,接著就應該進一步驗證軟件的有效性,這就是驗收測試的任務,即軟件的功能和性能如同用戶所合理期待的那樣。
軟件測試工程師經典面試題匯總
1.說說一個缺陷的生命周期
考查點: 測試人員對于缺陷整體生命周期的理解 ,注意面試官用詞,有時只需要回答關鍵節(jié)點,有時需要分開闡述。
圍繞缺陷提交、缺陷確認、缺陷打開、缺陷修復、缺陷回歸、缺陷關閉這幾個關鍵節(jié)點回答即可。
2.缺陷的基本類型有哪些?
考查點:需求、數(shù)據(jù)、邏輯、性能、功能、安全、兼容、變更、易用等
對于工作經歷的側面了解,有時會需要分別舉例說明。
3.測試用例的基本要素有哪些?
用例編號、用例類型、用例標題(名稱)、前置條件、操作步驟、測試數(shù)據(jù)、預期結果、實際結果
考察類型形式多樣,有些面試官會出場景需求要求現(xiàn)場設計用例,來用于考察應試者的思維縝密性、經驗是否豐富以及對需求的理解程度。
4.你如何做用例評審?
考查點:主要考察之前工作流程是否規(guī)范,同時對于評審工作的參與度
靈活回答,不同公司不同項目評審流程也有區(qū)別。
參考:內部評審(通常由測試組內部人員評審)-正式評審(由參與該項目的產品、開發(fā)、測試、項目經理評審)-用例修訂-項目經理確認
5.針對微信的聊天窗口設計測試用例
考查點:也經常會換成其他知名網站的一些搜索功能、列表功能、分頁功能等等,來考察系統(tǒng)思維能力。
參考:
首先,了解完成業(yè)務需求后,轉化為測試需求,最終的測試需求一定是跟項目組評審通過的。
開始設計:
冒煙用例:實現(xiàn)最簡單的聊天功能(語音、文字形式)
功能業(yè)務:
純文字聊天
語間聊天
表情
組合發(fā)送聊天
特殊字符及組合
發(fā)送文件
查看聊天記錄
截屏功能
視頻聊天
實時語音聊天
不同版本間的切換功能
客戶化場景分解
異常場景分解
兼容性測試用例:
一般在業(yè)務需求中會定義好
在測試需求中可以分解好對應的機型與系統(tǒng)版本,求得最優(yōu)最小組合,用于兼容性測試的用例。
安全測試用例
性能測試用例
(一般都有獨立的測試方案)
回歸測試用例:
抽取用例庫中的核心用例組合成回歸用例 。
6.你發(fā)現(xiàn)一個缺陷,但開發(fā)人員認為不是問題,你會怎么辦?
考察點:溝通表達能力,過往工作流程經驗,合作意識、責任意識
此類問題需要首先清楚自己的角色定位,作為一名軟件測試人員,此類問題是經常遇到的。如果是執(zhí)行人員,可以帶出原來工作的測試流程,因為缺陷處理也是屬于測試流程中的一部分,如開發(fā)人員會在缺陷管理系統(tǒng)中備注原因,自己先分析,如果不確定可以找上級測試負責人來一起處理。但如果是管理崗,回答時可以舉例說明自己以往遇到的類似問題以及處理方式,更具有說服力。
7.你評估的測試時間是5天,但領導只給三天怎么辦?
考察點:溝通表達能力,過往工作沖突的處理方式經驗
此類問題如果面試官并未給出具體場景,就一定需要反問把問題的背景描述出來,通過背景分析給出解決沖突的方法。
問題背景如:臨時緊急需求、常規(guī)需求、經常性壓縮時間、客戶壓縮時間、因自身漏洞導致壓縮時間等等
那么回答時就需要應景:排列工作優(yōu)先級、重新分解當前工作、改變測試策略、團隊內分工、外部求助等
8.說說一個項目的測試流程
考察點:以往工作的流程規(guī)范性,業(yè)務熟悉度
可以參考下文章《測試過程文檔模板整理(一)-提測流程》中提到的測試流程,結合目前項目來說明。回答時體現(xiàn)自信、專業(yè)、對工作環(huán)節(jié)的熟悉度
9.黑盒測試用例設計方法有哪些?
等價類劃分法、邊界值分析法、因果圖法、正交實驗法、判定表法、錯誤推測法、隨機測試、場景法
10.軟件的質量特性有哪些?
可維護性、可擴展性、可測試性、可重用性、可移植性、易理解性
一般在實習生與初級測試工程師中的筆試題也會有很多考查類型,中高級測試工程師更傾向于考察關于質量的影響因素等。
11.缺陷的基本要素有哪些?描述缺陷有哪些注意事項?
缺陷編號、缺陷標題、前置條件、測試數(shù)據(jù)、操作步驟、預期結果、實際結果、初步定位原因、截圖或日志信息(可選)
.net軟件工程師筆試題和面試題答案目
說明:
1. 本試題分可選題和必選題兩部分。必選題需要根據(jù)題目要求回答。
2. 本試題考試時間為 0.5 小時。
3. 本試題完成后,請標明你的姓名以及聯(lián)系方式(包括:Email、聯(lián)系電話)。
注意事項:
1、在規(guī)定時間內自行選題(在可選題部分中),選題數(shù)目不能少于2個,難度不限,編程語言不限(除非題目中有特別說明)。
2、盡可能用代碼段或函數(shù)完成,或自然語言來描述解題方法。
3、評分標準跟所選題目的數(shù)量和完成度無關,請盡可能展示自己的編程能力、思路、經驗和風格。
可選題部分:
(1) 請使用目錄樹遍歷的方法統(tǒng)計出指定邏輯驅動器的目錄總數(shù)及文件總數(shù),并顯示硬盤空間浪費的百分比
類別:系統(tǒng)類
難度:中級
(2) 列出局域網中的所有工作組和計算機名,并可顯示每一個計算機的共享目錄
類別:系統(tǒng)類
難度:高級
(3) 寫一個類似OICQ點對點消息發(fā)送軟件,僅實現(xiàn)發(fā)送和接收的功能即可
類別:網絡編程類
難度:高級
(4) 為DataGrid(WinForm)增加ComboBox樣式的數(shù)據(jù)列
類別:數(shù)據(jù)庫編程類
難度:中級
(5) 一維數(shù)組iArray[10],類型為int。請使用選擇排序算法對其排序,并輸出結果。
類別:數(shù)據(jù)算法
難度:初級
(6) 請新建一個類(名稱為ClassA),該類必須含有三個屬性:姓名(字符串),性別(布爾值),年齡(數(shù)值)。
用該類建立一個鏈表,該鏈表有以下算法:創(chuàng)建、添加、插入、刪除和查找,算法內不用
考慮內存的分配與釋放
類別:數(shù)據(jù)結構
難度:中級
Public Class ClassA{
Public string name;
Public boolean sex;
Public int age;
}
(7) 在上題的基礎上,實現(xiàn)以下兩個功能:
a. 保存該鏈表為二進制文件test.lib(存放在本題目路徑之下)
b. 讀取生成的二進制文件到鏈表中。
類別:數(shù)據(jù)結構
難度:中級
(8) 你所知道有哪些操作平臺,談談你對他們的見解
類別:其它類
難度:無
(9) 你所知道有哪些編程語言,談談你對他們的看法,你使用過哪些語言,熟練程度
如何,編寫過什么樣的程序
類別:其它類
難度:無
(10) 請用VBScript或JavaScript語言中任何一種,與CSS結合,編寫出移動Layer的例子,具體效果與Windows窗體類似。
類別:Web
難度:中級
必選題部分(必須用VS2003開發(fā)):
(1) C#回答題:請描述抽象類、接口、結構三者的區(qū)別:
抽象類當中的屬性和方法不能被其子類重寫,接口只定義其中的屬性和方法,其方法的實現(xiàn)部分必須在其繼承的子類中實現(xiàn),結構和類比較類似,也有其屬性和方法,但不能被繼承和實例化.
(2) C#編程題:在WinForm 中實現(xiàn)類似于Windows 資源管理器的功能,左邊有目錄樹,點擊目錄樹,在右邊顯示該目錄下的所有文件。查看方式分:大圖標、小圖標、列表、詳細資料等。
(3) 寫一個簡單的存儲過程或觸發(fā)器,要求能正確運行(數(shù)據(jù)庫采用Oracle,自建測試表)
Create table test
(id int primary key,
Name varchar2(10) not null,
Address varchar2(50),
Tel varchar2(18)
);
Create or replace procedure InsertTest as
Declare IDN test.id%type;
Declare VName test.name%type;
Declare VAddress test.address%type;
Declare VTel test.tel%type;
Begin
Select nvl(decode(max(id),0,1,max(id)),1) + 1 into IDN
End
When
4 更多相關文章推薦參考:
安捷倫筆試真題
中興數(shù)據(jù)庫筆試真題
工商銀行歷年考試真題
軟件工程師面試時,HR都會問些什么問題
軟件工程崗位面試大致可分為兩類:特定領域知識面試和計算機科學基礎知識面試
特定領域知識面試
特定領域知識面試通常涉及到你最熟悉的技術領域的具體知識點。例如,如果你主要使用Angular1.x進行前端開發(fā),并且面試公司又有 Angular前端,那他們就可能問你關于 Angular控制器、指令和服務的相關內容。也就是說,你需要做好準備去建立、展示和討論Angular。
特定領域的面試重點關注的是你已經實際構建起來的東西,因此要想順利通過這些面試,最好是你已經構建過相關技術的項目。你應該為自己的工作而感到自豪,不必感覺不好意思,而應該深入探討具體項目的技術細節(jié)。項目最好是近階段完成的,沒人會愿意去聽你去年寫的那些代碼,你自己也會對這種陳舊的項目感覺厭倦,面試效果也欠佳。
特定領域面試的另一個常見策略是看求職者能否構建一些非常棒的產品或者是排除實際存在的一些問題和故障。這通常是讓求職者帶回家去完成的一種測試,求職者一般有 24-48個小時的時間來完成這些測試。例如,如果你是一名 Laravel開發(fā)人員,并且你面試的公司恰好也使用 Laravel,那他們可能會要求你構建公司產品或者是公司定期創(chuàng)建的產品的微縮版本。對于這種帶回家做的測試,做好投入大量工作的心理準備。準備好啟動模板,不要抗拒去Google搜索答案,發(fā)送電子郵件尋求幫助和使用外部工具包這些做法。因為能否通過特定領域面試最重要的一個衡量標準是你能否構建出有效的產品。
計算機科學基礎知識面試
計算機科學和基礎編程面試明顯不同于上文所探討的特定領域面試。計算機科學和基礎編程面試是為了評估你解決問題的能力,更多的是關注找到最佳解決方案的能力,而不是簡單的去完成某些特定任務。因此,面試官通常也不會問關于你是誰、你過去的工作經歷或者你構建過的項目方面的問題。對于計算機科學基礎面試這一類型來說,面試官的工作就是評估你的原始編程能力,通常他們是通過數(shù)據(jù)結構和算法相關的問題來進行評估。
計算機科學基礎面試的問題有章法可循。因為學習數(shù)據(jù)結構和算法需要大量的準備工作和長時間的學習,你需要了解你所選擇的編程語言、數(shù)據(jù)結構和算法來解決問題。計算機科學基礎知識面試通??梢杂昧N不同類型的算法來解決:
深度優(yōu)先搜索算法/廣度優(yōu)先搜索算法
貪心算法
滑動窗口算法
分治算法
遞歸算法
動態(tài)規(guī)劃算法
你需要研究每一種算法,可以在 Pramp上與其他軟件工程師一起練習面試和面試問題。應對面試是一門獨立于軟件工程師之外的技能,你可以通過練習和重復來提升自己在面試時的表現(xiàn)。
計算機科學基礎知識面試通常遵循的那些問題結構對于求職者來說只有通過幾個小時的練習和準備才能發(fā)現(xiàn)。即便這些知識中的一部分并不適用于日常的編程任務,但只要你堅持這樣做,你就能抓住更多的面試機會,就能收到更多公司發(fā)來的 offer。如果你的目標是獲得更多的工作機會,那你一定要看一下《Cracking The Coding Interview》這本書,并且查看這一免費的面試資源來進行相應的準備工作。
關于軟件開發(fā)工程師面試題和軟件工程師面試筆試題的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。