軟體工程面試問題


這些 軟體工程面試問題 的目的是為了讓你熟悉的問題的性質在你可能會遇到 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活動.