軟件工程師能力自我評價表

 

類別html

具體技能和麪試問題前端

如今的回答linux

(2014級軟工3班)web

畢業找工做時面試

語言算法

最拿手的計算機語言之一,代碼量多少?(偏web前端,PC/Mobile App)數據庫

偏web前端 2000windows

偏web前端 5000後端

語言設計模式

最拿手的計算機語言之二,代碼量多少?(偏後端,數據處理,網站後臺,機器學習,等)

數據處理

1000

數據處理

5000

軟件實現

(閱讀代碼的能力,實現,單元測試)你有沒有在別人代碼的基礎上改進,

你是怎麼讀懂別人的代碼的,

你採起了什麼辦法來保證你的新功能不會影響原來的功能?

你在開發中碰到最複雜的bug是什麼,你是如何解決的?

這個bug出現的緣由是什麼,你在未來應該怎麼去避免bug再出現?

有在別人代碼的基礎上改進,

看註釋懂別人的代碼,

數據不會更新bug後來在數據庫方面進行修改每小時自動刷新解決

能讀懂別人的代碼會修改別人的代碼,碰到複雜的bug能解決處理

軟件測試

(測試方法、測試工具、測試實踐、代碼覆蓋率)

你是如何測試你本身寫的代碼?

你如何測試別人的代碼?

你掌握了多少種測試工具和方法?

你寫過測試工具嗎?

你如何對一個網站進行壓力測試和效能測試?

你如何測試一個軟件的人機界面(UX/UI)?

用測試方法、測試工具、測試實踐、代碼覆蓋率測試本身寫的代碼,掌握較少測試工具

善於用測試方法、測試工具、測試實踐、代碼覆蓋率測試本身和別人寫的代碼,掌握較多的測試工具

效能分析

效能分析,效能改進

你寫過最複雜的代碼是什麼?你是如何測量和改進它的效能的,用了什麼工具,如何分析的?

寫了安卓單機點餐系統,用安卓虛擬機或者手機測試的

多寫開發項目的代碼 代碼量獲得提高

需求分析

(需求分析,典型用戶,場景,創新)

你作過多少個有實際用戶的項目,用戶最多有多少?你的項目有什麼創新的地方?

沒有作過

多作

行業洞察力

你最感興趣的領域是什麼?這個領域過去10年經歷了哪些創新?

你分析過這個領域前十名產品麼?請分析一下他們的優劣,

你要進入這個領域,應該如何創新?

目前還不知道對什麼領域感興趣

培養本身的興趣愛好多瞭解多學習

項目管理

你參加過項目管理嗎?請描述一下兩個當下流行的開發方法在你的項目中的具體應用狀況?

請問你如何決定項目中各類任務的優先次序,有什麼理論來支持你的作法?

若是你忽然發現項目不能按時完成,你做爲項目領導,有什麼辦法?

沒有參加

多參加

軟件設計

你作過架構設計,模塊化設計,接口設計嗎?請說明一下你爲什麼是這樣設計,你比較過什麼不一樣的設計方式,你的設計取得了什麼結果?

沒有作過

多作

質量意識

(代碼複審/代碼規範/代碼質量)你是怎麼作代碼複審的,你加入咱們團隊後,能幫咱們提升代碼質量麼,請具體說怎麼提升?

用代碼複審和代碼規範和代碼質量作的代碼複審

善於使用代碼複審和代碼規範和代碼質量作的代碼複審

工具/社區

Software Tools(performance tool,version,control,work item,TFS)

你在各類開發平臺(web,linux,PC,mobile,machine learning)都使用過什麼樣的工具,本身寫過什麼工具來改進工做效率?

給社區貢獻過什麼工具和代碼?Github有分享代碼麼?

你寫的技術博客堅持了多久,讀者最多的是哪一篇?

不多用工具

多使用工具

團隊協做

Work with others(協同工做,提供反饋,說服別人)

請描述你在項目中如何說服同伴採用你提出的更好的解決方案,

