一個老程序員工寫的 Google 面試指南(GitHub 10 萬 Star)

主人公是一位老程序員 John Washam,雖然 Google 是他朝思暮想的公司,不過最後成了 Amazon 工程師。


一個老程序員工寫的 Google 面試指南(GitHub 10 萬 Star)

(身著程序員標誌套裝的 John)

他寫的這份面試資源,目前在 GitHub 收穫 10 萬 Star。


一個老程序員工寫的 Google 面試指南(GitHub 10 萬 Star)


已有中文版了:http://t.cn/RiOXMwx


目錄截圖

一個老程序員工寫的 Google 面試指南(GitHub 10 萬 Star)

一個老程序員工寫的 Google 面試指南(GitHub 10 萬 Star)

具體內容,大家可以在 GitHub 上看到。


下面和大家介紹 John 的一些經歷。


作者的經歷



John 經歷還挺豐富的。中學的時候已接觸編程,上大學卻攻讀經濟學位,是他判斷失誤,他以為畢業後程序員會過於飽和。

一個老程序員工寫的 Google 面試指南(GitHub 10 萬 Star)


後來,他參軍成為一名程序員,但招聘人員說服他進入軍事情報部門,於是花了兩年時間學習韓語。之後就在韓國服役了兩年。
在退役之前,他曾試圖重新撿起編程。雖然他在中學時學過 BASIC,並一直堅持到高中,但他選了 C++,發現跨度太大了,沒 hold 住。不過他喜歡做網站。
John 大概是 2000 年退役,之後在韓國呆了一年,教英語。同時利用晚上和週末的時間自學 Web 編程,用 Perl、HTML、CSS(當時還很新)、JavaScript 和 SQL。
之後的 15 年中,他創辦了 3 家公司,其中 2 家仍在運營併產生收入(這話是他在 2016 年說的)。曾在大公司和小公司工作,幫助初創公司啟動和成長,招募和管理團隊。他做過產品經理、CEO、設計師和市場營銷人員。


不甘現狀,尋求職業改變


在 2016 年的前幾年,John 沒有計算機科學(CS)學位的弊端開始凸顯了。以前他自認為自己屬於熱門技術人員類型,能在任何地方都能找到工作。


但在 2013 年找工作的過程中,他意識到自己的技能有所欠缺。他在業餘時間花了太多時間通過創業來賺錢,以至於技能都退化了,沒有跟上科技步伐。


大家別誤解為 John 沒技術。他還是有能力,但不是在他個人想要從事的技術或領域。雖然他能在過時技術或領域找到工作,儘管那裡也有很多錢,但他沒有看到令人興奮的前景。


曾有一次,他非常想加入一個風險投資公司運營的創業實驗室。然而他沒有 CS 學位,也沒有相應的技能和知識。


在 2016 年初,John 正式決定從 Web 開發者轉行到軟件工程師。


(保守估算來看,John 在這一年應該有 37 或 38 歲了。美國高中生正常畢業時 17、18 歲,讀完大學 21 或 22。2000 年他從韓國退役時差不多 23 或 24,再過了 15 年……)


為什麼選 Google?


Google 設置了一個非常高的招聘門檻。他們只想僱傭最好的人。隨著 John 瞭解得越多,就越想在那裡工作。


簡而言之,Google 是一家聘用聰明、有創造力的員工並善待他們的公司。谷歌獎勵優點,鼓勵卓越想法,並給予員工為用戶做出正確決定的自由。


因此他認為,如果目標定得很高(在 Google 找到工作),即使沒有被選中,他仍然可以在其他地方找到一份入門級的軟件開發工程師工作。


終成正果


John 完全放下此前 15 年 Web 開發的經歷。他曾經在文章稱,他有像 CS 專業畢業生那樣的熱情。

這對我來說是一個新的世界,我才剛剛開始。雖然知道自己會犯錯誤,但我不怕。我也想學習我能學到的一切,成為任何團隊的優秀成員。

於是他就開始準備衝擊 Google 的面試,每天學習 8~12 小時,大概堅持了 8 個月。

一個老程序員工寫的 Google 面試指南(GitHub 10 萬 Star)

(John 為面試複習打印的算法資料)


他踩過的一些坑,比如:


a.可以縮短準備過程,不一定非得搞 8 個月。

一開始我研究了一些不需要的主題,有些是因為我認為我在面試時會用到它們,有些是因為我想在剛開始工作時就掌握這些知識。我不想成為分配給我的團隊的負擔。結果我只是準備過度了。

b. 花了 3 周時間閱讀了一本 1000 頁的 C++書。雖然沒有掌握全部內容,但我現在對 C++ 有了一定的瞭解。後來事實證明,他在面試中用的是 Python,而不是 C++。他原以為需要 C++、C 或 Java 。

一個老程序員工寫的 Google 面試指南(GitHub 10 萬 Star)


此外,他為面試而讀的書,比實際需要的多得多,有三到四本書就夠了。


一個老程序員工寫的 Google 面試指南(GitHub 10 萬 Star)

(2016 年夏天 John 讀了這些書)


2017 年 1 月,他沒面上 Google。


2017年 3 月,正式入職 AWS。


分享到:


相關文章: