求職丨我是如何成爲了谷歌的軟件工程師

clipboard.png
做者 YK Sugi
編譯 Mika
本文爲 CDA 數據分析師原創做品,轉載需受權面試

前谷歌軟件工程師YK Sugi分享了他是如何經過六個步驟,順利開啓了本身的數據科學職業生涯。算法

你們好,有不少人問我如何得到谷歌的軟件工程師工做,在本文中我將分享我是怎麼作的。編程

用相同的方法,你也能夠在谷歌、亞馬遜、微軟、Facebook等頂尖科技公司得到軟件工程師的工做。網絡

在以上公司順利求職共須要6個步驟,此外我還將討論如下內容:數據結構

· 首先該如何學習編程
· 學會編程後要學什麼
· 如何得到第一份編程工做或實習機會
· 軟件工程師工做求職的最佳方式
· 如何充分準備編程面試
· 是否要得到計算機科學學位?
· 是否要畢業於頂尖大學?數據結構和算法

好的,咱們開始吧!編程語言

clipboard.png

第1步:學習編程學習

這是成爲軟件工程師所需的最低要求。網站

爲此,我建議你使用Codecademy和freeCodeCamp等交互式網站。在這些網站上你能夠學習大多數編程基礎知識,SoloLearn也是不錯的選擇。編碼

以後,我會使用視頻教程來學習更深刻的知識。我推薦YouTube,Pluralsight,Lynda.com和Udemy等網站。在這些網站上,你可以找到如下主題的教程:

· Web開發
· 移動開發
· 遊戲開發

取決於你的興趣。

可是等一下,我應該先學習哪一種編程語言呢?

個人簡短回答是,選擇JavaScript或Python,但這實際上取決於你的興趣。我在以前的文章中有探討過這個問題。

第2步:作些我的項目

在學習了一些編程教程以後,你應該經過構建一些我的項目來練習學到的知識。

爲此,你應該找到你感興趣的東西。

例如,若是你喜歡攝影,那麼你能夠開發一個網站整理你所拍的照片。若是你對股票感興趣,那麼可​​以構建一個系統來分析股票圖表。若是你喜歡解決問題,那麼能夠嘗試參加編程比賽。

當處理項目時,首先要儘量靠本身完成。而後,若是遇到困難,可使用在線或離線資源獲取其餘人的幫助。例如,若是遇到與編程相關的問題,你能夠在Stack Overflow對特定技術問題進行提問。

第3步:得到第一個編程工做或實習

一旦完成了一些我的項目,你就有機會得到第一份編程工做或實習機會。這樣在與頂級科技公司面談以前,你將有一些編程的經驗。

你徹底有可能在一家頂級科技公司得到第一份工做,可是這種概率比較小,你得到的第一份工做更多是在一家不那麼知名的公司。

申請軟件工程師工做的最佳方式

除了在網上投簡歷,你還有其餘的方法能夠嘗試。

這裏我建議你使用LinkedIn和人脈網絡。

在LinkedIn上,首先找到你感興趣的公司的招聘人員。而後,你能夠問他們你是否有資格得到你感興趣的職位。若是你的資格還不夠,你也應該問他們如何能更好地作準備。

還有Meetup這種人脈網絡的網站,你能夠直接與當地公司的工程師和招聘人員進行交流。

這還不是所有。

LinkedIn這種人脈網站對於中小型公司的職位很適用。可是,對於想應聘谷歌和Facebook等大型公司而言,效果就不那麼好了。

對於這些大公司,我建議結合如下三種方法:

1.參加你附近大學舉辦招聘會。
2.經過在其中一家公司工做朋友的推薦。
3.網上投簡歷。

結合這些方法可以增長你得到大型公司面試的機會。

對於大型公司,LinkedIn上大公司招聘人員收到的消息太多了,所以效果不太好。

第4步:學習數據結構和算法

