刷題刷得好,公司任你挑?談矽谷軟體公司徵才的考古題現象/Mr. Friday

編按:本文原以英文寫成,由本站譯為中文。

如果你想在矽谷找到優秀的軟體工程師,那你就得面對這個現實:99%的招募過程,幾乎不可避免會與Leetcode[footnote]譯註:LeetCode是一家專門提供各種程式與演算法考古題庫的網站。[/footnote]考古題網站打交道。

以我所知而言,除了極少數的例外,我認識的軟體開發者在找工作、開始面試之前,都會花上至少一個月時間來鑽研考古題。

想當軟體工程師,也得考前大猜題

投身軟體開發的這些年來,我一直很討厭這種程式寫作測試的方式,也不願意這麼做;但到最後,我還是不得不依賴考古題庫。

平心而論,考古題本身沒有任何問題;我覺得有問題的是,有太多軟體公司過於重視用考古題篩選應徵者。這讓我不得不從各方面反思一個問題:矽谷這些大公司,到底想要招募什麼樣的員工?

以考古題篩選出來的應徵者,真的是矽谷科技公司想找的理想員工嗎?

不妨想一下,這些演算法的試題,想要考出哪些東西?會是什麼樣的應徵者能夠通過考試?這樣找到的人才,和科技公司真正想招募的理想員工,到底會有多大的差距?我個人的答案是:透過這樣的考試找進來的員工,不但擅於背誦記憶、聰明才智足以掌握各類困難的演算法,也能禁得起長時間的練習。

說來有趣,我就是這樣長大的;因為這正是東亞各國教育體系每天訓練學生的方式。

台灣和美國的教育,差別真有那麼大?

我在台灣出生長大,29歲才離開。在求學過程中,大人不斷告誡:未來如果想要謀得理想工作,就得用功讀書,繳出優秀的成績單。為了得到好成績,就得長時間記誦課文、不斷練習,直到能夠輕易做好題目、通過一次又一次的考試。

在此同時,大家也說美國的教育理念與台灣完全不同:更加著重開放性的思考、敢於挑戰權威、更注重分工合作。台灣的整個教育體系,目前也正在模倣美國的這套教育理想,所以實驗學校如雨後春筍般出現,也有諸如多元入學方案等變革。

美國軟體公司找軟體人才的方式,和東亞各國訓練學生的做法是相同的。

當我六年前來到美國時,我的確處處感受到文化衝擊。但當我開始應徵工作時,感受到的衝擊更是強烈:我發現要取得這個所謂世上最高薪的工作之一,需要的是長時間的練習,確保你在面試時,能完美無缺的在白板上寫出正確解答。

這不禁讓我反思:台灣和美國的教育方式,到底有什麼差異?這就是我的「考古題」問題,而且至今我沒有好的答案。

考試與實務,完全不同

我真的不喜歡為了面試而花大把時間準備考題,因為我根本就不是這樣工作的。

在實務上,大多數的演算法問題,只要Google一下就能找到解答,而且還有很多開源程式庫可以用。

不過,如果真的要我靠考古題準備考試,我也沒在怕。

因為,我們東亞學生都是這樣被訓練出來的。

(編譯/施典志