軟件工程問的面試題


軟件工程知識點

  1. 黑盒測試和白盒測試?
    白盒測試是把測試對象看見透明的。也就是代碼是透明的。我們知道程序的內部代碼。要根據程序的代碼設計更盡可能多的測試用例來測試。
    它的優點是代碼覆蓋率特別高,他的缺點就是覆蓋所有的代碼路徑的難度特別大,業務功能可能覆蓋不全,測試的開銷大。
    一般白盒是配合黑盒所使用。
    黑盒測試是把測試的對象看成一個黑盒子。他是站在用戶的角度上來測試的。只根據需求規格說明書。檢查程序的功能是否符合它的功能說明。檢查非功能性需求是否滿足設計要求?。

  2. 高內聚低耦合?

    高內聚低耦合師軟件工程中的概念,是面向對象編程的一種設計。

    內聚它是指內部間聚集,關聯的程度。高內聚則是要高度的聚集,最好就是做到功能內聚,模塊內的各組成部分都是為了完成同一個功能而存在,就比如說JDK中的Math類,他就是為了完成數學運算而設計的類。內聚性高它的可靠性,可重用性,可讀性都會提高。

    耦合是指模塊間的關聯程度,我們設計要減量減低各個模塊間的耦合程度,因為一旦各模塊耦合程度高,那么對程序的維護就會非常困難,牽一發動全身。

    https://baike.baidu.com/item/%E9%AB%98%E5%86%85%E8%81%9A%E4%BD%8E%E8%80%A6%E5%90%88/5227009?fr=aladdin

  3. 軟件測試有哪些?軟件測試的作用?

    靜態測試,動態測試,黑盒測試,白盒測試。(展開了也要會講)

    作用:軟件測試就是檢查實際輸出和預期輸出的一種審核,通過軟件測試,我們可以盡早的發現軟件的一些問題,減少損失,提升開發效率。

    https://baike.baidu.com/item/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/327953?fr=aladdin

  4. 你所知道管理軟件?

    ERP企業資源計划,OA協同管理軟件

    https://baike.baidu.com/item/%E4%BC%81%E4%B8%9A%E8%B5%84%E6%BA%90%E8%AE%A1%E5%88%92/25984?fromtitle=ERP&fromid=22997&fr=aladdin

  5. Java中各種數據類型占用的字節數?

    byte 1個,short 2個,char 2個,int 4 個,float 4個,long 8個,double 8個,boolean 1位

  6. 數據結構,隊列和棧的區別

    棧是一種后進先出的數據結構。

    隊列則是一種先進先出的數據結構。

  7. 解釋一下UML?

    統一建模語言,UML是面向對象設計的建模工具,獨立於任何具體的程序設計語言。

    UML采用一組圖形符號來描述軟件模型,這些圖形符號簡單、直觀和規范。開發人員學習和掌握起來比較簡單。所描述的軟件模型,可以直觀地理解和閱讀,由於具有規范性,所以能夠保證模型的准確、一致。

    一般用UML畫用例圖,類圖,對象圖,狀態圖等。

    https://baike.baidu.com/item/%E7%BB%9F%E4%B8%80%E5%BB%BA%E6%A8%A1%E8%AF%AD%E8%A8%80/3160571?fromtitle=UML&fromid=446747&fr=aladdin

  8. 圖靈獎是什么?

    圖靈獎被稱為計算機界 的諾貝爾獎,專門獎勵那些對計算機事業做出重要貢獻的個人,是為了紀念計算機科學的先驅圖靈而設立的。中國只有姚期智獲得過此殊榮。

  9. 面向對象和面向過程的區別?

    面向對象呢就是分析解決問題所需要的步驟,然后用函數把這些步驟一步步實現,使用的時候一個一個一次調用就可以了。

    面向對象是把構成問題的事物分解為各個對象,建立對象的目的不是為了完成某個步驟,而是為了描述某個事物在解決步驟中的行為。

    舉個例子。人吃午飯,用面向過程的方法解決就是先去拿筷子,再拿碗,然后去盛飯,再夾菜,最好吃飯。而面向過程,實現抽象對象,抽象出,人,餐具,食物,然后調用人拿餐具去吃飯。

    優缺點:

    面向過程的開發,性能較高,因為不需要實例化對象,缺點是沒有面向對象容易維護和復用。

    面向對象則相反。性能稍有差距,但是容易維護和擴展

    https://blog.csdn.net/jerry11112/article/details/79027834

  10. 軟件的生命周期?

    軟件的生命周期是指軟件的產生到報廢的過程。

    分為三個階段:

    1.軟件定義階段:軟件的定義,可行性分析,需求分析

    2.軟件開發階段:系統設計,軟件開發,軟件測試

    3.軟件的運行和維護:軟件運行,軟件維護。

  11. 什么是檢索?檢索的過程是什么?

  12. Linux下、常用命令?
    文件相關:mkdir,touch,rm,mv,cp,ls,find
    網絡相關:ping,ipconfig,netstat
    數據庫:use ,mysql -u -p,insert等常見的mysql命令

  13. 離散數學與計算機技術的聯系?

  14. 生命周期模型,1.瀑布模型 2,快速原型模型,3迭代模型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM