我的做業4

1、我的總結

自我評價表前端

類別 具體技能和麪試問題 如今的回答 畢業找工做
語言 最拿手的計算機語言之一,代碼量有多少 java,代碼量大概八千左右吧
語言 最拿手的計算機語言之二,代碼量有多少 C語言,代碼量大概兩千左右吧
軟件實現 (閱讀代碼的能力,實現,單元測試)有沒有在別人的代碼基礎上進行改進,你是怎麼讀懂別人的代碼,你採起什麼方法不影響原來的功能?你在開發中遇到的最複雜bug是什麼,怎麼解決的?這個bug出現的緣由是什麼,你在將來應該怎麼避免bug的再出現? 有;強行看,看不懂的百度;新功能避免佔用原來功能的資源;最複雜的bug...想不起來了T T
軟件測試 (測試方法、測試工具、測試實踐、代碼覆蓋率)你是怎麼測試本身的代碼?怎麼測試別人的代碼?你掌握了多少種測試工具和方法?你寫過測試工具麼?你如何對一個網站進行壓力測試和效能測試?你如何測試一個軟件的人機界面(UX/UI)? 添加測試用例;添加測試用例;勉強算一種吧;僅會在eclipse上進行簡單測試;沒有;不知;不甚瞭解
效能分析 (效能分析,效能改進)你寫過的最複雜的代碼是什麼?你是如何測量和改進它的效能的,用了什麼工具,如何分析的? java課設寫的學生管理系統吧;啊...沒測
需求分析 (需求分析、典型用戶、場景、創新)你作過多少個有實際用戶的項目,用戶最多有多少?你的項目有什麼創新的地方? 以前沒作過,此次軟工小程序作成的話就算一個,由於目前還未發佈,用戶數未知;便捷記錄開支
行業洞察力 你最感興趣的領域是什麼?這個領域過去十年有什麼創新?你分析過這個領域前十的產品嗎?請分析一下他們的優劣,你要進入這個領域,如何創新? 說實話,計算機這方面的都不怎麼感興趣(逃...)人工智能仍是有點點興趣的;正在不斷髮展,成爲目前最火熱的領域,沒分析過;開發出全新的東西
項目管理 你參加過項目管理嗎?如何決定各個任務的優先順序?若是項目不能及時完成,你要怎麼辦? 參與過;按時間緊急程度排序;將最主要的功能完成予以交付,後抓緊時間補救補充
軟件設計 你作過架構設計,模塊化設計,接口設計麼?請說明一下你爲什麼是這樣設計,你比較過什麼不一樣的設計方式,你的設計取得了什麼結果? 作過接口設計;更加簡潔明瞭;只設計過一種,沒法比較
質量意識 (代碼複審/代碼規範/代碼質量)你是怎麼作代碼複審的,你加入咱們團隊後,能幫咱們提升代碼質量麼,請具體說明怎麼提升? 保證功能的前提下將冗餘代碼刪除,建立接口並使用Dao模式
工具/社區 Software Tools(performance tool,version control,work item,TFS)你在各類開發平臺(web,linux,PC,mobile,macheine learning)都使用過什麼樣的工具,本身寫過什麼工具來改進工做效率?給社區貢獻過什麼工具和代碼?GitHub有分享代碼麼?你寫的技術博客堅持了多久,讀者最多的是哪一篇? CodeBlocks/Visual C++ 6.0/myeclipse/微信web開發者工具;沒貢獻過啥;沒分享過;堅持了一年兩個月,都是寫做業的博客,閱讀量平平
團隊協做 Work with others(協同合做,提供反饋,說服別人)請描述你在項目中如何說服同伴採起你更好的方案,或是聽取別人的意見改進本身的方案?如何說服懶惰的同伴加緊工做 團隊開會並討論,口頭勸說,若同伴不改進就將實際狀況驗證給他看(時間效率更高、前端設計大多數人更喜歡等等);讓同伴意識到事情的重要性,deadline是第一輩子產力
理論素養 你上過什麼數學,計算機或是理論課,舉出具體的例子,如何幫你解決問題 高數、離散、機率論、計算機組成原理、線性代數等;高數吧,好比斐波那契函數編寫就須要用到高數知識
自我管理 整年級你專業排名多少?你從剛入學(大學一年級)到如今排名有變化麼?如何解釋你的排名的變化? 大三上排名40多吧,具體記不得了;有變化大學一二年紀成績都在二三十名左右;緣由是:慢慢肯定本身不向計算機方面發展,多放心思在本身更感興趣的地方了

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

a)歷來沒據說過;linux

b)我就是這樣隨便過來的;web

c)若是有明確要求,我能夠作好。面試

d)一直主動這樣作算法

e)不但主動作, 還會影響同事一塊兒作好編程

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

a) 不懂啥是靠譜的設計;windows

b) 隨便應付一下便可;設計模式

c) 若是有明確要求,我能夠作好。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來不看書;

b) 看了就忘;

c) 有時分享。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 據說過,可是認爲意思不大;