或者你如何聽取別人的意見,改進了本身的方案?

你如何說服懶惰的同伴加緊工做,實現團隊的目標?

開會討論

分配工做

盡己所長

要有團隊意識

多配合多討論

理論素養

你上過什麼數學,計算機或其餘理論課,

請舉出具體的例子,說明你學到的理論知識如何幫助你解決實際問題?。

高數 計算機組成原理 計算機導論等等

多讀相關的書記多運用這些理論知識

自我管理

整年級你專業排名多少?

你從剛入學(大學一年級)到如今的排名有變化麼?

如何解釋你的排名的變化?

排名41

有變化 排名在降低

學習還不夠努力

多學習專業知識

 

 

 

第二部分:在成長路上,軟的問題

人的能力和成長路徑都是有多種選擇,沒有必定之規。 可是不少人喜歡數量化, 因此下面的的每項回答均可以換算爲一個分數, 以知足部分讀者的需求:

1.保持高標準,不要受制於破窗理論(broken windows theory)[i]
當你看到不靠譜的設計、糟糕的代碼、過期的文檔和測試用例的時候,不要想 「既然別人的代碼已經這樣了,個人代碼也能夠隨便一點啦。」(c)

    a) 歷來沒據說過;   b) 我就是這樣隨便過來的;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

2. 主動解決問題。當看到不靠譜的設計,糟糕的代碼的時候,不要想「可能別人會來管這個事情」 ,或者「我下個月發一個郵件讓你們討論一下」。要主動地把問題給解決了[ii]。(c)

   a) 不懂啥是靠譜的設計;   b) 隨便應付一下便可;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

3. 常常給本身充電,身體訓練是運動員生活的一部分,學習是軟件工程師職業的伴侶。每半年就要了解和學習一些新的相關技術。經過按期分享(面對面的分享,寫技術博客等)來確保本身真正掌握了新技術。(c)

   a) 歷來不看書;   b) 看了就忘;  c) 有時分享。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

4. DRY (Don't Repeat Yourself)——別重複。在一個系統中,每個知識點都應該有一個無異議的、正規的表現形式。(b)

   a) 歷來沒據說過;   b) 據說過,可是認爲意思不大;  c) 這要講場合。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

5. 消除不相關模塊之間的影響,在設計模塊的時候,要讓它們目標明確並單一,能獨立存在,沒有不明確的外部依賴。(b)

   a) 歷來沒據說過;   b) 出了問題再說吧;  c) 想作,可是不知道怎麼衡量效果。  d) 可以在多種語言和架構中作到     e) 不但主動作, 還會影響同事一塊兒作好

 

6. 經過快速原型來學習,快速原型的目的是學習,它的價值不在於代碼,而在於你經過快速原型學到了什麼。(c)

   a) 歷來沒據說過;   b) 把原型直接用於產品,否則就浪費了;  c) 不用原型,一直在產品中直接改。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

7. 設計要接近問題領域,在設計的時候,要接近你目標用戶的語言和環境。(c)

   a) 歷來沒據說過;   b) 按個人想法設計,用戶之後會適應的;  c) 大概贊成,可是怎麼接近用戶呢?  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

8. 估計任務所花費的時間,避免意外。在開始工做的時候,要作出時間和潛在影響的估計,並通告相關人士,避免最後關頭意外發生。工做中要告知可能的時間變化,過後要總結。(c)

   a) 作完了,就知道花費了,不用事先估計;   b) 大概估一下,沒必要在乎時間   c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

9. 圖形界面的工具備它的長處,可是不要忘了命令行工具也能夠發揮很高的效率,特別是能夠用腳本構建各類組合命令的時候。(c)

   a) 一直用鼠標和GUI;   b) 到時候問牛人;  c) 正在學習命令行工具。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

10. 有不少代碼編輯器,請把其中一個用得很是熟練。讓編輯器能夠實現本身的定製,能夠用腳本驅動,用起來駕輕就熟。(e)

   a) 只用老師教的一個;   b) 隨意;  c) 沒有任何定製。  d) 會定製,而且分享給其餘人     e) 還會學習和使用各類編輯器的擴展。

 

11. 理解經常使用的設計模式,並知道擇機而用。設計模式不錯,更重要的是知道它的目的是什麼,何時用,何時不用。(a)

   a) 歷來沒據說過;   b) 模式沒用;  c) 每寫100行程序,我就儘可能用一個模式。  d)有實際使用的經驗     e) 能用具體代碼說明模式的利弊

 

12. 代碼版本管理工具是你代碼的保障,重要的代碼必定要有代碼版本管理。(a)

   a) 歷來沒據說過;   b) 用QQ,u盤便可;  c) 領導要求才用。  d) 常常用     e) 不但主動作, 還會影響同事一塊兒作好

 

13. 在debug的時候,不要驚慌,想一想致使問題的緣由可能在哪裏。一步一步地找到緣由。要在實踐中運用工具,善於分析日誌(log),從中找到bug。同時,在本身的代碼裏面加 log.(b)

   a) 歷來沒據說過;   b) 只會printf;  c) 加log 太麻煩,個人代碼不會有bug 的。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

14. 重要的接口要用形式化的「合同」來規定。用文檔和斷言、自動化測試等工具來保證代碼的確按照合同來作事,很少也很多。使用斷言 (assertion) 或者其餘技術來驗證代碼中的假設,你認爲不可能發生的事情在現實世界中每每會發生。(c)

   a) 歷來沒據說過;   b) 太麻煩,不用;  c) 想用,但沒有時間。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

15. 只在異常的狀況下才使用異常 (Exception),  不加判斷地過多使用異常,會下降代碼的效率和可維護性。記住不要用異常來傳遞正常的信息。(c)

   a) 歷來沒據說過;   b) 抓住全部異常  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

16. 有始有終。若是某個函數申請了空間或其餘資源,這個函數負責釋放這些資源。(c)

   a) 歷來沒據說過;   b) 隨緣;  c) 有時這樣作。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

17. 當你的軟件有多種技術結合在一塊兒的時候,要採用鬆耦合的配置模式,而不是要把全部代碼都混到一塊兒。(c)

   a) 歷來沒據說過;   b) 沒有實踐的機會;  c) 代碼都在一塊兒比較好管理。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

18. 把經常使用模塊的功能打形成獨立的服務,經過良好的界面 (API) 來調用不一樣的服務。(b)

   a) 歷來沒據說過;   b) 拷貝代碼過來用也能夠  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

19. 在設計中考慮對並行的支持,這樣你的API 設計會比較容易擴展。(b)

   a) 歷來沒據說過;   b) 並行不會出錯的;  c) 任何代碼都應支持並行。  d) 考慮在適當的層次支持並行     e) 不但主動作, 還會影響同事一塊兒作好

 

20. 在設計中把展示模塊 (View) 和實體模塊 (Model) 分開,這樣你的設計會更有靈活性。 (d)

   a) 代碼都在一塊兒比較好改;   b) 隨緣啦;  c) 沒搞清楚啥是V,啥是M。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

21. 重視算法的效率,在開始寫以前就要估計好算法的效率是哪個數量級上的(big-O)。(c)

   a) 歷來沒據說過;   b) 個人數據量不大,無所謂;  c) 不會有效率問題的,如今CPU 都快了。  d) 主動測試程序效率,以驗證估算     e) 不但主動作, 還會影響同事一塊兒作好

 

22. 在實際的運行場景中測試你的算法,不要停留在數學分析層面。有時候一個小小的實際因素 (是否支持大小寫敏感的排序,數據是否支持多語言)會致使算法效率的巨大變化。(b)

   a) 歷來沒據說過;   b) 想用,但不知道工具  c) 主要靠肉眼觀察算法效率。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

