別吐槽了!面試要求手寫代碼?你與頂級程序員的差別就在這

面試 程序員 職場 W3Cschool 2018-11-27

面試時,被要求手寫代碼,自信心爆棚的你,忽然有了提筆忘記的感覺,在一張紙上反覆塗塗畫畫,勉強寫出了一個功能,結果漏洞百出,面試過程相當不順利,丟下筆,對接下來的面試敷衍了事,結束後,繼而向周邊的朋友大吐苦水:都什麼年代了,還要求手寫代碼?這公司真落後。

然而,這就是你與大神級別程序員,最根本的差距。難道頂級程序員們,手寫代碼都特別厲害?隨便一動筆就是行雲流水,一瀉千里?當然不!也許,他們根本沒手寫過代碼。

別吐槽了!面試要求手寫代碼?你與頂級程序員的差別就在這

當你在傾聽遠古時代(七八十年代)程序員們的故事時,一定會有這麼一則趣事:當年電腦還沒有普及,如果想編程,行得通的就是跑網吧去,可上網費貴啊,只能買個筆記本,提起水筆,把代碼寫好,然後在到網吧裡去輸、去調試、運行,這樣可以節省很多上機的費用。

一位大一學生堅信,手寫代碼可以幫助自己,更好的學習編程,於是踏上了這條不歸路。起初,手寫代碼確實幫打下了堅實的基礎,然而很快,他就被一個程序,十幾頁的代碼調試給搞瘋了,並開始四處求助,最終這名學生,放棄了手寫代碼的學習方式。

在物資匱乏的年代,手寫代碼幾乎成了程序員們的必備技能,可那時,更多的是迫於無奈。手寫代碼,不失為初學者的一個好方法,可當你深入學習時,再想手寫,一定會造成很大的麻煩。

別吐槽了!面試要求手寫代碼?你與頂級程序員的差別就在這

縱觀如今的互聯網巨頭們,似乎面試涉及手寫代碼的也是寥寥無幾,google、BAT都是如此。當然,有時候還是逃脫不了手寫代碼的命運。

一名參加了騰訊面試的程序員,就遭遇的手寫代碼。三面是視頻面試,面試官出了一道算法題:打印三角螺旋數組,限時20分鐘。

那麼,為什麼有些公司,還是願意考手寫代碼呢?

別吐槽了!面試要求手寫代碼?你與頂級程序員的差別就在這

不論機寫還是手寫,只要是寫代碼,都能看出一個人的代碼水平和習慣。

變量名,傳參數是不是很隨意?隨意取名是維護的噩夢;

接口、函數設計能力;

思路是否清晰,代碼結構是否層次分明?

代碼可讀性;可維護性如何?

細節處理是否到位?

與面試官溝通的次數;

這些問題在機寫時,很容易被掩蓋,比如思路是否清晰,在電腦上,很輕易的就會被抹去,而手寫不一樣,如果你是一個思路不清晰,不嚴謹的人,那麼就會在紙上,留下各種疤痕。

其實,每家公司讓面試者手寫代碼,目的都略有不同,有些是想考察面試者寫代碼的習慣、有些是考察邏輯思維,有些是起到驗證的目的,有些呢則是考察面試者的嚴謹性。

別吐槽了!面試要求手寫代碼?你與頂級程序員的差別就在這

通常面試時,都會出現這麼一個場景:

“你覺得這個代碼的複雜度是多少?”

“好像是%#%¥&”

“為什麼呢?”

“因為我產生了很多臨時字符串”

“那你覺得還有優化的空間嗎?”

“如果這般如此如此,再如此如此,應該可以幹掉臨時字符”

“好吧,那你把你的想法寫出來看看。”

“……”

面對手寫代碼,頂級程序員或者未來的頂級程序員,和普通程序員的差別在於,普通程序員面試完,一直沉浸在無限的抱怨和譴責這家公司中,而頂級程序員,則已經開始行動了。

相關推薦

推薦中...