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