23. 常常重構代碼,同時注意要解決問題的根源。(b)

   a) 歷來沒據說過;   b) 任何修改均可以叫重構;  c) 天天應該重構兩次。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

24. 在開始設計的時候就要考慮如何測試 ,若是代碼出了問題,有log 來輔助debug 麼? 儘早測試,常常測試,爭取實現自動化測試,爭取每個構建的版本都能有某些自動測試。(c)

   a) 歷來沒據說過;   b) 個人代碼不會出問題的;  c) 項目沒有安排時間,我也沒有提這事。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

25. 代碼生成工具能夠生成一堆一堆的代碼,在正式使用它們以前,要確保你能理解它們,而且必要的時候能debug 這些代碼。(c)

   a) 歷來沒據說過;   b) 歷來不看那些代碼;  c) 那些代碼沒有bug。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

26. 和一個實際的用戶一塊兒使用軟件,得到第一手反饋。 (c)

   a) 歷來沒據說過;   b) 用戶太蠢,不值得聽反饋;  c) 想作可是沒有機會。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

27. 在自動測試的時候,要有意引地入bug,來保證自動測試的確能捕獲這些錯誤。(c)

   a) 沒據說過;   b) 沒必要這麼麻煩;   c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

28. 若是測試沒有作完,那麼開發也沒有作完。(b)

   a) 歷來沒據說過;   b) 簽入代碼,就是作完了;  c)若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

29. 適當地追求代碼覆蓋率:每一行的代碼都覆蓋了,可是程序未必正確。要確保程序覆蓋了不一樣的程序狀態和各類組合條件。(c)

   a) 歷來沒據說過;   b) 覆蓋20% 就行了;  c) 要覆蓋至少60%。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

30. 若是團隊成員碰到了一個有廣泛意義的bug,  應該創建一個測試用例抓住之後將會出現的相似的bug。(b)

   a) 歷來沒據說過;   b) 每一個bug都是特殊的;  c) 測試用例不值得加  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

31. 測試:多走一步,多考慮一層。若是程序運行了一星期不退出,若是用戶的屏幕分辨率再提升一個檔次,這個程序會出什麼可能的錯誤?(c)

   a) 歷來沒據說過;   b) 若是有問題,用戶會報告的,咱們不用測這些;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

32. (帶領團隊)瞭解用戶的指望值,稍稍超出用戶的指望值,讓用戶有驚喜。(c)

    a) 歷來沒據說過;   b) 咱們決定用戶的指望;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

33. (帶領團隊) 不要停留在被動地收集需求,要挖掘需求。真正的需求可能被過期的假設、對用戶的誤解或其餘因素所遮擋。(c)

   a) 歷來沒據說過;   b) 用戶不說的,咱們不作;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

34. (帶領團隊)把全部的術語和項目相關的名詞、縮寫等都放在一個地方。(d)

   a) 歷來沒據說過;   b) 都記在我腦子裏;  c) 你們看代碼就好  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

35. (帶領團隊)不要依賴於某我的的手動操做,而是要把這些操做都作成有相關權限的人士都能運行的腳本。這樣就不會出現由於某人休假而項目被卡住的狀況。(c)

   a) 歷來沒據說過;   b) 咱們沒有休假的,不要緊;  c) 出了問題再說  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

36. (帶領團隊)要讓重用變得更容易。一個軟件團隊要創造一種環境,讓你們有輕鬆的心態來嘗試各類想法 (例如,模塊的重用,效能的提高,等)。(a)

   a) 都聽領導的;   b) 團隊嚴肅緊張最好;  c) 沒必要嘗試,失敗的可能性太大。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

37. (帶領團隊)在每一次迭代以後,都要總結經驗,讓下一次迭代的進度安排更可靠,質量更高。(c)

    a) 沒有時間總結,直接作下一版;   b) 總結用處不大;  c) 若是上級有要求,就作一下;  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

---恢復內容結束---

類別

具體技能和麪試問題

