一份來自亞馬遜工程師的Google面試指南,GitHub收穫9.8萬星,已有簡體中文版本

數據分析那些事
Mar 23 · 5 min read

一位從1997年就入行的Web工程師,立志要成為Google軟體工程師,3年前寫下了一篇超完整學習和麵試教程,以此作為自己的奮鬥計畫。

這位名叫John Washam的工程師,換了好幾份工作,最後卻陰差陽錯在2017年成為了亞馬遜AWS的技術專家。

但這並不妨礙他的教程成為熱門,在GitHub上線以來,已收穫近10萬星的好評。

而且最近這篇教程已經完成了中文翻譯,就算你沒有去Google面試的機會,也可以用它來好好充實一下自己。

為何寫這篇教程

作者Washam本人並非電腦學位,但在兒時就已經展現出對電腦的濃厚興趣,從事的工作是關於web程式的構建、伺服器的構建。

作為一名非專業人士轉行,Washam已經算是相當成功。然而,他還是想去Google工作,真正地去理解電腦系統、演算法效率、數據結構性能、低級別編程語言及其工作原理。

可對這些知識都不了解的他,怎麼會被Google應聘呢?

於是他在網上收集了各類電腦專業知識,以及進入穀歌工作的員工分享的資源,並系統地整理了這些資料。

Washam強調,想去Google工作首先不要妄自菲薄。Google的工程師都是才智過人的。但是,就算是工作在 Google 的他們,仍然會因為覺得自己不夠聰明而感到一種不安。

學習資源

接下來就跟著Washam的腳步去學習。

首先要做的就是選擇一門語言,在Google一般是C++、Java、Python,有時也會用到JavaScript、Ruby。背後還有一些如SQL、HTML等技術沒有列出。

接著開始學習電腦硬體知識:

然後補充電腦專業的基礎數學知識,如演算法複雜度 / Big-O / 漸進分析法、數據結構、樹、排序、圖論。

此外還有遞歸、動態規劃、組合與概率、NP&NP-完全和近似演算法、緩存、線程與進程、系統設計、可伸縮性、數據處理。

看到這麼多知識點,你會不會覺得有點懵呢?Washam告訴你一點小技巧。

因為你不可能一遍就記住所有知識點。所以需要把要回顧的知識點做成抽認卡(flashcard):正常的及帶有程式碼的,類似於背單詞。

每種卡都會有不同的格式設計。專案主頁中就有抽認卡的源代碼,可以根據自己的學習特點去製作。

Washam還留有一組 ASCII 碼表、OSI 堆疊、Big-O 記號及更多的小抄紙,以便在空餘的時候可以學習。每編程半個小時就要休息一下,並去回顧你的抽認卡。

當然,論文的閱讀也是必不可少的,尤其是穀歌曾經發表的一些基礎技術論文。

書籍則推薦一些關於演算法和C++編程之類的。

去Google面試需要注意什麼

面試的第一步當然是要有一份好的簡歷,這樣才能為你爭取到寶貴的面試機會。知名科技博主Steve Yagge給出了10個貼士,幫你做出一份還不錯的簡歷。

這位Steve曾經在亞馬遜、Google都工作過,Washam的這個專案就大量地引用了他的技術博客內容。

在面試時,你可能會遇到這20個問題,每個問題準備 2–3 種回答。準備點故事,而不要只是擺一些你完成的事情的數據。

面試官在也會問你還有哪些問題,不要說自己沒有什麼要問題,可以試試問一些此類問題:

當然,進入Google也不意味著結束,你還要新的學習過程。

Washam還有一份附加內容,包括Emacs和Vim、Unix命令行工具、密碼學。這些內容雖然不會直接用到,但是會大大提高你的效率。

最後,在這樣一個特殊的時期,好好給自己充個電。祝大家在新的一年裏都能面試成功!

傳送門

資源地址:
https://github.com/jwasham/coding-interview-university/blob/master/translations/README-cn.md

來自:量子位

回顧十週入門數據分析系列文:

關注數據君的臉書:

我是「數據分析那些事」。常年分享數據分析乾貨,不定期分享好用的職場技能工具。按贊我的臉書,會有豐富資料包贈送唷!

數據分析不是個事

分享數據人必備的知識!

數據分析那些事

Written by

這是一個專注於數據分析職場的內容部落格,聚焦一批數據分析愛好者,在這裡,我會分享數據分析相關知識點推送、(工具/書籍)等推薦、職場心得、熱點資訊剖析以及資源大盤點,希望同樣熱愛數據的我們一同進步! 臉書會有更多互動喔:https://www.facebook.com/shujvfenxi/

數據分析不是個事

分享數據人必備的知識!

More From Medium

More on Data Science from 數據分析不是個事

More on Data Science from 數據分析不是個事

「傻瓜」才能寫出好程式碼!

More on Data Science from 數據分析不是個事

More on Data Science from 數據分析不是個事

你費那麼大勁做的數據分析,有用嗎?

More on Data Science from 數據分析不是個事

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade