大家好,有很多人問我如何獲得谷歌的軟件工程師工作,在本文中我將分享我是怎么做的。
用相同的方法,你也可以在谷歌、亞馬遜、微軟、Facebook等頂尖科技公司獲得軟件工程師的工作。
在以上公司順利求職共需要6個步驟,此外我還將討論以下內(nèi)容:
· 首先該如何學習編程
· 學會編程后要學什么
· 如何獲得第一份編程工作或?qū)嵙暀C會
· 軟件工程師工作求職的最佳方式
· 如何充分準備編程面試
· 是否要獲得計算機科學學位?
· 是否要畢業(yè)于頂尖大學?
好的,我們開始吧!
第1步:學習編程
這是成為軟件工程師所需的最低要求。
為此,我建議你使用Codecademy和freeCodeCamp等交互式網(wǎng)站。在這些網(wǎng)站上你可以學習大多數(shù)編程基礎知識,SoloLearn也是不錯的選擇。
之后,我會使用視頻教程來學習更深入的知識。我推薦YouTube,Pluralsight,Lynda.com和Udemy等網(wǎng)站。在這些網(wǎng)站上,你能夠找到以下主題的教程:
· Web開發(fā)
· 移動開發(fā)
· 游戲開發(fā)
取決于你的興趣。
但是等一下,我應該先學習哪種編程語言呢?
我的簡短回答是,選擇JavaScript或Python,但這實際上取決于你的興趣。我在之前的文章中有探討過這個問題。
第2步:做些個人項目
在學習了一些編程教程之后,你應該通過構(gòu)建一些個人項目來練習學到的知識。
為此,你應該找到你感興趣的東西。
例如,如果你喜歡攝影,那么你可以開發(fā)一個網(wǎng)站整理你所拍的照片。如果你對股票感興趣,那么可以構(gòu)建一個系統(tǒng)來分析股票圖表。如果你喜歡解決問題,那么可以嘗試參加編程比賽。
當處理項目時,首先要盡可能靠自己完成。然后,如果遇到困難,可以使用在線或離線資源獲取其他人的幫助。例如,如果遇到與編程相關(guān)的問題,你可以在Stack Overflow對特定技術(shù)問題進行提問。
第3步:獲得第一個編程工作或?qū)嵙?/p>
一旦完成了一些個人項目,你就有機會獲得第一份編程工作或?qū)嵙暀C會。這樣在與頂級科技公司面談之前,你將有一些編程的經(jīng)驗。
你完全有可能在一家頂級科技公司獲得第一份工作,但是這種幾率比較小,你獲得的第一份工作更可能是在一家不那么知名的公司。
申請軟件工程師工作的最佳方式
除了在網(wǎng)上投簡歷,你還有其他的方法可以嘗試。
這里我建議你使用LinkedIn和人脈網(wǎng)絡。
在LinkedIn上,首先找到你感興趣的公司的招聘人員。然后,你可以問他們你是否有資格獲得你感興趣的職位。如果你的資格還不夠,你也應該問他們?nèi)绾文芨玫刈鰷蕚洹?/p>
還有Meetup這種人脈網(wǎng)絡的網(wǎng)站,你可以直接與當?shù)毓镜墓こ處熀驼衅溉藛T進行交流。
這還不是全部。
LinkedIn這種人脈網(wǎng)站對于中小型公司的職位很適用。但是,對于想應聘谷歌和Facebook等大型公司而言,效果就不那么好了。
對于這些大公司,我建議結(jié)合以下三種方法:
1.參加你附近大學舉辦招聘會。
2.通過在其中一家公司工作朋友的推薦。
3.網(wǎng)上投簡歷。
結(jié)合這些方法能夠增加你獲得大型公司面試的機會。
對于大型公司,LinkedIn上大公司招聘人員收到的消息太多了,因此效果不太好。
第4步:學習數(shù)據(jù)結(jié)構(gòu)和算法
谷歌和微軟等頂級科技公司在面試時,經(jīng)常會問到關(guān)于數(shù)據(jù)結(jié)構(gòu)和算法的問題。所以,如果你對這方面不太了解,那么你應該學習。
針對這方面的基礎知識,我推薦我YouTube頻道的數(shù)據(jù)結(jié)構(gòu)和算法系列視頻。
書籍:
《算法設計手冊》 (The Algorithm Design Manual) 作者Skiena
《算法》Algorithms 作者 Robert Sedgewick
第5步:準備編程面試
谷歌和微軟等公司的編程面試很難,但可以有針對性的進行準備。
一旦你對數(shù)據(jù)結(jié)構(gòu)和算法有了深入了解,我就會推薦以下三種資源用于練習:
· Leetcode——練習編程面試問題的互動平臺。
· 《搞定編程面試》(Cracking the Coding Interview)——關(guān)于編程面試的熱門書籍。
· 每日編程問題(Daily Coding Problem) ——每天給你提供一個編程問題的郵件列表。
在自己練習幾周之后,你可以開始進行模擬面試。
怎么做模擬面試
與你的朋友一起練習,從我以上提到的資源中選問題互相提問。
解答每個問題,并對你的解決方案進行解釋。
在練習時,除了面試者還要充當面試官的角色,從而揣摩面試官的想法。
進行約20次模擬面試,之后你對實際面試將有一定把握。
第6步:反復嘗試
使用我以上提到的三種方法應聘頂級科技公司:
· 招聘活動/招聘會
· 朋友推薦
· 網(wǎng)上求職。
如果第一次沒有成功,請不要泄氣。在找到心儀的工作前必然會經(jīng)歷一些失敗。
在我成為谷歌的軟件工程師之前,我曾嘗試了五次。
總結(jié):
第1步:學習編碼
第2步:做些個人項目
第3步:獲得第一個編程工作或?qū)嵙?/p>
第4步:學習數(shù)據(jù)結(jié)構(gòu)和算法
第5步:準備編程面試
第6步:反復嘗試
等等,真的那么簡單嗎?
是的,但是完成這六個步驟需要大量的時間和精力。
其他問題
問題1:我需要獲得計算機科學學位嗎?
不用,但是擁有計算機科學學位有很大幫助。如果你參加一個完善的計算機科學課程,當中包含了步驟1,2,3和4的大部分內(nèi)容(學習編程,做個人項目,獲得第一個編程工作或?qū)嵙暎约皩W習數(shù)據(jù)結(jié)構(gòu)和算法)。
如果沒有計算機科學學位,你需要自學當中許多內(nèi)容。
要注意,即使擁有CS學位,獲得頂級科技公司的軟件工程師工作也需要付出很多努力。
問題2:我是否需要畢業(yè)于麻省理工學院,斯坦福大學,卡內(nèi)基梅隆大學等頂尖大學?
同樣,并不需要。畢業(yè)于頂尖大學當然有些幫助,但這并不是必備條件。
谷歌人事業(yè)務部的高級副總裁Laszlo Bock也同意這一觀點。
在他的書《 Work Rules!》中提到,比起來自麻省理工學院等頂尖學校但表現(xiàn)平庸的學生,谷歌更青睞來自普通院校但表現(xiàn)優(yōu)異的學生。
我認為這是有道理的,如果你很聰明且專注,那么來自哪所學校并不重要。
問題3:我需要很高的GPA(績點)嗎?
不用。
較高的績點在面試中有一定優(yōu)勢,但你擁有扎實的實踐經(jīng)驗,且完成了有趣的項目更為重要。
事實上,根據(jù)《 Work Rules!》,谷歌過去常常注重面試者的績點。然而之后他們發(fā)現(xiàn),較高的績點并不意味著出色的工作能力。因此谷歌不再強調(diào)面試者的績點。
問題4:那我需要什么?
你所需要的是強大的編程能力和解決問題的能力,熟練掌握計算機科學的基礎知識,以及在簡歷中展示出完成的項目和具備的經(jīng)驗。
根據(jù)我在文中提到的六個步驟,你就能做到。
問題5:怎么能寫一篇好的簡歷呢?
你可以參考我在面試谷歌時用的簡歷。
-
谷歌
+關(guān)注
關(guān)注
27文章
6171瀏覽量
105470 -
軟件工程師
+關(guān)注
關(guān)注
8文章
218瀏覽量
21142
發(fā)布評論請先 登錄
相關(guān)推薦
評論