c) 這要講場合。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 出了問題再說吧;

c) 想作,可是不知道怎麼衡量效果。

d) 可以在多種語言和架構中作到

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 把原型直接用於產品,否則就浪費了;

c) 不用原型,一直在產品中直接改。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 按個人想法設計,用戶之後會適應的;

c) 大概贊成,可是怎麼接近用戶呢?

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 作完了,就知道花費了,不用事先估計;

b) 大概估一下,沒必要在乎時間

c) 若是有明確要求,我能夠作好。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 一直用鼠標和GUI;

b) 到時候問牛人;

c) 正在學習命令行工具。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 只用老師教的一個;

b) 隨意;

c) 沒有任何定製。

d) 會定製,而且分享給其餘人

e) 還會學習和使用各類編輯器的擴展。

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

a) 歷來沒據說過;

b) 模式沒用;

c) 每寫100行程序,我就儘可能用一個模式。
d)有實際使用的經驗

e) 能用具體代碼說明模式的利弊

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

a) 歷來沒據說過;

b) 用QQ,u盤便可;

c) 領導要求才用。

d) 常常用

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 只會printf;

c) 加log 太麻煩,個人代碼不會有bug 的。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 太麻煩,不用;

c) 想用,但沒有時間。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 抓住全部異常

c) 若是有明確要求,我能夠作好。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 隨緣;

c) 有時這樣作。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 沒有實踐的機會;

c) 代碼都在一塊兒比較好管理。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 拷貝代碼過來用也能夠

c) 若是有明確要求,我能夠作好。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 並行不會出錯的;

c) 任何代碼都應支持並行。

d) 考慮在適當的層次支持並行

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 代碼都在一塊兒比較好改;

b) 隨緣啦;

c) 沒搞清楚啥是V,啥是M。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 個人數據量不大,無所謂;

c) 不會有效率問題的,如今CPU 都快了。

d) 主動測試程序效率,以驗證估算

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 想用,但不知道工具

c) 主要靠肉眼觀察算法效率。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 任何修改均可以叫重構;

c) 天天應該重構兩次。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 個人代碼不會出問題的;

c) 項目沒有安排時間,我也沒有提這事。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 歷來不看那些代碼;

c) 那些代碼沒有bug。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 用戶太蠢,不值得聽反饋;

c) 想作可是沒有機會。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 沒據說過;

b) 沒必要這麼麻煩;

c) 若是有明確要求,我能夠作好。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 簽入代碼,就是作完了;

c) 。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 覆蓋20% 就行了;

c) 要覆蓋至少60%。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 每一個bug都是特殊的;

c) 測試用例不值得加

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 若是有問題,用戶會報告的,咱們不用測這些;

c) 若是有明確要求,我能夠作好。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 咱們決定用戶的指望;

c) 若是有明確要求,我能夠作好。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 用戶不說的,咱們不作;

c) 若是有明確要求,我能夠作好。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 都記在我腦子裏;

c) 你們看代碼就好

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 歷來沒據說過;

b) 咱們沒有休假的,不要緊;

c) 出了問題再說

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 都聽領導的;

b) 團隊嚴肅緊張最好;

c) 沒必要嘗試,失敗的可能性太大。

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

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

a) 沒有時間總結,直接作下一版;

b) 總結用處不大;

c) 若是上級有要求,就作一下;

d) 一直主動這樣作

e) 不但主動作, 還會影響同事一塊兒作好

38.(d)(帶領團隊)團隊中每每會有矛盾產生,做爲領頭人,怎麼辦?

a) 我沒看見矛盾。

b) 和稀泥,過得去就行 ;

c) 若是沒有捅到上級那裏,就打哈哈,但願他們本身搞定;

d) 有明確和一致的處理矛盾的原則

e) 不但有明確和一致的處理原則,並且對於影響團隊士氣的任何事情追究到底

2、回答問題

ps:當時就整本書找出三個問題,以下:

【問題一】 書中第四章4.4.2 代碼複審的步驟 部分,第五個步驟說道:

複審者有權提出不少看似吹毛求疵的問題,複審者沒必要親自調查每一件事,開發者有義務給出詳盡的回答 · · · · · ·
要記住複審者是經過這些問題來確保軟件質量的,而不是有意找碴兒。

對於這句話,不知是本身理解能力欠佳仍是語義有歧義。複審者能夠提出吹毛求疵的問題,又不用親自調查每一件事,不要找茬。那複審者是要仔仔細細閱讀開發者的代碼,提出很是細節的各類問題,仍是觀其大略瞭解通透,明白開發者大體的意思便可,並就不懂的地方提問?

回答:複審在軟件開發中很是重要的一個環節,就像測試同樣。伊始我認爲軟件開發中寫代碼開發纔是最重要的,但其實測試在某些時候比寫代碼還要重要。因此,私覺得複審者複審時應該先自行讀懂開發者的代碼,就不懂的問題及時提問與改進,但問題不太過刁鑽(好比那些根本不會發生的問題),開發者和複審者雙方都抱着使軟件更完善健壯的態度完成本身的本職工做。

【問題二】 書中第十六章 迷思之二 你們都喜歡創新 部分。
做者舉出了許多例子來論證創新並不是人人皆愛,可是我注意到這些例子距離當今已經有很長時間了,這就出現了一個時間的問題。在當今社會,生活中的方方面面都在飛速發展,發展迅猛以致於人類生活各方面的需求都已經被解決了。這不比從前,從前的創新都是飛躍性的,極大提升效率因此致使各類利益的衝突。在溫飽已經有保證的狀況下,我認爲現代社會的創新我認爲更加趨向提高人民的幸福感,譬如各樣的按摩椅,代步滑輪車等等,這樣的創新發明你們都是很喜好的不是嗎?因此我反對做者的觀點,我認爲應該說的表達更完整些,譬如:過去的時代創新會引發一些利益衝突,因此並不是人人都愛,可是當今提高人民生活幸福感的創新是人人都喜歡的。
回答:如今回看以前的問題感受又有些片面了,hh,此次我支持在做者的觀點(pia pia pia打臉...)譬如,各類遊戲的創新開發,魚龍混雜,其中難免摻雜一些不健康的內容,這樣子的創新就是不受人喜好的。創新是進步的不竭動力,但也應該加大對創新的監管力度,創新不是一拍腦殼既成的事,而是須要考慮方方面面,不能創造一些有所他人身心健康的東西出來。

【問題三】 書中第十六章 迷思之四 創新者都是身先士卒 部分。
做者用不少實例論證了第一個提出想法的人並非真正能將想法發揚光大的人。對此,我提出個人問題:在從此的學習工做生活中,若靈光一閃,有了一些自認爲極妙的未被開發的想法時,到底應不該該付諸實踐呢?仍是應該等待他人與你有同一想法並實踐後本身像那些後來崛起的公司同樣不斷「線性擴展」,後來追上呢?那若是等待他人提出想法後是否會喪失先機及時間優點,並所以喪失一些重要資源呢?或者換一個提問方式:當你有一個自認爲很棒的想法時,怎樣作纔是最佳的辦法?
回答:私覺得,當有一個自認爲很棒的想法時,能夠先普遍蒐集資料,看看是否有與本身相似的想法相關的一些東西,或者請教本身值得信賴的好友專家等,吸收他人的意見,若是已經通過多方考量,我認爲能夠抓住機會just do it,作不作得出來是一回事,起碼在過程當中有所獲就好。

3、再提問題

【問題一】 團隊編程中關於PM的問題。
課堂及書本上,我獲得的關於PM的認知是:PM是作開發與測試以外的全部事情。可是在咱們實際的團隊項目中,在選定PM時,你們都是本着誰的編程能力最強而選擇的,咱們的理由是,學生團隊中選擇舵手時應該選擇那個能力最強的同窗(但不必定是領導能力最強的),這樣的話你們在實際開發中碰見什麼編程問題均可以聯繫PM尋求解決辦法。請問這樣的選擇是正確的嗎?由於我感受在咱們的團隊項目中,PM彷佛並非起組織領導,統籌全局的做用,而是成爲了編碼最多最辛苦的那我的,致使你們都不情願當PM。那若是從新選擇PM的話,是應該選擇編程方面最厲害的人仍是應該選擇領導能力比較強的人呢?(若是領導能力強可是編碼能力弱的能夠當PM嗎?)

【問題二】 關於需求調查的問題。
需求調查中,詢問用戶關於本身將要開發的項目的想法時,若你調查了100個用戶,其中20多個用戶對你開發的項目持懷疑或者否認態度時(以爲沒有用沒有必要啊什麼之類的),那項目還要繼續進行嗎,是否應該調整項目方向?仍是應該加大需求調查範圍,徵求更多人的想法?

【問題三】 團隊編程中關於項目燃盡圖的問題。
燃盡圖在咱們本次項目中是有點棘手的事情。一開始咱們團隊的任務卡沒有設置完善,致使後續幾天衝刺的時候咱們再進行添加任務卡等操做,致使燃盡圖變得很奇怪,請問這樣的燃盡圖還有意義嗎?還能正確反映團隊項目的進度嗎?關於燃盡圖,是必須一開始就將任務卡設置完善嗎,若衝刺當中遇到須要增長任務卡的狀況該怎麼處理?

【問題四】 關於本課程博客撰寫問題。
這種新的教學方式是好的,比傳統教學能學到更多東西,可是真的佔用不少時間,是否博客量有點過多了呢?(不必定全部人的方向都是軟件開發這方面,甚至有一些同窗根本不打算走計算機這條路,要考研要考公的大有人在,是否能縮減一點任務量將一些博客時間出來給同窗學習一些他們更想學的技術知識呢)

【問題五】 關於提問題的數量。
爲何必定要五個問題呢...真的沒什麼問題的怎麼辦?

【附加題】: https://book.douban.com/annotation/56693463/

相關文章
相關標籤/搜索