為什么我們不用智力題來面試程序員
編注:這篇短文是 37signals 的 David 所寫。
英文原文:Why we don't hire programmers based on puzzles, API quizzes, math riddles, or other parlor tricks
相關文章:Why 37signals refuses to use interview 'parlor tricks' when hiring programmers
我記得,我第一次面試的是一個前端開發崗位,面試官要我在白板上用 JavaScript 來寫些東西,雖已經想不起當時的細節,但我清晰記得,那次讓我自我感覺非常愚笨,那個在實際工作中有多大用武之地呢?
自此之后,我幾乎沒聽過有關程序員招聘時所用花招的好話,但卻聽到了大量的不屑之語。當然了,有不少玩智力題的人喜歡在這種類型的面試中展現想象力,但我絕不是其中一員,我遇到過的大部分程序員也不屬于此類。
我見過優秀的程序員在回答謎題時一敗涂地,而糟糕的程序員卻是表現不凡。所以,除非你要招聘一些程序員來為你設計下一代的搜索算法,否則叫他們在白板解謎對成功招聘沒什么幫助。
我發現成功招聘程序員的唯一可靠方法就是查看他們現有的代碼,討論更大層面的問題,如果這些都過關,那就給他們一個試用機會。
雖然文章很短,但英文原文后面有 100 多個評論,觀點非常多,建議移步查看。
摘編 Ja 的評論:
我完全同意!我最近去微軟、亞馬遜和 Activision 面試,這三家公司都有不現實的智力題類型的問題。我一直在做編程工作,我完全有能力勝任我應聘的崗位,然而這些智力題和腦筋急轉彎擋住了我的去路。這些公司讓軟件工程師絕望了!他們要做的事就是看看我的簡歷,測試一些相關材料,然后他們會看到我能勝任。但是他們要我電話中實現一些修改過的堆排序算法。在現實世界中,我會在 5 分鐘之內就 Google 一下。
摘編 john Hinnegan 的評論:
這要看是什么“智力題”。以我經驗來看,他們是在用基本的 CS(計算機科學)概念(諸如排序)設為問題。這用來測試你是否真正理解基本概念,是否能應用它,恕我直言,這是評測應聘者的一種非常好的方法。
另外,如果和不會排序一組數字的工程師一起工作,我會感到羞愧。
后話
網絡上有不少知名 IT 公司的面試題,其中很多是屬于智力題和腦筋急轉彎類型(比如:How many golf balls can fit in a school bus? 一輛學校班車里面能裝多少個高爾夫球?),但很可惜,很多這樣面試題都是杜撰出來的。比如:Business Insider 網站杜撰的《15個瘋狂的 Google 面試題》。Google 前招聘委員會成員 Gayle Laakmann 就撰文否認 Google 有類似的面試題,詳情請參閱《破除有關 Google 面試的謠言》一文。