希望去谷歌工作,應該怎樣規劃?
現在大三學的信息與計算科學,準備考計算機研究生,非常希望去谷歌工作,但是基礎不是特別好(由於學的都是數學,計算機方面基礎薄弱),想知道要去谷歌工作要哪些要求,大概要怎麼規劃,只求建議
首先說一下,我也希望去谷歌工作,但是目前看希望不大。
本人還有一年即將研究生畢業,就我了解的情況,去谷歌工作,如果是開發方向的話。還是從大二、大三就開始準備吧:1. 學習一門Google常用的語言,如C++, Python, Java等,如果時間和精力充足建議學習C/C++。關鍵是早學習過程中培養良好的習慣——如常作筆記,養成較好的代碼風格等;
2. 參加一些開源項目,可以從找bug開始(http://linuxtoy.org/archives/from-bug-reporter-google-summer-code.html);如果有精力,有想法,可以做自己的開源項目;在這個過程中,你可以熟悉開源社區的交流方式以及git等版本管理工具;3. 找一個比較不錯的實習,我的建議是去大公司:一個是體驗大公司的工作流程,學習比較規範的工程方法,另外也可以給自己的簡歷添加色彩;
4. 幾乎聽所有人都說過,Google比較注重演算法和數據機構,這個不是說不注重工程實踐能力,而是演算法和數據結構對Google來說,就是編程人員的基礎能力要求。可惜很多人都死在這一關;5. 有一個你比較熟悉的知識領域,可以是某門語言,或者某項技術等;這個主要是幫助說明你的學習成長路線;以上幾點,從大二開始的話,天賦不高的人估計要到研究生畢業才能做得好——前提是你沒有半途而廢。
另外,就跟所有的招聘要求一樣,我個人覺得,其中只要有一項,你認為自己是特別出色的,那麼進入Google就是有可能的了。可惜以上幾項我都不太行,而我找工作的時間卻越來越近了。
update:
今天收到HR的反饋,HC在review了前幾輪的反饋以後,最後還是覺得coding不夠硬,給拒了。回顧一下自己一年前寫下的答案,覺得自己執行力還是不夠:1做的不夠,2基本沒有建樹,3勉勉強強,4在收到Google的面試通知以後突擊了一個月剛剛到應屆生的平均水平,5我一直沒有做到。
這次走了四輪onsite,算是更加了解Google的選人標準了:
1. 較好的,或者是優秀的成績——Google最後是要寄成績單的;
2. 過硬的演算法功底——邏輯清晰,知識全面,bug free;3. 優秀的溝通能力,以及優秀的英語口語溝通能力——如果選擇北美職位的話;4. 優秀的RP;隨便補充幾句,算是紀念我這次參加Google校招吧;如果你夢想進入Google,那麼以下建議或許可以幫到你:
1.定個具體目標
你需要縮小你的目標範圍,把目標落實到具體的工作崗位,也就是說,你需要通過對Google的深入了解,知道自己想從事具體哪個方面的工作。
比如,你需要在一開始就給自己定個小目標——「我想從事Google Android網路方面工作」,而不是很籠統的「我想進入Google」。
2.確定所需技能
如果你想從事分散式基礎架構的工作,你可能需要掌握C/C++和分布溝通式系統。
如果你想從事移動視頻會議軟體開發,你可能需要掌握Android,Java和WebRTC。
如果Google有這些方面的開源代碼,你可以試著去讀代碼,那樣能更好的去了解這些。
3.選擇 Google 招聘率高的大學
如果你還沒有進入大學,你需要在申請的時候做足功課,選擇那些Google招聘率高的大學,攻讀CS或者相關專業。通常,通過校招更容易獲得實習機會或者全職工作機會。
當然,如果你已經即將畢業,或已經畢業,你也不用糾結於名校情結。好好準備下面的內容,放心大膽地區面試。
4.不斷積累代碼量
你不需要去讀形形色色的書或者上各種各樣的視頻課程,你真正需要做的,是不斷地編碼以積累代碼量。
你需要把編碼當成一種樂趣。你可以做一些 Android app,big data 數據分析、機器學習項目等等,把花費的每一分鐘都當成是在實現快樂和提升經驗。學習了解你所使用的語言的標準庫和擴展庫/包,並且更深入的了解這門語言,使得你能寫出更好的代碼。
5.了解演算法基礎
對於剛畢業的人來說,演算法的面試常常佔據超過60%的比例。
一般來說,建議通過分門別類地刷題,來學習和鞏固演算法基礎。通過刷 lintcode,你可以在實戰做題中,學習數據結構和演算法,比如排序、哈希、隊列、數據是如何組織的等等。
如果你不知道從哪裡開始刷題,推薦做這個練習:北美大公司面試精選題庫
6.演練面試過程
最簡單的方法,是去參加與Google面試流程相似的公司的面試。另外,你也可以在Google輸入關鍵詞「Google 面經」 搜索Google的面試題,試著自己解決這些問題。
在解決問題的時候,你需要習慣自言自語,將自己的想法表達出來。你可以列一張問題表格,然後找一個朋友模擬面試,你需要在白板或者文本編輯器上解決問題,同時需要闡述你在做什麼以及為什麼要這麼做。
更多專業的 Google面試指導,可以在這裡查看:矽谷IT企業工程師面試指導
7.參加公司實習
如果可以的話,可以參加一下Google或者其他IT巨頭的實習。實習是你學習如何將知識運用到工作中的地方。
好的實習,也可能成為進入Google等一流公司的敲門磚。此外,如果你實習表現很好,那麼就很有可能獲得轉正的機會。
當然,你也不要在Google這一棵樹上弔死,在申請Google職位的同時,也需要申請其他公司,那樣可以獲得更多的工作機會,獲得更好的offer。
歡迎關注我的微信公眾號:九章演算法(ninechapter ),帶你了解IT前沿技術,幫你通過面試,拿到offer,找到好工作!
ACM/ICPC。目前過了hc在等review。
如果是在美國,非常非常簡單
申請個水Master,CMU矽谷什麼的
然後刷leetcode
搞定不管總么講,能夠參加google面試都是值得的。對於一個人做事情來講要有一定的內在和外在驅動力。如果做IT技術的話,能夠有機會面試google對自身的技術成長提高和目標的確定都有莫大的幫助。當時面試失敗可能會覺得失望。但持續性的正面效應是巨大的。技術上提高有了明確的路線,自信心的建立,勇於改變自我並具有相應的能力
先到牆外面再說
推薦閱讀:
※報班學模型貼圖入行再轉原畫,可行嗎?
※如何用一兩句話向一個外行人解釋公關這個行業?
※目前鄉鎮的選調生,考了市裡的交通運輸管理處(事業編),應該去嗎?
※作為一個同性戀,在教師這條路上應該怎樣前行?
※如何看待東風標緻 / 東風雪鐵龍要求員工 5 天內決定搬遷武漢或上海工作?