如今的回答

(2014級軟工3班)

畢業找工做時

語言

最拿手的計算機語言之一,代碼量多少?(偏web前端,PC/Mobile App)

偏web前端 2000

偏web前端 5000

語言

最拿手的計算機語言之二,代碼量多少?(偏後端,數據處理,網站後臺,機器學習,等)

數據處理

1000

數據處理

5000

軟件實現

(閱讀代碼的能力,實現,單元測試)你有沒有在別人代碼的基礎上改進,

你是怎麼讀懂別人的代碼的,

你採起了什麼辦法來保證你的新功能不會影響原來的功能?

你在開發中碰到最複雜的bug是什麼,你是如何解決的?

這個bug出現的緣由是什麼,你在未來應該怎麼去避免bug再出現?

有在別人代碼的基礎上改進,

看註釋懂別人的代碼,

數據不會更新bug後來在數據庫方面進行修改每小時自動刷新解決

能讀懂別人的代碼會修改別人的代碼,碰到複雜的bug能解決處理

軟件測試

(測試方法、測試工具、測試實踐、代碼覆蓋率)

你是如何測試你本身寫的代碼?

你如何測試別人的代碼?

你掌握了多少種測試工具和方法?

你寫過測試工具嗎?

你如何對一個網站進行壓力測試和效能測試?

你如何測試一個軟件的人機界面(UX/UI)?

用測試方法、測試工具、測試實踐、代碼覆蓋率測試本身寫的代碼,掌握較少測試工具

善於用測試方法、測試工具、測試實踐、代碼覆蓋率測試本身和別人寫的代碼,掌握較多的測試工具

效能分析

效能分析,效能改進

你寫過最複雜的代碼是什麼?你是如何測量和改進它的效能的,用了什麼工具,如何分析的?

寫了安卓單機點餐系統,用安卓虛擬機或者手機測試的

多寫開發項目的代碼 代碼量獲得提高

需求分析

(需求分析,典型用戶,場景,創新)

你作過多少個有實際用戶的項目,用戶最多有多少?你的項目有什麼創新的地方?

沒有作過

多作

行業洞察力

你最感興趣的領域是什麼?這個領域過去10年經歷了哪些創新?

你分析過這個領域前十名產品麼?請分析一下他們的優劣,

你要進入這個領域,應該如何創新?

目前還不知道對什麼領域感興趣

培養本身的興趣愛好多瞭解多學習

項目管理

你參加過項目管理嗎?請描述一下兩個當下流行的開發方法在你的項目中的具體應用狀況?

請問你如何決定項目中各類任務的優先次序,有什麼理論來支持你的作法?

若是你忽然發現項目不能按時完成,你做爲項目領導,有什麼辦法?

沒有參加

多參加

軟件設計

你作過架構設計,模塊化設計,接口設計嗎?請說明一下你爲什麼是這樣設計,你比較過什麼不一樣的設計方式,你的設計取得了什麼結果?

沒有作過

多作

質量意識

(代碼複審/代碼規範/代碼質量)你是怎麼作代碼複審的,你加入咱們團隊後,能幫咱們提升代碼質量麼,請具體說怎麼提升?

用代碼複審和代碼規範和代碼質量作的代碼複審

善於使用代碼複審和代碼規範和代碼質量作的代碼複審

工具/社區

Software Tools(performance tool,version,control,work item,TFS)

你在各類開發平臺(web,linux,PC,mobile,machine learning)都使用過什麼樣的工具,本身寫過什麼工具來改進工做效率?

給社區貢獻過什麼工具和代碼?Github有分享代碼麼?

你寫的技術博客堅持了多久,讀者最多的是哪一篇?

不多用工具

多使用工具

團隊協做

Work with others(協同工做,提供反饋,說服別人)

請描述你在項目中如何說服同伴採用你提出的更好的解決方案,

或者你如何聽取別人的意見,改進了本身的方案?

