上個月,在負(fù)責(zé)技術(shù)晉升評審的過程中,有人認(rèn)為在評審過程中以述職講述為主,可能對某些比較擅長寫代碼而不擅于演講的同學(xué)不公平。而對于中級別的程序員技術(shù)晉升我們更傾向于篩選出擅長編程,而非僅僅是說得好的同學(xué)。

這個過程里面,存在四種情形:

  1. 代碼寫得好,也說得好

  2. 代碼寫得好,但說不出

  3. 代碼寫得不太行,但說得很好

  4. 兩者都不行

晉升篩選的目標(biāo)是選出 1 和 2 兩種,篩掉 3 和 4。這里面的挑戰(zhàn)在于,在采用述職答辯這種形式下,1 和 3 這兩種很難分辨,同時 2 和 4 也很難分辨。關(guān)鍵就在于如何識別并判斷代碼寫得好還是不好的問題,區(qū)分度的標(biāo)尺怎么定的問題。這個判斷問題在面試程序員時也存在,要不就先從「代碼面試」說起吧。

1

在我過去十年多一些的從業(yè)經(jīng)歷中,倒是面試過很多次,其中不乏面試寫代碼的。

剛畢業(yè)那年第一次去面試,聊了沒幾句面試官就給了一張白紙和鉛筆,要求在紙上用 C 語言寫一個快速排序算法的實(shí)現(xiàn)。這次經(jīng)歷我記憶猶新,差不多半小時,我磕磕碰碰的寫了一個實(shí)現(xiàn)。在和面試官討論時,被指出了不少沒考慮到的情形和漏洞,后來的結(jié)果自然是沒能通過。

現(xiàn)在回想起來,在紙上編程真是一件很難受的事情。雖然五十年代的程序員基本都在紙上編程,那是因?yàn)槟菚r計(jì)算機(jī)的運(yùn)行成本很高。但面試時的紙上編程,一方面時間很有限,另一方面環(huán)境和氛圍比真正的編程要緊張不少。所以,我是不支持紙上編程這種形式的,它既不能讓候選人很好的發(fā)揮,另外一方面也可能沒有足夠的區(qū)分度。比如,像上面那樣寫一個著名的算法實(shí)現(xiàn),背過和沒背過差別可以很大,但對真正的編程能力卻不足以區(qū)分。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式