軟件工程面試問題

這些 軟件工程面試問題 的目的是爲了讓你熟悉的問題的性質在你可能會遇到 S在軟件工程程面試時.按我的經驗,良好的面試者很難規劃提出任何特別的問題,在你的採訪,一般的問題開始與主題的一些基本概念,後來他們繼續基礎上,進一步討論和回答什麼.:

Q.什麼是計算機軟件?

A. 計算機軟件是一個完整的方案,其中包括軟件程序,如何使用該軟件的文檔和用戶手冊.

Q.您能不能區分計算機軟件和計算機程序?

A. 計算機程序是一段程序代碼,執行一個定義良好的任務,其中軟件包括程序代碼並它的文檔和用戶指南.

Q.什麼是軟件工程?

A. 軟件工程與軟件系統開發相關工程分支.

Q.如你知道編程,什麼是需要學習軟件工程的概念?

A. 一個人誰知道如何建立一個牆不是善於建設一個完整的家。同樣,誰可以寫程序的人可能沒有對軟件工程的其他概念的知識。軟件工程的概念,引導程序員如何評估最終用戶的需求,實際的編碼開始之前設計的算法,創建了編碼,測試代碼和文檔的程序.

Q.什麼是軟件過程和軟件開發生命週期(SDLC)?

A. 軟件開發生命週期,或軟件過程是軟件在開發過程中,即要求收集,系統分析,設計,編碼,測試,維護和文檔的順序以下各階段的系統化發展.

Q.有幾個 SDLC模型?

A. 有幾個可用的SDLC的模型,如瀑布模型,迭代模型,螺旋模型,V模型和大爆炸模型等等。.

Q.什麼是SDLC的各個階段?

A. SDLC的一般階段是:理解客戶需求,系統分析與設計,編碼,測試和實施。該階段取決於我們選擇的軟件開發模型時.

Q.那一種SDLC模式是最好的?

A. SDLC模式採用按開發過程中的需求。它很可能軟件到軟件,以確保該模型是合適的.

我們可以選擇最佳的SDLC模式,如果以下答案感到滿意 -

  • 是否SDLC適合選擇技術實現的軟件 ?
  • 是否SDLC適合客戶的需求和優先事項 ?
  • 是否SDLC模型適合於該軟件的規模和複雜性 ?
  • 是否SDLC模式適用於項目和工程,我們做的類型 ?
  • 是否SDLC適當的地域共同定位或分散開發 ?

Q.什麼是軟件項目管理?

A. 軟件項目管理是管理就像從事軟件開發時間,成本和質量管理的所有活動的過程.

Q.誰是軟件項目經理嗎?

A. 軟件項目經理承諾進行軟件項目的責任.

Q.什麼是軟件項目經理角色與責任?

A. 軟件項目經理是從事與軟件管理的活動。他負責的項目規劃,監測進展情況,利益相關者之間的溝通,風險管理和資源開發的順利實施,並在時間,成本和質量的約束上交付項目.

Q.什麼是軟件的範圍?

A. 軟件的範圍是一個明確的界限把它包含了所有完成開發和提供軟件產品的活動.

該軟件適用範圍明確規定的所有功能和文物交付的軟件的一部分。範圍確定什麼樣的產品會做,什麼也不會做,什麼終端產品將包含哪些它將不包含.

Q.什麼是項目估算?

A. 它是一個過程來估計,以計算在努力,時間和資源方面的開發成本的軟件產品的各個方面。這種估計可以從過去的經驗中得到,通過諮詢專家或通過使用預先定義的公式.

Q.我們如何才能得到軟件產品的規模?

A. 軟件產品的大小可以用以下兩種方法之一進行計算 -

  • 計數的交付的代碼行
  • 計數交付功能點

Q.什麼是功能點?

A. 作用點是由該軟件產品提供的各種功能。它被認爲是測量軟件大小的單元.

Q.什麼是軟件項目估算技術可用?

A. 有許多估計技術.最廣泛使用的是 -

  • 分解技術(計數代碼行和功能點)
  • 實證方法(普特南和COCOMO)

Q什麼是底線?

A. 基線是測量,定義了一個階段的完整性。經過與特定階段相關聯的所有活動都完成,這個階段就完成,並作爲下一階段的基準.

Q.什麼是軟件配置管理?

A. 軟件配置管理是跟蹤和控制的要求,設計,功能和產品的開發方面的變化,軟件的處理。.

Q.什麼是變更控制?

A. 變更控制的配置管理從而確保軟件系統進行的所有更改都一致並按照組織的規章制度的作用。.

Q.你如何衡量項目的執行?

A. 們可以測量執行項目活動監視,狀態報告和里程碑清單的方式.

Q.說一些項目管理工具.

A. T有作爲每個軟件項目和組織政策要求的各種項目管理工具。它們包括甘特圖,PERT圖,資源直方圖,關鍵路徑分析,狀態報告,里程碑清單等.

Q.什麼是軟件需求?

A. 軟件的要求,提出軟件系統的功能描述。要求被假定爲目標的系統,其功能和特徵的描述。要求傳送用戶從系統的期望.

Q.什麼是可行性研究?

A. 這是評估如何實踐和有益的軟件項目開發將是一個組織的一項措施。該軟件分析儀進行了深入的研究,以瞭解該項目的經濟,技術和操作可行性。.

  • 經濟 - 資源運輸成本的培訓,更多的實用程序和工具以及成本和項目的收益整體估算成本.

  • 技術 - 是否有可能開發這個系統?評估機(S)和操作系統(S)上的軟件將執行,現有的開發人員的知識和技能,培訓,實用程序或工具對項目的適用性。 .

  • 操作 - 可以順利完成的每個項目的需求變化組織調整?就是這個問題值得解決 ?

