- 相關推薦
軟件工程面試常見問題
許多軟件工程師的面試都著重于技術技能,例如對編程語言的了解。但是,一些企業面試官還會注意你的其它一些細節,下面是小編整理的軟件工程面試常見問題,希望大家喜歡。
軟件工程面試常見問題 1
1. 為什么要在一個團隊中開展軟件測試工作?
答:軟件測試在整個團隊中占有非常重要的地位,具體來說就是測試是一個發現軟件錯誤的過程,執行軟件測試會以最少的人力和時間,系統的找到軟件存在的缺陷和錯誤,建立起開發人員和使用者對軟件的信心。
2. 您是否了解以往所工作的企業的軟件測試過程?如果了解,請試述在這個過程中都有哪些工作要做?分別由哪些不同的角色來完成這些工作?
答:軟件測試部門配合系統分析人員軟件需求分析討論,并根據需求說明書制定《項目測試計劃》,編寫測試用例,建立測試環境。
軟件測試人員負責軟件開發部門的新產品測試及原有產品的升級測試,負責軟件問題解決過程跟蹤,負責軟件開發文檔開發工作的規范化及管理開發部門的產品文檔,制作用戶手冊及操作手冊,負責產品的上線測試,監督軟件開發過程的執行,提高產品質量。
3. 您是否了解以往所工作的企業的軟件開發過程?如果了解,請試述一個完整的開發過程需要完成哪些工作?分別由哪些不同的角色來完成這些工作?(對于軟件測試部分,可以簡述)
答:需求人員連同系統分析人員&測試人員開會討論需求。系統分析人員寫出需求分析說明,并連同系統分析人員&測試人員&需求 人員開會討論可行性。系統分析人員寫出詳細設計說明書,程式人員編碼,給出系統流程圖。交與測試人員,測試人員給出Bug統計表。
4. 您在以往的測試工作中都曾經具體從事過哪些工作?其中最擅長哪部分工作?
答:從事過write test plan,creation of test case,進行功能測試,性能測試,編寫測試工具,文檔的管理等,比較擅長寫測試用例和進行功能測試。
5. 您所熟悉的軟件測試類型都有哪些?請試著分別比較這些不同的測試類型的區別與聯系(如功能測試、性能測試……)
答:有功能測試,性能測試,可靠性測試,安全性測試,負載測試,壓力測試,安裝/卸載測試,啟動/停止測試,兼容性測試,互連測試,文檔測試,恢復測試,回歸測試,可使用性測試,容量測試。
功能測試只對軟件的功能是否滿足用戶需求來做測試。性能測試需要和壓力和負載測試聯合起來。
6. 請試著比較一下黑盒測試、白盒測試、單元測試、集成測試、系統測試、驗收測試的區別與聯系。
黑盒測試:把測試對象當成一個黑盒子,測試人員完全不考慮邏輯結構和內部特性,只依據程式的需求說明書來檢查程式的功能是否滿足它的功能說明。
白盒測試:把測試對象當成一個透明的盒子,允許測試人員利用程序內部邏輯結構及相關信息,設計或選擇測試用例,對程式所有邏輯路徑進行測試。
單元測試:白盒測試的一種,對軟件設計中的單元模塊進行測試。
集成測試:在單元測試的基礎上,對單元模塊之間的連接和組裝進行測試。
系統測試:在所有都考慮的情況下,對系統進行測試。
驗收測試:第三方進行的確認軟件滿足需求的測試。
7. 測試計劃工作的目的是什么?測試計劃工作的內容都包括什么?其中哪些是最重要的?
答:測試計劃工作是對測試工作內容的一個有效的組織和規劃,能保證測試工作有效的展開。測試計劃工作包括測試目標,測試范圍的定義,測試方法的選擇,測試進度里程碑,測試資源的有效配置和管理。
測試計劃工作也稱為測試策略,主要描述測試工程的總體方法和目標,描述目前在進行那一階段的測試(單元測試,集成測試,系統測試)以及每一階段內進行的測試種類(功能測試,性能測試等)確定測試范圍,生成測試數據等。
其中軟件計劃中的測試目標最重要,它是軟件測試所需要達成的最終結果。
8. 您認為做好測試計劃工作的關鍵是什么?
答:
1)明確測試的目標,增強測試計劃的實用性
2)堅持“5W”規則,明確內容與過程,‘what”why”when”where”how’
3)采用評審和更新機制,保證測試計劃滿足實際需求
4)分別創建測試計劃與測試詳細規格、測試用例
9. 您所熟悉的測試用例設計方法都有哪些?請分別以具體的例子來說明這些方法在測試用例設計工作中的應用。
答:有黑盒和白盒兩種測試種類,黑盒有等價類劃分法,邊界分析法,因果圖法和錯誤猜測法。白盒有邏輯覆蓋法,循環測試路徑選擇,基本路徑測試。
例子:在一次輸入多個條件的完整性查詢中。利用等價類劃分法則和邊界分析法則,首先利用等價類劃分法,可以一個或多個結果是OK的測試用例,然后確認多個NG的測試用例,然后利用邊界值分析法,可以對結果分別是OK和NG的測試用例進行擴展和補充。
10. 您認為做好測試用例設計工作的關鍵是什么?
答:測試用例設計工作的關鍵是對可行的和不可行的都要考慮。
1)輸入
2)詳細的操作步驟
3)預期輸出
4)實際輸出。
11. 請以您以往的實際工作為例,詳細的描述一次測試用例設計的完整的過程。
12. 您以往的工作中是否曾開展過測試用例的評審工作?如果有,請描述測試用例評審的過程和評審的內容。
13. 您以往是否曾經從事過性能測試工作?如果有,請盡可能的詳細描述您以往的性能測試工作的完整過程。
14. 您在從事性能測試工作時,是否使用過一些測試工具?如果有,請試述該工具的工作原理,并以一個具體的工作中的例子描述該工具是如何在實際工作中應用的。
答:有使用過LoadRunner,該工具能夠錄制測試人員的操作步驟,然后對這個操作步驟模擬出多個用戶來播放出來。
1)Visural User Genertor創建腳本,選擇協議,錄制操作,編輯操作。
2)中央控制器(Controller)調度虛擬用戶。創建場景,選擇腳本,建立虛擬用戶,設計shedual,設置ip spoofer。
3)運行腳本。分析shedual。
4)分析測試結果。
15. 您認為性能測試工作的目的是什么?做好性能測試工作的關鍵是什么?
答:性能測試工作的目的是檢查系統是否滿足在需求說明書中規定的性能,性能測試常常需要和強度測試結合起來,并常常要求同時進行軟件和硬件的檢測。
性能測試主要的關注對象是響應時間,吞吐量,占用內存大。ㄝo助存儲區),處理精度等。
16. 在您以往的工作中,一條軟件缺陷(或者叫Bug)記錄都包含了哪些內容?如何提交高質量的軟件缺陷(Bug)記錄?
答:檢測時間,系統環境,硬體環境,嚴重程度,程式版本,確認人,功能模塊,問題描述,詳細操作步驟,是否會重現。
問題描述和詳細操作步驟要盡可能的詳細。Bug應該盡量用書面語,對于嚴重程度比較高的缺陷要在相同環境下再測試一遍。
在C/S模式下,如果條件滿足可以使用替換法來確認是client端的問題還是server端的問題。
軟件工程面試常見問題 2
1.“為什么要成為軟件工程師?”
這是一個在面試中非常常見的問題,作為一名軟件工程師,建議通過強調開發熱情來回答這個問題。提及你對編碼和編程的興趣,并展示對小型個人項目一些看法。表達你喜歡解決復雜的問題,和技術相關的任何事物。面試官可能會通過這些來判斷你對該行業的興趣。通過你了解的最新的技術,軟件設計和開發趨勢,讓面試官看到你對該領域的熱愛。
2.“你的弱點是什么?”
面試官有時會問這個問題,來真正的削弱你的能力。為了證明自己的價值,請誠實地回答。當談到您的弱點時,請始終積極地談論自己,并指出您正在努力改善它們。例如,如果您具有CSS的基本知識,則可以說你正在學習一些UI設計的輔助技能來提高自己對UI的認識;蛘,如果您發現自己的領導能力達不到標準,那么可以這樣說:“我是一個害羞的人,所以在管理方面有所欠缺。但我希望通過對我的專業知識更加自信來改進它!
3.“您能描述軟件開發過程嗎?”
在軟件工程師面試期間,您面臨很多問題。其中之一可能是描述軟件開發過程。如果你確實是該領域的專家,則可以毫不猶豫地回答這個問題。深吸一口氣,并嘗試盡可能清楚地回答問題。表現出自信,證明你對開發周期了如指掌,如果時間允許,請使用盡可能多的細節。這將會是給你加分的一項。
4.“您喜歡使用哪種編程語言?”
這里的技巧是列出你最熟悉的編程語言-但要避免說您喜歡使用所有這些編程語言。在開發時,大多數軟件工程師都有一種或多種首選語言。無論是JavaScript,Python還是PHP,都要提及自己喜歡的編程語言,并炫耀自己的熟練程度。同時,最好事先研究一下面試公司的信息,以確定他們使用的語言。如果你的回答適合他們公司的基礎架構,那么這無疑是給你加分的選擇。
5.“您之前從事過哪些項目?”
這個問題將測試你的知識,批判性思維和解決問題的能力。無論是描述個人項目,實習項目還是在上一份工作中從事過的工作,請確保徹底解釋自己的構建經驗。這包括您采取的步驟以及做出某些決定的原因。概述可能承擔的任何風險,描述任何弊端并分解項目?梢灾赋鰪脑擁椖恐蝎@得的知識以及你從中提高的某些領域。這證明了你對軟件工程的全面理解以及您是否能夠在公司從事類似的項目。
6.“您在項目中面臨了哪些困難?”
再一次,這個問題需要一個真誠的答案。招聘面試官將要測試你對項目開發過程中可能面臨的挑戰的理解。如果您提到個人經歷并說明如何克服,那么您將展示出出色的解決問題和領導能力。揭示最終用戶的反饋如何幫助您改進和找到解決方案,以及這一挑戰如何使您從錯誤中吸取教訓。表明你不會放棄,并且可以適應開發過程中遇到的障礙和問題。
7.“您在查看代碼時會注意什么?”
面試官可能會問您類似的問題來試圖確定你對軟件工程師職位的細節和整體責任的重視;卮饡r,要盡可能清晰,簡潔和有條理,以顯示出良好的知識。不過,請避免只列出要點-最好在每個答案后面都給出推理。說些類似的話:我會密切注意功能,可讀性以及代碼是簡單還是混亂。還要注意代碼中可能存在的缺陷,處理哪些必須重寫或刪除的代碼。
8.“您是否在業余時間從事項目?如果是這樣,那是什么?
經常在業余時間不斷學習提高技能的工程師是受歡迎的。這展示了您對工藝的真正熱情和興趣。描述您的附帶的練習項目,并解釋您從構建它中學到的知識。您正在練習一種新的編程語言嗎?強調這種語言如何使您所申請的職位受益。但這并不意味你在業余時間可以來接私活,公司對于軟件開發者接私活是很排斥的,所以你有這個經歷請避開。
9.“為什么選擇我們的公司?”
這是另一個出現幾率非常高的面試問題 ; 它需要仔細回答。面試官將需要對公司工作真正感興趣的候選人。避免提及薪水或“因為朋友在這里工作”作為答案。相反,您可以說您渴望擴大自己的行業經驗,想要扮演更具挑戰性的角色,或者對他們的產品/服務有真正的欽佩。對他們的領域表現出興趣,并提及您的技能如何使公司受益。只要您事先對公司進行了足夠的研究,就輕而易舉地回答這個面試問題。
10.“您能完成編程挑戰嗎?”
聽起來有些奇怪,這將顯示您解決問題的能力和承受壓力的能力。畢竟,軟件工程師很多時候都是在一定壓力下編寫代碼。面試官會檢查你的知識,技能和經驗,同時要考察你承受壓力的信心。鄭重鑒定的來回答這個問題,如果有類似解決問題的經驗可以來談一下。
軟件工程面試常見問題 3
一、技術問題
1. 介紹一下你最熟悉的編程語言。
2. 談談你對面向對象編程的理解。
3. 介紹一下你使用過的數據庫。
4. 談談你對數據結構和算法的理解。
5. 介紹一下你使用過的開發工具。
二、項目經驗
1. 介紹一下你參與過的項目。
2. 談談你在項目中承擔的角色和職責。
3. 介紹一下你在項目中遇到的挑戰和解決方案。
4. 談談你在項目中獲得的經驗和教訓。
三、解決問題的能力
1. 給我一個具體的問題,讓我看看你如何解決它。
2. 談談你在工作中遇到的最困難的問題,以及你是如何解決它的。
3. 如果你遇到一個你不熟悉的技術問題,你會怎么做?
4. 談談你在團隊中如何解決沖突。
四、團隊合作精神
1. 談談你在團隊中擔任的角色。
2. 介紹一下你與團隊成員合作的經驗。
3. 談談你在團隊中如何溝通和協作。
4. 如果你與團隊成員意見不一致,你會怎么做?
五、個人職業發展規劃
1. 談談你對軟件工程師這個職業的理解。
2. 你未來的職業發展規劃是什么?
3. 你認為軟件工程師需要具備哪些技能和素質?
4. 你如何提升自己的技能和素質?
六、其他問題
1. 你為什么選擇軟件工程師這個職業?
2. 你對我們公司有什么了解?
3. 你對工作有什么期望和要求?
4. 你有什么問題要問我們嗎?
【軟件工程面試常見問題】相關文章:
面試常見問題11-04
主管面試常見問題11-27
應聘面試的常見問題11-21
面試常見問題及回答06-20
匯豐面試常見問題12-02
博士面試常見問題06-12
面試英語常見問題11-06
外貿面試的常見問題10-18
外企面試的常見問題11-27