你如何說服懶惰的同伴加緊工做,實現團隊的目標?

開會討論

分配工做

盡己所長

要有團隊意識

多配合多討論

理論素養

你上過什麼數學,計算機或其餘理論課,

請舉出具體的例子,說明你學到的理論知識如何幫助你解決實際問題?。

高數 計算機組成原理 計算機導論等等

多讀相關的書記多運用這些理論知識

自我管理

整年級你專業排名多少?

你從剛入學(大學一年級)到如今的排名有變化麼?

如何解釋你的排名的變化?

排名27

有變化 排名在降低

學習還不夠努力

多學習專業知識

 

 

 

第二部分:在成長路上,軟的問題

人的能力和成長路徑都是有多種選擇,沒有必定之規。 可是不少人喜歡數量化, 因此下面的的每項回答均可以換算爲一個分數, 以知足部分讀者的需求:

1.保持高標準,不要受制於破窗理論(broken windows theory)[i]
當你看到不靠譜的設計、糟糕的代碼、過期的文檔和測試用例的時候,不要想 「既然別人的代碼已經這樣了,個人代碼也能夠隨便一點啦。」(c)

    a) 歷來沒據說過;   b) 我就是這樣隨便過來的;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

2. 主動解決問題。當看到不靠譜的設計,糟糕的代碼的時候,不要想「可能別人會來管這個事情」 ,或者「我下個月發一個郵件讓你們討論一下」。要主動地把問題給解決了[ii]。(c)

   a) 不懂啥是靠譜的設計;   b) 隨便應付一下便可;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

3. 常常給本身充電,身體訓練是運動員生活的一部分,學習是軟件工程師職業的伴侶。每半年就要了解和學習一些新的相關技術。經過按期分享(面對面的分享,寫技術博客等)來確保本身真正掌握了新技術。(c)

   a) 歷來不看書;   b) 看了就忘;  c) 有時分享。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

4. DRY (Don't Repeat Yourself)——別重複。在一個系統中,每個知識點都應該有一個無異議的、正規的表現形式。(b)

   a) 歷來沒據說過;   b) 據說過,可是認爲意思不大;  c) 這要講場合。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

5. 消除不相關模塊之間的影響,在設計模塊的時候,要讓它們目標明確並單一,能獨立存在,沒有不明確的外部依賴。(b)

   a) 歷來沒據說過;   b) 出了問題再說吧;  c) 想作,可是不知道怎麼衡量效果。  d) 可以在多種語言和架構中作到     e) 不但主動作, 還會影響同事一塊兒作好

 

6. 經過快速原型來學習,快速原型的目的是學習,它的價值不在於代碼,而在於你經過快速原型學到了什麼。(c)

   a) 歷來沒據說過;   b) 把原型直接用於產品,否則就浪費了;  c) 不用原型,一直在產品中直接改。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

7. 設計要接近問題領域,在設計的時候,要接近你目標用戶的語言和環境。(c)

   a) 歷來沒據說過;   b) 按個人想法設計,用戶之後會適應的;  c) 大概贊成,可是怎麼接近用戶呢?  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

8. 估計任務所花費的時間,避免意外。在開始工做的時候,要作出時間和潛在影響的估計,並通告相關人士,避免最後關頭意外發生。工做中要告知可能的時間變化,過後要總結。(c)

   a) 作完了,就知道花費了,不用事先估計;   b) 大概估一下,沒必要在乎時間   c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

9. 圖形界面的工具備它的長處,可是不要忘了命令行工具也能夠發揮很高的效率,特別是能夠用腳本構建各類組合命令的時候。(c)

   a) 一直用鼠標和GUI;   b) 到時候問牛人;  c) 正在學習命令行工具。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

10. 有不少代碼編輯器,請把其中一個用得很是熟練。讓編輯器能夠實現本身的定製,能夠用腳本驅動,用起來駕輕就熟。(e)

   a) 只用老師教的一個;   b) 隨意;  c) 沒有任何定製。  d) 會定製,而且分享給其餘人     e) 還會學習和使用各類編輯器的擴展。

 