Q.你怎麼能收集需求?

A. 要求從用戶通過訪談,調查,任務分析,集思廣益,域分析,原型收集,學習軟件現有的可用版本,並觀察.

Q.什麼是SRS?

A. SRS系統或軟件需求規格說明是需求收集過程時產生的文件。它也可以被看作煉要求和記錄它們的處理.

Q.什麼是功能性的要求?

A. 功能要求是預計從提出軟件產品的用戶功能特性和規格.

Q.什麼是非功能性需求?

A. 非功能性需求是隱含的,涉及到安全性,性能,外觀和感覺的用戶界面,互操作性,成本等。.

Q.什麼是軟件方面的措施?

A. 件的措施,可以理解爲量化和象徵的各種屬性以及軟件方面的過程.

Q.什麼是軟件度量?

A. 軟件度量提供措施,軟件過程和軟件產品的各個方面。它們被分成 –

  • 要求指標:長度要求,完整
  • 產品指標:代碼行數,面向對象度量,設計和測試指標
  • 工藝指標:評估和跟蹤預算,進度,人力資源

Q.什麼是模塊化?

A. 模塊化是一種技術,將一個軟件系統劃分爲多個離散的模塊,預計進行的工作(S)獨立。.

Q.什麼是併發性以及它是如何在軟件中實現的?

A. 併發是事件或動作的傾向同時發生。在軟件中,當兩個或多個過程同時執行的,它們被稱爲併發進程.

示例

當您啓動打印命令,打印機開始打印,你可以打開一個新的應用程序.

併發,被分裂成軟件即執行進程和線程的多個獨立單位,並執行它們並行執行.

Q.什麼是凝聚力?

A. 凝聚力是定義模塊的元件之間的內部可靠性的程度的量度.

Q.什麼是偶合?

A. 耦合是定義一個程序模塊之間的相互可靠性水平的措施.

Q.提到一些軟件分析和設計工具?

A. 這可能是:DFD的(數據流圖),結構圖,結構化英語,數據字典,黑豹(分層輸入過程輸出)圖,ER(實體關係)圖和決策表。

Q.什麼是0級的DFD?

A. 最高抽象層次的DFD被稱爲0級DFD也稱爲上下文級別的DFD,它描繪了整個信息系統的一個圖表隱藏所有的底層細節.

Q.什麼是結構化的英語和僞碼的區別?

A. 結構化英語是用編程語言的關鍵字來寫一個程序模塊的結構,然而,僞碼更接近的編程語言,並使用母語的英語單詞或句子來寫的代碼部分英語爲母語.

Q.什麼是數據字典?

A. 數據字典被稱爲元數據。這意味着,它是關於數據的數據倉庫。數據字典用於組織在系統中使用諸如對象和文件以及它們的命名約定的名稱和它們的引用。.

Q.什麼是結構化設計?

A. 結構化設計是一個概念化的問題到解決方案的幾個組織良好的元素。這是值得關注與解決方案的設計和基於「分而治之」的策略.

Q.:什麼是功能導向,面向對象的設計之間的區別?

A. 功能化的設計是由被稱爲功能許多較小的子系統。每個功能能夠在系統中執行顯著任務。面向對象的設計工作解決現實世界中的對象(實體),它們的類(類)和對象(函數)的操作方法。 .

Q.定義自頂向下和自底向上的設計模型.

A. :自頂向下的模型開始系統的廣義視圖,將其分解爲更爲具體的人,而自下而上的模式開始於第一次最具體的和基本的組成部分,並保持組成成分得到的抽象水平.

Q.什麼是 Halstead’s 的複雜度基礎?

A. Halstead’s 的複雜度取決於上的程序的實際執行,並認爲該計劃作爲衡量的基礎上使用令牌。.

Q.提到的公式來計算圈程序的複雜性?

A. 圈複雜度採用圖論的公式: V(G) = e – n + 2

Q.什麼是函數式編程?

A. 功能編程的編程語言,它使用數學函數的概念風格。它提供了計算的數學函數,其產生的程序的狀態,結果,不論裝置.

Q.區分確認和驗證?

A. 驗證檢查,如果該產品是由按而驗證檢查用戶的需求,如果遵循正確的步驟來開發產品。.

驗證確認正確的產品和核查確認,如果該產品是建立在一個正確的方式.

Q.什麼是黑盒和白盒測試?

A. 黑盒測試檢查,如果所需的輸出產生有效的輸入值時給出。它不驗證程序的實際執行。.

白盒提供了有效的輸入,而且它會檢查代碼是否正確實現,測試時,不僅需要的有效輸出檢查。.

標準

黑盒測試

白盒測試

識的軟件程序,設計和結構所必需的

是的

知識軟件實現至關重要

是的

誰做這個軟件的測試

軟件測試員工

軟件開發

爲測試基準參考

需求規格說明書

設計和結構的詳細信息

Q.質量保證與質量控制?

A. 質量保證監督檢查,如果合適的流程進行後續處理,而軟件開發軟件e.

質量控制涉及維護軟件產品的質量.

Q.什麼是各類軟件的維護

A. 維修種類有:糾正,適應性,完備和預防.

  • 糾正

    刪除用戶識別的錯誤

  • 自適應

    應對變化的硬件和軟件環境下,軟件工程

  • 完備的維修

    在現有的或新的用戶需求的變化實施

  • 預防性維護

    採取適當措施以避免未來的問題

Q.什麼是軟件再工程?

A. 軟件再工程的過程中,以加強該軟件是建立在不改變軟件的功能的技術。這樣做是爲了保持調整與最新技術的軟件實現.

Q.什麼是CASE工具?

A. 消協表示計算機輔助軟件工程。 CASE工具被設置的自動化軟件應用程序,它被用來支持,促進和平滑的SDLC活動.