谷歌和微軟等頂級科技公司在面試時,常常會問到關於數據結構和算法的問題。因此,若是你對這方面不太瞭解,那麼你應該學習。

針對這方面的基礎知識,我推薦我YouTube頻道的數據結構和算法系列視頻。

書籍:
《算法設計手冊》 (The Algorithm Design Manual) 做者Skiena
《算法》Algorithms 做者 Robert Sedgewick

clipboard.png

第5步:準備編程面試

谷歌和微軟等公司的編程面試很難,但能夠有針對性的進行準備。

一旦你對數據結構和算法有了深刻了解,我就會推薦如下三種資源用於練習:

· Leetcode——練習編程面試問題的互動平臺。
· 《搞定編程面試》(Cracking the Coding Interview)——關於編程面試的熱門書籍。
· 每日編程問題(Daily Coding Problem) ——天天給你提供一個編程問題的郵件列表。

在本身練習幾周以後,你能夠開始進行模擬面試。

怎麼作模擬面試

與你的朋友一塊兒練習,從我以上提到的資源中選問題互相提問。

解答每一個問題,並對你的解決方案進行解釋。

在練習時,除了面試者還要充當面試官的角色,從而揣摩面試官的想法。

進行約20次模擬面試,以後你對實際面試將有必定把握。

第6步:反覆嘗試

使用我以上提到的三種方法應聘頂級科技公司:

· 招聘活動/招聘會
· 朋友推薦
· 網上求職。

若是第一次沒有成功,請​​不要泄氣。在找到心儀的工做前必然會經歷一些失敗。

在我成爲谷歌的軟件工程師以前,我曾嘗試了五次。

總結:

第1步:學習編碼
第2步:作些我的項目
第3步:得到第一個編程工做或實習
第4步:學習數據結構和算法
第5步:準備編程面試
第6步:反覆嘗試

等等,真的那麼簡單嗎?

是的,可是完成這六個步驟須要大量的時間和精力。

其餘問題

問題1:我須要得到計算機科學學位嗎?

不用,可是擁有計算機科學學位有很大幫助。若是你參加一個完善的計算機科學課程,當中包含了步驟1,2,3和4的大部份內容(學習編程,作我的項目,得到第一個編程工做或實習,以及學習數據結構和算法)。

若是沒有計算機科學學位,你須要自學當中許多內容。

要注意,即便擁有CS學位,得到頂級科技公司的軟件工程師工做也須要付出不少努力。

問題2:我是否須要畢業於麻省理工學院,斯坦福大學,卡內基梅隆大學等頂尖大學?

一樣,並不須要。畢業於頂尖大學固然有些幫助,但這並非必備條件。

谷歌人事業務部的高級副總裁Laszlo Bock也贊成這一觀點。

在他的書《 Work Rules!》中提到,比起來自麻省理工學院等頂尖學校但表現平庸的學生,谷歌更青睞來自普通院校但表現優異的學生。

我認爲這是有道理的,若是你很聰明且專一,那麼來自哪所學校並不重要。

問題3:我須要很高的GPA(績點)嗎?

不用。

較高的績點在面試中有必定優點,但你擁有紮實的實踐經驗,且完成了有趣的項目更爲重要。

事實上,根據《 Work Rules!》,谷歌過去經常注重面試者的績點。然而以後他們發現,較高的績點並不意味着出色的工做能力。所以谷歌再也不強調面試者的績點。

問題4:那我須要什麼?

你所須要的是強大的編程能力和解決問題的能力,熟練掌握計算機科學的基礎知識,以及在簡歷中展現出完成的項目和具有的經驗。

根據我在文中提到的六個步驟,你就能作到。

問題5:怎麼能寫一篇好的簡歷呢?

你能夠參考我在面試谷歌時用的簡歷。

clipboard.png

clipboard.png

簡歷的篇幅最好控制在一頁,個人稍微有些長,但能夠做爲參考。

祝你好運!

相關文章
相關標籤/搜索