11. 理解經常使用的設計模式,並知道擇機而用。設計模式不錯,更重要的是知道它的目的是什麼,何時用,何時不用。(a)

   a) 歷來沒據說過;   b) 模式沒用;  c) 每寫100行程序,我就儘可能用一個模式。  d)有實際使用的經驗     e) 能用具體代碼說明模式的利弊

 

12. 代碼版本管理工具是你代碼的保障,重要的代碼必定要有代碼版本管理。(a)

   a) 歷來沒據說過;   b) 用QQ,u盤便可;  c) 領導要求才用。  d) 常常用     e) 不但主動作, 還會影響同事一塊兒作好

 

13. 在debug的時候,不要驚慌,想一想致使問題的緣由可能在哪裏。一步一步地找到緣由。要在實踐中運用工具,善於分析日誌(log),從中找到bug。同時,在本身的代碼裏面加 log.(b)

   a) 歷來沒據說過;   b) 只會printf;  c) 加log 太麻煩,個人代碼不會有bug 的。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

14. 重要的接口要用形式化的「合同」來規定。用文檔和斷言、自動化測試等工具來保證代碼的確按照合同來作事,很少也很多。使用斷言 (assertion) 或者其餘技術來驗證代碼中的假設,你認爲不可能發生的事情在現實世界中每每會發生。(c)

   a) 歷來沒據說過;   b) 太麻煩,不用;  c) 想用,但沒有時間。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

15. 只在異常的狀況下才使用異常 (Exception),  不加判斷地過多使用異常,會下降代碼的效率和可維護性。記住不要用異常來傳遞正常的信息。(c)

   a) 歷來沒據說過;   b) 抓住全部異常  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

16. 有始有終。若是某個函數申請了空間或其餘資源,這個函數負責釋放這些資源。(c)

   a) 歷來沒據說過;   b) 隨緣;  c) 有時這樣作。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

17. 當你的軟件有多種技術結合在一塊兒的時候,要採用鬆耦合的配置模式,而不是要把全部代碼都混到一塊兒。(c)

   a) 歷來沒據說過;   b) 沒有實踐的機會;  c) 代碼都在一塊兒比較好管理。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

18. 把經常使用模塊的功能打形成獨立的服務,經過良好的界面 (API) 來調用不一樣的服務。(b)

   a) 歷來沒據說過;   b) 拷貝代碼過來用也能夠  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

19. 在設計中考慮對並行的支持,這樣你的API 設計會比較容易擴展。(b)

   a) 歷來沒據說過;   b) 並行不會出錯的;  c) 任何代碼都應支持並行。  d) 考慮在適當的層次支持並行     e) 不但主動作, 還會影響同事一塊兒作好

 

20. 在設計中把展示模塊 (View) 和實體模塊 (Model) 分開,這樣你的設計會更有靈活性。 (d)

   a) 代碼都在一塊兒比較好改;   b) 隨緣啦;  c) 沒搞清楚啥是V,啥是M。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

21. 重視算法的效率,在開始寫以前就要估計好算法的效率是哪個數量級上的(big-O)。(c)

   a) 歷來沒據說過;   b) 個人數據量不大,無所謂;  c) 不會有效率問題的,如今CPU 都快了。  d) 主動測試程序效率,以驗證估算     e) 不但主動作, 還會影響同事一塊兒作好

 

22. 在實際的運行場景中測試你的算法,不要停留在數學分析層面。有時候一個小小的實際因素 (是否支持大小寫敏感的排序,數據是否支持多語言)會致使算法效率的巨大變化。(b)

   a) 歷來沒據說過;   b) 想用,但不知道工具  c) 主要靠肉眼觀察算法效率。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

23. 常常重構代碼,同時注意要解決問題的根源。(b)

   a) 歷來沒據說過;   b) 任何修改均可以叫重構;  c) 天天應該重構兩次。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

