程序員面試時手寫代碼,竟有如此深意
來源:
奇酷教育 發(fā)表于:
在面試這一重要環(huán)節(jié)里,有時個別公司會提出要求手寫代碼這一看似奇葩的要求,其實手寫代碼是一個很重要面試過程,今天奇酷教育就為大家
在面試這一重要環(huán)節(jié)里,有時個別公司會提出要求手寫代碼這一看似“奇葩”的要求,其實手寫代碼是一個很重要面試過程,今天奇酷教育就為大家具體分析一下。
在寫的過程中,至少能看出這些問題:
1.取名字,隨意的取名是維護的噩夢。
2.是解決具體問題,還是能解決一類問題,別的同事如何使用你的代碼。
3.思路是否清晰,代碼結(jié)構(gòu)是否層次分明。提筆之前,想清楚自己要干什么。
4.代碼可讀性,可維護性。
5.邊界問題,細節(jié)處理是否合理。直接關(guān)系到這個人的bug率。
6.打算如何測試自己的代碼。對代碼的責任心。
7.寫代碼過程中和面試官的溝通次數(shù)。這個人的溝通能力和溝通欲望。
再來對比一下機寫和手寫的不同:
機寫的好處:
1.語法高亮,自動排版,文字字體一致
2.自動補全,頭文件自動包含
3.代碼可隨意刪改重寫
4.可以通過編譯來查錯
手寫代碼可能暴露出的問題:
1.沒有自動排版。
2.字寫得丑。
3.頭文件包含問題
4.手寫的代碼不可隨意刪改,每劃掉一塊,紙面上都是一個“疤痕”,有代碼潔癖的人是無法忍受滿紙疤痕的,這要求寫代碼的思路清晰。“疤痕”的數(shù)量直接能看出問題。
5.手寫無法編譯查錯。某些手誤還可容忍,語法錯誤和邏輯錯誤就是大問題了。
如果平時英語不過關(guān),靠編輯器的自動補全,那么手寫代碼肯定立即陣亡
google之前也放出了官方的面試視頻,也有現(xiàn)在考寫代碼的過程,但別人怎么考,并不是用的紙筆,而是請面試者打開一個協(xié)同工作的窗口,兩個人開同一個頁面,你改了什么,對方那邊是實時反應的,這意味著你的面試官可以在另一端看到你怎么樣完成了這段代碼,你先寫了哪個變量,后寫了哪個方法,中途覺得哪里不對經(jīng),做了怎樣的刪除,做了怎樣的修改……從開始到最終完成,面試官一清二楚,這才是面試過程中手寫代碼的意義所在。