面試時(shí),被要求手寫(xiě)代碼,自信心爆棚的你,忽然有了提筆忘記的感覺(jué),在一張紙上反復(fù)涂涂畫(huà)畫(huà),勉強(qiáng)寫(xiě)出了一個(gè)功能,結(jié)果漏洞百出,面試過(guò)程相當(dāng)不順利,丟下筆,對(duì)接下來(lái)的面試敷衍了事,結(jié)束后,繼而向周邊的朋友大吐苦水:都什么年代了,還要求手寫(xiě)代碼?這公司真落后。
然而,這就是你與大神級(jí)別程序員,最根本的差距。難道頂級(jí)程序員們,手寫(xiě)代碼都特別厲害?隨便一動(dòng)筆就是行云流水,一瀉千里?當(dāng)然不!也許,他們根本沒(méi)手寫(xiě)過(guò)代碼。
當(dāng)你在傾聽(tīng)遠(yuǎn)古時(shí)代(七八十年代)程序員們的故事時(shí),一定會(huì)有這么一則趣事:當(dāng)年電腦還沒(méi)有普及,如果想編程,行得通的就是跑網(wǎng)吧去,可上網(wǎng)費(fèi)貴啊,只能買(mǎi)個(gè)筆記本,提起水筆,把代碼寫(xiě)好,然后在到網(wǎng)吧里去輸、去調(diào)試、運(yùn)行,這樣可以節(jié)省很多上機(jī)的費(fèi)用。
一位大一學(xué)生堅(jiān)信,手寫(xiě)代碼可以幫助自己,更好的學(xué)習(xí)編程,于是踏上了這條不歸路。起初,手寫(xiě)代碼確實(shí)幫打下了堅(jiān)實(shí)的基礎(chǔ),然而很快,他就被一個(gè)程序,十幾頁(yè)的代碼調(diào)試給搞瘋了,并開(kāi)始四處求助,最終這名學(xué)生,放棄了手寫(xiě)代碼的學(xué)習(xí)方式。
在物資匱乏的年代,手寫(xiě)代碼幾乎成了程序員們的必備技能,可那時(shí),更多的是迫于無(wú)奈。手寫(xiě)代碼,不失為初學(xué)者的一個(gè)好方法,可當(dāng)你深入學(xué)習(xí)時(shí),再想手寫(xiě),一定會(huì)造成很大的麻煩。
縱觀如今的互聯(lián)網(wǎng)巨頭們,似乎面試涉及手寫(xiě)代碼的也是寥寥無(wú)幾,google、BAT都是如此。當(dāng)然,有時(shí)候還是逃脫不了手寫(xiě)代碼的命運(yùn)。
一名參加了騰訊面試的程序員,就遭遇的手寫(xiě)代碼。三面是視頻面試,面試官出了一道算法題:打印三角螺旋數(shù)組,限時(shí)20分鐘。
那么,為什么有些公司,還是愿意考手寫(xiě)代碼呢?
不論機(jī)寫(xiě)還是手寫(xiě),只要是寫(xiě)代碼,都能看出一個(gè)人的代碼水平和習(xí)慣。
變量名,傳參數(shù)是不是很隨意?隨意取名是維護(hù)的噩夢(mèng);
接口、函數(shù)設(shè)計(jì)能力;
思路是否清晰,代碼結(jié)構(gòu)是否層次分明?
代碼可讀性;可維護(hù)性如何?
細(xì)節(jié)處理是否到位?
與面試官溝通的次數(shù);
這些問(wèn)題在機(jī)寫(xiě)時(shí),很容易被掩蓋,比如思路是否清晰,在電腦上,很輕易的就會(huì)被抹去,而手寫(xiě)不一樣,如果你是一個(gè)思路不清晰,不嚴(yán)謹(jǐn)?shù)娜?,那么就?huì)在紙上,留下各種疤痕。
其實(shí),每家公司讓面試者手寫(xiě)代碼,目的都略有不同,有些是想考察面試者寫(xiě)代碼的習(xí)慣、有些是考察邏輯思維,有些是起到驗(yàn)證的目的,有些呢則是考察面試者的嚴(yán)謹(jǐn)性。
通常面試時(shí),都會(huì)出現(xiàn)這么一個(gè)場(chǎng)景:
“你覺(jué)得這個(gè)代碼的復(fù)雜度是多少?”
“好像是%#%¥&”
“為什么呢?”
“因?yàn)槲耶a(chǎn)生了很多臨時(shí)字符串”
“那你覺(jué)得還有優(yōu)化的空間嗎?”
“如果這般如此如此,再如此如此,應(yīng)該可以干掉臨時(shí)字符”
“好吧,那你把你的想法寫(xiě)出來(lái)看看?!?br>
“……”
面對(duì)手寫(xiě)代碼,頂級(jí)程序員或者未來(lái)的頂級(jí)程序員,和普通程序員的差別在于,普通程序員面試完,一直沉浸在無(wú)限的抱怨和譴責(zé)這家公司中,而頂級(jí)程序員,則已經(jīng)開(kāi)始行動(dòng)了。
原文發(fā)布時(shí)間為:2018-10-11
本文來(lái)自云棲社區(qū)合作伙伴“w3cschool
<https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzIyMTQ4OTM3NQ%3D%3D%26amp%3Bmid%3D2247488847%26amp%3Bidx%3D1%26amp%3Bsn%3D2087e17595ed1c5321bcfa8fe1219c32%26amp%3Bchksm%3De83aa4ffdf4d2de9330e2c3491df2a894ab9a3fffa7a6db49dc372a2c66807e2fcfe010ab95d%26amp%3Bscene%3D0%23rd>
”,了解相關(guān)信息可以關(guān)注“w3cschool
<https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzIyMTQ4OTM3NQ%3D%3D%26amp%3Bmid%3D2247488847%26amp%3Bidx%3D1%26amp%3Bsn%3D2087e17595ed1c5321bcfa8fe1219c32%26amp%3Bchksm%3De83aa4ffdf4d2de9330e2c3491df2a894ab9a3fffa7a6db49dc372a2c66807e2fcfe010ab95d%26amp%3Bscene%3D0%23rd>
”。
熱門(mén)工具 換一換
