對學生朋友的一點建議
發表者:Google(谷歌)中國工程研究院 工程師 方坤
自去年春天加入谷歌,我曾多次隨公司校園招聘團隊一起走訪各地院校,幫助公司發掘人才
。利用這樣的出差機會到處走走看看,飽覽祖國大好河山,是我一點小小的私心。但更具挑
戰性、更激動人心的,還是和我未來的同事們過招,不打不相識嘛。一想到馬上就要和這樣
優秀的人才一起
工作,我就興奮不已,真恨不得現在就買一張單程機票把他/她拽回北京。
然而,在面試過程中,我也相當惋惜地看到,由于種種主客觀原因的限制,很多青春韶華的
學子未能充分發揮出他們應有的潛力。這里我不講成績,只把我遇到過的一些普遍的問題歸
納一下,希望對即將踏入社會的學生朋友們能有些許幫助。
實戰!實戰!
紙上得來終覺淺,絕知此事要躬行。對于一個未來的軟件工程師來說,實際編程經驗是相當
重要的。我們會要求應聘者在緊湊的時間內編寫大量的代碼,從中考察應聘者的分析能力,
編碼速度,代碼可讀性,對所用編程語言的掌握程度,對邊界條件與異常狀況的處理,數據
結構與函數接口
的定義,程序運行的效率和應聘者查錯糾錯的能力等等。一口氣列出這么多要求,聽上去似
乎過于苛刻,其實只要積累了足夠的實戰經驗,每一個應聘者都完全可以滿足這些最低限度
的要求。
我記得開復對于青年學子們有一個建議,大學四年,至少要編寫 10 萬行代碼。不是每一個
人都期望進入谷歌這樣的頂級技術公司,但即使對開復的建議打個三折,也還有 3
萬行呢,不努力,能行嘛。前來應聘的學生們在編寫代碼時暴露出這樣那樣的問題,大都可
以歸結到同一個原因:鍛煉太少。比如"for (int i = 0; i < strlen(s);
++i)",沒有實戰經驗的人,怎么可能意識到暗藏其間的效率陷阱。再比如內存泄漏,就和
初戀一樣,沒有親身經歷過的人,不會有刻骨銘心的感受,而一旦經歷,終身難忘,根本用
不著你有多聰明。遺憾的是,我看到許多相當聰穎的學生寫出來的代碼只能用慘不忍睹來形
容,真讓我懷疑
這是不是就是他們的第一次。大家不要怪谷歌要求高,恕我直言,如果不能持之以恒,下點
兒苦功夫,不光谷歌一家,其它公司恐怕也是進不去的。
北京、上海等地的學生,往往有更多實習、兼職機會,接受鍛煉之余,還能攢下一筆小錢作
零用之資。其它一些地區的學生也許就沒有這么幸運,這就尤其需要積極主動,尋找機會,
創造機會,把握機會。世界正在變平,互聯網的發展改變著地球的面貌,讓不發達地區的學
生也能相對容易
地接觸到發達地區的資源。前不久我在西安遇到一個學生,他半年來一直堅持在北京大學的
ACM 網站上參賽、做題,我看他寫出來的程序就確實比他大多數同學都要好一些。我相信
,只要他能夠持之以恒,還會取得更大的進步。我聽說浙江大學的 ACM 網站、TopCoder
網站也都是不錯的教育資源,感興趣的同學不妨一看;雖說做競賽題距離真正的軟件開發還
有著顯著差別,但也不失為一個不錯的出發點。
在積累一定編碼量的基礎上,我建議大家總結經驗教訓,不斷提高自我。如果幾萬行代碼寫
下來,學 C++ 的不知道 const 怎么用,學 python 的沒聽說過 GIL,我看也沒什么意思。
到了這個階段,我推薦大家讀一些經典的進階書籍,例如《Effective C++》、《
Effective
Java》等,即使地處偏遠地區,也可通過網上書店買到。(我建議編碼量太少的同學就先不
要讀了,會走火入魔的。我見過有學生連引用和指針都沒搞清楚,就在那里重載操作符的。
)交流也很重要,如果能夠與網上網下志同道合的朋友互相幫助,共同進步,當收事半功倍
之效。在這一方
面,各校的 Google Camp 也許能夠起到一定作用。
"我會寫代碼呀,為什么谷歌不要我?"
一家外包公司或許會滿足于雇傭僅能從事簡單的、機械性的重復勞動的軟件藍領,而讓谷歌
苦苦尋覓的,乃是最優秀的軟件工程師兼計算機科學家——是的,在谷歌,研究與開發融為
一體,軟件工程師與計算機科學家當然也合二為一。計算機這幾年算是比較熱的,能夠得償
所愿擠進計算機
科學相關專業的學生都是全中國頂尖的人才,如果大學四年荒蕪學業,未能取到真經,浪費
了這一來之不易的學習機會,是不是太可惜了呢。
遍歷一個數組或鏈表的時間復雜度是多少?對于這樣一個不是問題的問題,竟然各地都有相
當數量的學生回答說是 O(logN)!有一次我實在忍不住了,提示應聘的學生說:"你是如何
理解'遍歷'一詞的涵義呢?"他立刻做恍然大悟狀,回答說:"哦,對,應該是
O(NlogN)"。我當時失望得一句話都說不出來。類似的例子還有很多。坊間一直傳說谷歌的
面試題有多難,其實大多數學生都卡在最基礎的問題上。少數人費盡氣力要收集谷歌曾經用
過的面試題,其實我們大多數題目都來自或改編自經典計算機科學教材的習題。
順便提一句,上面提到的那個答錯的學生乃是一流大學中成績名列前茅的優秀生,門門功課
(包括所有計算機專業課)均在 90 分以上。反差何其大也!
誠信為本
我曾服務于多家公司,注意到不同的公司之間,乃至同一公司內不同的面試官之間,對應聘
者的要求都會有所差別,或看重潛質,或偏好經驗,或強調態度。但有一點大家是共同的:
如果應聘者在誠信上有疑問,誰也不敢要。
總體而言,現在的學生其誠信還是相當不錯的,大大超出了我們的期望。然而,不和諧音也
還是有的。我們曾在某著名高校進行筆試,就發現有學生嚴重作弊,他們毀掉自己的機會不
說,整個學校的名聲也受到拖累。面試中偶爾也能遇到誠信堪憂的學生。有一次我出了一道
題,前來應聘的
學生明明以前見過這道題,卻告訴我說沒見過,自以為得計,可他那一縱即逝的狡黠一笑哪
里逃得過我洞若觀火的銳利眼神。大哥,你又不是專業演員,為什么要玩這樣的花招?我每
年面試的求職者在百人以上,搗鬼是過不了我這一關的。兩點之間直線最短,說真話最簡單
。
做最好的自己
不是每一個人都會加入某一家具體的公司,但每一個人都可以成功,成為最好的自己。我這
里所談,既不系統亦欠簡練,但確實是我在幾次校園招聘之旅中發現的一些具有共性的問題
,故不避好為人師之譏,羅列于此。我當然知道,本文的首要目標讀者——大一新生是不聽
勸的,他們更愿
意把所有的錯誤親自重犯一遍。話雖如此,只要能夠對一個學生有所啟迪,我的時間就不算
白費。
轉載請注明出自應屆生求職招聘論壇 http://bbs.yingjiesheng.com/,本貼地址:http://bbs.yingjiesheng.com/thread-13898-1-1.html