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