24. 在開始設計的時候就要考慮如何測試 ,若是代碼出了問題,有log 來輔助debug 麼? 儘早測試,常常測試,爭取實現自動化測試,爭取每個構建的版本都能有某些自動測試。(c)

   a) 歷來沒據說過;   b) 個人代碼不會出問題的;  c) 項目沒有安排時間,我也沒有提這事。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

25. 代碼生成工具能夠生成一堆一堆的代碼,在正式使用它們以前,要確保你能理解它們,而且必要的時候能debug 這些代碼。(c)

   a) 歷來沒據說過;   b) 歷來不看那些代碼;  c) 那些代碼沒有bug。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

26. 和一個實際的用戶一塊兒使用軟件,得到第一手反饋。 (c)

   a) 歷來沒據說過;   b) 用戶太蠢,不值得聽反饋;  c) 想作可是沒有機會。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

27. 在自動測試的時候,要有意引地入bug,來保證自動測試的確能捕獲這些錯誤。(c)

   a) 沒據說過;   b) 沒必要這麼麻煩;   c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

28. 若是測試沒有作完,那麼開發也沒有作完。(b)

   a) 歷來沒據說過;   b) 簽入代碼,就是作完了;  c)若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

29. 適當地追求代碼覆蓋率:每一行的代碼都覆蓋了,可是程序未必正確。要確保程序覆蓋了不一樣的程序狀態和各類組合條件。(c)

   a) 歷來沒據說過;   b) 覆蓋20% 就行了;  c) 要覆蓋至少60%。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

30. 若是團隊成員碰到了一個有廣泛意義的bug,  應該創建一個測試用例抓住之後將會出現的相似的bug。(b)

   a) 歷來沒據說過;   b) 每一個bug都是特殊的;  c) 測試用例不值得加  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

31. 測試:多走一步,多考慮一層。若是程序運行了一星期不退出,若是用戶的屏幕分辨率再提升一個檔次,這個程序會出什麼可能的錯誤?(c)

   a) 歷來沒據說過;   b) 若是有問題,用戶會報告的,咱們不用測這些;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

32. (帶領團隊)瞭解用戶的指望值,稍稍超出用戶的指望值,讓用戶有驚喜。(c)

    a) 歷來沒據說過;   b) 咱們決定用戶的指望;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

33. (帶領團隊) 不要停留在被動地收集需求,要挖掘需求。真正的需求可能被過期的假設、對用戶的誤解或其餘因素所遮擋。(c)

   a) 歷來沒據說過;   b) 用戶不說的,咱們不作;  c) 若是有明確要求,我能夠作好。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

34. (帶領團隊)把全部的術語和項目相關的名詞、縮寫等都放在一個地方。(d)

   a) 歷來沒據說過;   b) 都記在我腦子裏;  c) 你們看代碼就好  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

35. (帶領團隊)不要依賴於某我的的手動操做,而是要把這些操做都作成有相關權限的人士都能運行的腳本。這樣就不會出現由於某人休假而項目被卡住的狀況。(c)

   a) 歷來沒據說過;   b) 咱們沒有休假的,不要緊;  c) 出了問題再說  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

36. (帶領團隊)要讓重用變得更容易。一個軟件團隊要創造一種環境,讓你們有輕鬆的心態來嘗試各類想法 (例如,模塊的重用,效能的提高,等)。(a)

   a) 都聽領導的;   b) 團隊嚴肅緊張最好;  c) 沒必要嘗試,失敗的可能性太大。  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

 

37. (帶領團隊)在每一次迭代以後,都要總結經驗,讓下一次迭代的進度安排更可靠,質量更高。(c)

    a) 沒有時間總結,直接作下一版;   b) 總結用處不大;  c) 若是上級有要求,就作一下;  d) 一直主動這樣作     e) 不但主動作, 還會影響同事一塊兒作好

相關文章
相關標籤/搜索