經過3個月的筆試,面試,再筆試,再面試,終於把工作的事情基本搞定了。這一段時間可謂是真刀真槍,緊張激烈,好在結果還算讓人滿意。之所以要寫這個面經,主要是想介紹一些找工作的經驗,特別是對於一個來自於非985學校的畢業生,如何找到自己的定位,准備面試。希望我的經歷可以對后來人有所幫助,也歡迎大家多多跟我交流,有什么問題都可以隨時留言,我必知無不言,言無不盡。
先說說我的戰績,只陳述事實,絕無他意:(按時間順序)
得到offer的公司:百度商務搜索部,人人網搜索部,搜狗網頁搜索部,阿里巴巴集團杭州總部算法研發工程師,安管家公司(騰訊投資的一個創業工資),盤古搜索,Garena公司(Singapore)
面試沒有通過的:Facebook US, amazon US,Hulu, Google中國, NEO Singapore
由於一直想繼續從事技術相關的職位,因此我投的公司並不多,而且針對性很強,都是互聯網或做算法研發的公司,並沒有投同樣非常搶手的國企和銀行。其實我一直是想去美國工作的,但是由於沒有任何留學經驗,英語口語和聽力也不過應,因此在面試Facebook,amazon這樣的公司時,感覺英語交流壓力很大,加上技術上還有很大欠缺,因此與這些世界級公司擦肩而過,非常遺憾。所以在這里先呼吁所有學習CS的學生,一定要重視口語和聽力,尤其是想去國外發展,去硅谷感受科技力量的同學,一定不要只停留在讀論文寫論文上面,那樣在面試的時候會非常被動。
對於Google中國的失敗,我也非常惋惜,不過更多的感到自己技術上的差距,對於面試官問出的問題,我往往可以輕松回答前面的幾問,但是google的面試官都很喜歡精益求精,刨根問底,來不得半點馬虎。因此我總是在最后的一問被問的無言以對,最終收到拒信。
對於通過offer的公司,我感到非常高興,當然也覺得自己很幸運,很多和我實力相當的同學,都因為一些小的細節與最終的offer擦肩而過。因此可以說,面試還是需要一定人品的:)
在這里,我不想簡單的羅列面經,那些面經雖然精彩,但多少就有個性化,不是每個人都會遇到同樣的問題和處境,對讀者的幫助有限。我想說的是,如何學習技術,准備面試。
我認為,面試主要考察的就是應聘這的素質,這種素質分為以下幾大類:技術能力,語言能力,個人素質。我主要想說的是前兩個。
對於技術,要想短期提高是不可能的。如果想指望在面試前突擊,看上幾套筆試面試題,就能通過頂尖公司的面試,就大錯特錯了。這些面試往往很靈活,即使遇到之前看過的題目,如果只憑借之前准備的答案去回答,也是遠遠不夠的。面試官往往會從很多方面(算法復雜度,接口設計,性能,可讀性,可維護性)對你寫的代碼進行考問,因此需要面試者對問題的理解非常透徹,光憑死記硬背也必然是要吃虧的。
對於具體的內容,我想說的只有四個字——數據結構。這是最基本的計算機基礎課程,也是所有CS專業的同學都肯定上過的課。但是很少有同學可以做到融會貫通,靈活運用。我想,如果你可以很快的寫出各種主要數據結構的定義和調用代碼,並可以將實際問題抽象出來,並用數據結構和算法予以解決。那么,你一定可以找到你滿意的工作。很多同學喜歡追求一些新的技術和概念,HTML5,並行計算,雲,分布式,iOS等等,但卻恰恰忽視了最本質最核心的東西,那就是數據結構。數據結構是一切計算機程序的核心,任何的語言和框架都離不開數據結構的設計和支持。如果把數據結構學通了,學習其他的新技術對你來說,只是時間問題。
對於技術,如果還有其他要說的,那就是要長練習,多寫代碼。最好多去參加topcoder,或者acm的比賽,練習自己的思維敏捷度。畢竟有些公司的筆試和面試是很追求速度的,如果沒有經過長期的練習和訓練,往往很難適應。
語言方面,我只能說要多多練習英語,特別是聽力和口語。這一點,我自己也做的不夠,很難給出行之有效的建議。
最后,希望大家能有所收獲,找到自己心儀的工作。