1. 程式人生 > >歷時6個月, 非CS專業的我, 終於在畢業前拿到了谷歌軟體工程師offer!

歷時6個月, 非CS專業的我, 終於在畢業前拿到了谷歌軟體工程師offer!

本文作者

Isabel,本科就讀於上海財經,研究生就讀於CMU,information management相關專業。在來Offer的幫助下成功“轉碼”,入職谷歌。

就在離畢業還有一個多月的時候, 我收到了來自谷歌的offer,至此,心中的一塊大石頭終於落地了。

回想起自己剛來美國時,內心還對未來充滿了不安與迷茫,到現在拿到offer、期待人生開啟新的征程......這其中的心情不是三言兩語能說得清的。

所以我想著坐下來,寫些什麼,將我這一路走來的心得,分享給跟我一樣轉專業或者半轉專業的同學。

我的轉碼之路

先來報一下我的基礎和背景:我的本科是上財畢業,碩士在CMU讀的,讀的都是information management相關專業。 

在大學期間學習過一些C, Java, HTML/XML, SQL的入門課程,但演算法幾乎算是零基礎,資料結構也只學過最基本的。由於是財經院校,課程的重心更多地放在金融和財務相關的課程上。

在申請美碩的時候, 考慮到畢業後的就業問題,我打算轉CS

但因為自己本科專業實在與CS相差甚遠,我還是以本行申請,然後去了“CS氛圍濃郁”的CMU。在成功入學後,我的職業目標就已經很明確—— 畢業後成為一名Software Engineer。

本來以為加入了CMU後,能受周圍大神潛移默化的影響,自己的CS肯定也能突飛猛進....

結果發現是自己想得太美好了 —— 周圍的大神只能讓我意識到自己和他們的差距,意識到自己CS基礎之薄弱。

第一個學期在CMU基本上就是適應學校的學習生活,以及自己胡亂刷題。

但是因為基礎差,摸不清要領,刷了3、4個月之後還沒有什麼起色,一直處於“背題目”的狀態。

之後,在班裡大神的推薦下,我決定好好打牢自己的基礎,參加了來Offer的培訓。

一開始的幾節課,老師從基本的線性資料結構和Sorting Algorithms教起,我還覺得課程是不是太簡單了,擔心會不會不值得。

然而跟著老師上下去,我就慢慢被“打臉”了。老師的教案深入淺出,很多看似基本的、你以為你理解的知識點,在聽過後,卻有一種幡然領悟的感覺。

從那一刻起,我才真正覺得自己“入門”了。

師父領進門重要,課後練習也同樣重要

關於課後的練習,我用的是來Offer的獨家習題庫LaiCode

LaiCode上的題,老師每節課大概會講6 - 8題,雖然不是很多, 但是這些題目都非常經典 (這也是後來找工作準備很多公司面經的體會)。 

剛開始課後複習的時候,我天會練習LaiCode上4 -5 題,每兩天再做一節課上的題目。從第10節課開始,上課講的題目難度就有所增加,但是為了找工作,我也堅持按照課程進度複習

我還記得當時是我在CMU最忙的時候, 第二學期開始,我就一直在忙Web application, Cloud computing 還有 Advanced database, 外加還有本專業的一些其他專案也要完成。可我還是堅持複習,堅持做題。

那段日子,我幾乎是沒有休息日的。

每一天都是從星期一到星期天,早上10點學習到晚上10點。

但是對於演算法基礎很薄弱的同學來說,再辛苦也要堅持下來,想想付出努力可能拿到的offer,又會給自己打雞血繼續做題了。

我的做題方法

一開始做題的時候,除了參考老師課上教的思路,我還會參考LaiCode java答案裡的code。

因為老師寫的code都非常清楚,而且容易講解明白,所以幾乎每道題我在寫完自己的程式碼之後,都會研讀老師的答案。這樣子不僅學習到了優秀的解法,並且可以改正自己程式碼上的不良習慣。

除了寫出每道題的解法,我也會仔細修改自己的程式碼,力求儲存一份比較完美、思路清晰的程式碼, 這樣即使日後複習也能很快弄明白這道題。

就按照這樣的“套路”練習了一段時間後,我發現自己漸漸地可以想出來比較優的解法。並且領悟出:

其實很多演算法題都是不同的老題的組合拳,融匯貫通了老師教給你的拳法,就能以不變應萬變,想出比較優的解法。

如何與面試官交流?

面試時,做出來題是必須的,然而僅僅做出來題又是不夠的。

我面過幾家小公司,onsite過四家公司:Oracle、Quora、TwoSigma、Google。在面試的過程中,我明白的一件事情是:

交流過程非常重要

交流過程非常重要

交流過程非常重要

   (重要的事情說三遍)!

要想順利過面試關,除了把Code寫出來, 還需要跟面試官溝通你的思考過程:你為什麼選擇這樣的方案,以及有什麼優缺點

至於怎麼樣有條理地進行溝通,來Offer課上孫老師的講解是最好的教材。

講解過程時,可以想象成自己在“教”面試官,模仿老師上課時是如何教會同學們的,清晰地講解你的思路。

即使是遇到一道新題,也要用有條理的方式向面試官溝通,不過也要靠你平時的功底了。

寫在最後

找工作的道路是很辛苦的,但是你要相信,這種辛苦是值得的

我還記得每天晚上從CMU走回寢室的路上,我都伴著星光在腦海裡mental code。這一年在CMU的時光,是我求學生涯十幾年來最苦、最值得、也最難忘懷的一年!

慶幸自己的堅持,也感恩感激來Offer的孫老師、閆老師盡職盡責的指導,在我困惑的時候詳盡地解答。

最後,希望大家都能如願拿到自己理想的offer!

更多科技求職資訊,請關注“來Offer” !