如何規劃研究生三年最後成為谷歌軟體工程師?

作為一名女生,通信專業現在大四正準備換學校換專業(軟體工程)的研究生開始,目的很簡單,谷歌腦殘粉想以後能成功應聘上谷歌軟體工程師,目前情況就是,這不會那不會。所以才想考取研究生磨練一下。可是我又開始不確定,研究生讀下去真就可以了嗎,個人覺得男女一樣在計算機方面女生並沒有什麼劣勢,而且會編程的女生很酷誒,這是題外話,就是想知道應該從那裡入手,以及可能出現的各種困難。希望能得到答案,現在很迷茫,看書的時候比較喜歡數據結構呀這種可操作的,但是組成原理什麼真是頭都大了。。。。好像跑偏了。好吧我想知道的是進谷歌概率有多大。


樓主,我很欣賞你的想法。

不過男女在計算機方面其實是有差異的。。。因為大部分女性都被洗腦了不來做這個工作,所以少部分來做這份工作的女性就顯得如此鶴立雞群。

我要是女的,肯定滿世界都想要我,但是我是男的。。。所以滿世界都不要我

如你所想,研究生讀完是完全不可以的。。。你想想你本科3年多,有啥收穫。。。研究生就是重複的2年本科生活而已。

所以你要想不一樣,還是得靠自己學,我可以大言不慚地說一句,跟老師走你就玩蛋了。

言歸正傳,我以前回答過一個問題,是如何進微軟的,和進google一個性質,如下鏈接:

想進入微軟,本科該如何努力?

我有幾個建議,你姑且隨便聽聽:

  • 不要成為腦殘粉,不要盲目崇拜任何人、事、物。
  • 你學得再好google也有可能不要你,招聘是看命的事情,可能要2、3次你才能混上運氣去google,但別因為google不要你就喪失信心。
  • 努力成為一個優秀的程序員,不要只以混進google為標準。
  • 就算第一次沒混進google,就算考研失敗,甚至連淘寶都拒了你,也不要灰心,努力前行才是正事。

具體在往下走的時候,肯定會遇到很多困難,像你說的組成原理什麼頭大,那純粹是編寫教材的人不想讓你看懂(當然他自己也是半吊子),你就得上知乎來問人找正經書了

所以我建議你不要匿名,大膽和大家交流,你和大家交流得多了,才能得到更多資源,如果大家不認識你,你提問是沒人會看到的。


看了大家的回答,以一個過來人的角度來說,大家的建議(刷Leetcode)和努力學習是沒有錯的。但是貌似乾貨不多,我給題主總結一下研究生各個時間段節點的應該乾的事。這些都是我自己的總結,可能片面,但應該可以有一個參考。

寫在前面:我是2年半的研究生,導師制,軟體工程專業。我技術不太好,所以經歷有很多借鑒了我實驗室的其他同學們,有大牛,有轉專業的,也有專門搞研究的。

========進入正題的分割線=============

【總則】:時代是在不斷變化的。別人說得再好再詳細,你遇到的事情和可供選擇的處理辦法也不能照搬照套。

【時間節點】:

題主既然現在正在考研,那麼我猜想,你能夠完全控制自己的時間是在2015年7月份開始。這之前考研和畢設就會花費你很多的時間。我建議你先不要著急,本科生就先把本科的生活先結束,然後再來開始新的生活

2015.7 —— 2015.9

這之間有2個月的空白時間,既然你是轉專業的,那麼我建議你用這兩個月的時間好好的補充一下軟體方面的基礎知識。以C/C++為例,啃完一本入門書,例如《C++ Primary》等。這個時候,不要覺得我啃完了就好了,開開心心入學去了。當你覺得你已經掌握了基礎知識後,上網找筆試題,關上書本,關上電腦,限制時間。你做兩套筆試看看,做完後再對答案,並仔細分析。如果70%的題你能夠明白其中的原理(不是靠猜對的),那麼你應該是比較適合這條路的。但是,人總要給自己留一條後路,如果萬一一不小心或有什麼不可抗因素,題主妹子並不能很好的完成這項工作的話,你可以考慮走應用開發的路線。我覺得這個比較簡單一點兒的,試著做兩個網站(JAVA,.net),試試看手機移動端開發(Android,IOS)都是可以的。

2015.9 - 2016.6

這段時間是你研究生的第一年,按照我的理解,這應該是課程集中的主要一年。在這一年裡,你的主要目標是兩個。1,努力完成課程作業,編程大作業,考試2,瞄準一個大牛

我來分別說一下。

1,你的本職工作是非常非常重要的。首先,它和你的畢業息息相關,找工作什麼的都是浮雲啊,你拿不到畢業證,或者說需要補考什麼的,非常耽誤時間和心情。其次,它會告訴你,你還缺什麼。前期你自己學習了一些知識,但是人很難看到自己的缺陷。所以,你應該利用這個時間段好好反省一下,自己的缺陷在哪裡。再次,為找大牛做準備,在學習的過程中,總會有一些需要合作的編程大作業吧。發揮你萌妹子的特性,找一個大牛的組,跟著他們一起做。

2,找大牛是一個很重要的方向。我大一的時候就知道了這個理論,但現在都研究生畢業了,我也沒行動起來,所以還是渣渣一個。

2.1 找大牛的好處。①在一起做大作業的時候,他(她)會告訴你一個大體的框架,給你一個架構。這樣,你就不會覺得入門困難重重,所謂好的開始等於成功了一半。你可以只專註於技術,在提高技術的同時,了解整個項目的大體框架,為自己以後單幹或挑大樑做準備。②在技術實現方面,大牛會給你提供建議,這會開拓你的思維,擴展你的眼界。當你自己遇到一個問題的時候,你的思路可能會受到限制。特別是一個你沒遇到過的問題,常常你的解決問題的方向都是錯的。但大牛有經驗啊,他隨便看看就可以幫你指明正確的方向。但是,為了提高自己,一定要堅決抵制大牛幫你調代碼。你只需要知道方向就夠了,至於調代碼,還是自己上吧。畢竟這是一個費時間的活兒,大牛的時間也很寶貴。③以後可以合作接項目搞開發,提升自己。這就沒什麼好說的了。

2.2 找大牛的忌諱:千萬不要寫文檔啊寫文檔。即使你被迫寫文檔,也堅決不要只寫文檔,不搞開發。大牛人都是很好很好的,你跟他們說一下,自己想接觸一下關鍵代碼,核心技術。他們會給你留一塊兒內容的。這個時候你就要好好利用,好好表現了。爭取以後長期發展。。。成合作夥伴,當然,男女朋友也是我們喜聞樂見的事情。

到這裡,你手上已經掌握了很多資源了。你對自己有一個明確的認識,自己長處短處;你對老師也熟悉了,知道他會如何安排你科研(賺錢);你對這個行業也有了一定的了解,並且還有大牛傍身。接下來就是天下之大任你遨遊了。。。

當然這是開玩笑的。接下來才是決定你人生的關鍵選擇了。

2016.7 - 2016.9 這個暑假,你的導師很可能會給安排你任務,鞭策你科研,督促你發論文。當然,你也可以無視這些,自己找實習,接項目。就看你自己的本事和選擇了。

我來分析一下這兩條路。

1,跟隨老師的步伐。這是一條相對容易的道路,但是很有可能跑偏。老師會給你提供較多的學習機會,他(她)手上有科研項目,有賺錢項目。這些都可以學到很多東西,因為畢竟你的經驗也不是很多。但是呢,老師手上的科研項目可能對於找工作的幫助不是特別大。當然了,如果你的老師引領行業標準就另當別論了。老師的研究項目一般都比較鑽精,專註於一個特定的方向,而且有可能實用性不高,就是用人公司不會用到這麼高精尖的技術。如果你走這條路,以後可以給自己定位研究員。另外,老師的賺錢項目的話,一般技術含量不是特別高,俗稱搬磚項目。並且在很可能和你將來的發展目標不一致。但是,如果老師強制的話,你可選擇的餘地也不多。

2. 找實習,接項目。這個活兒來錢快啊,可以賺錢啊。並且以後你找工作的時候簡歷上好看啊,有談資啊。但是也不是沒有風險的,實習生很有可能也沒什麼技術含量,但你找到了實習也是對自己的一個肯定。接項目的話,你就要抱緊大牛的大腿了,跟他(她)們一起做項目,這是最能提高自己的方法,並且時間比較自由,無論你是被老師奴役還是被實習公司奴役,都可以利用業餘時間提高自己。能夠深入到項目內容,了解原理性的東西。這是非常有幫助的。

好了,先寫到這裡,還沒完。後面還有你前進路上的畔腳石和另外的發展發向。

不過我要做做午飯了,下午回來再更新,希望對題主妹子有幫助。

再另外,厚著臉皮求點贊!

謝謝大家認真看完我啰啰嗦嗦的答案。這一段時間是我人生的一個低谷期,不過現在已經守得雲開見月明了。從此我要展開人生的新篇章,走向人生的巔峰啦哈哈哈(開個玩笑。。。)

2015.9 —— 2016.9

好了,言歸正傳

這一年是我認為的研究生中最關鍵的一年。在這一年裡,你可以接觸到最多的項目,學習最實用的知識,融會貫通去蕪存菁,都是在這一年完成的。

然而,這一年你也會遇到研究生生涯最大的不定數——你的導師。

你的導師,他有可能是德高望重的學者,孜孜不倦的研究課題,接基金項目,發高水平論文,與其他學校合作開發等等。那麼,恭喜你,你將身在一個學術水平濃厚的氛圍中。無論你將來的規劃是繼續深造還是賺錢養家,你在這一年學到的東西是不可估量的。是比參加了多少實際項目所學到的東西都更加有用的。因為在科研項目組裡,你遇到的困難是前無古人的,你攻克難關的過程,對你自身的提高非常大。

你的導師,也有可能是橫向項目的愛好者,跟甲方關係很好,有很多財源滾滾的項目,天天鞭策你們努力前進。那麼,也恭喜你,在這一年內,你可以賺到不少錢(這是最直接的);你也有大量的實際項目的經驗。你的自信和成就感將幫助你戰勝後續的畢業論文,找工作中遇到的挫折感。這也是很重要的。當然,橫向項目的缺點是,當前的這份工作你可能並不是很喜歡,或者是技術含量不高。。。但考慮到題主妹子是轉專業的,我覺得這對你還是很有幫助的。

你的導師,還有可能是放養類型的,他有自己的事情,不用你的加入,你自己給自己找事做就可以了。(當然,這種是非常少見的,一般只出現找研究生的一個階段,比如幾個月的時間導師不會太管自己的學生,因為這個時候他可能有更重要的事情處理)。那麼,恭喜你,你有大量自由的時間可以做任何自己感興趣的事情。找實習,跟大牛做項目都是不錯的選擇,這我在上面也已經說了。在這裡我要補充的一點就是,儘早確定自己的方向。你決定做C/C++,就不要再接JAVA的項目了;你決定做JAVA,就多做一些JAVA的實際項目,最好是有成品可以隨時展示給別人看的,多學JAVA的幾個框架,應用什麼的(哎,學得太渣了,我就不多說了,免得暴露自己);你決定做大數據,就不要再想著做移動開發;找工作的時候你就會發現,專精一門是很重要的。當然,這並不是說你其他的只是完全不知道也不要緊,只是說,你在一方面深入的紮實的研究,對你的加成是非常大的。

如果非常不幸的你的導師是論文掛的。。。他的項目雖多,但他最看中的就是寫論文,發專利。做項目就是為了寫論文,做出來的項目都是研究性質的。那我覺得,對找工作來說,這並不是一個很好的開端。。。如果你碰到了這樣的導師,而你的目標又不是繼續深造的話,我給你三條路選擇,都是對應了我看到的現實中的同學的,並非我杜撰。

①強力抗爭。導師布置的任務用最短的時間完成,使用技能「deadline是第一生產力」,在deadline的前一天晚上再開始做,第二天做到什麼樣是什麼樣,找導師報告。其他的時間做自己的事情。這樣的話你仍然有足夠的時間做自己愛做的事情,但是心裡壓力會非常大。因為導師也有自己的必殺技「你還想不想畢業了」。

②認命。既然跟了這樣導師,那就好好的做論文吧。多發兩篇論文也不錯,而且跟導師關係好,以後畢業,找工作什麼的,導師也能提供點便利。不過這樣的結果是,你讀博的可能性比較大就是了。

③即不認命也沒能力抗爭(對,說的就是我自己)。那你就只有在完成導師任務的課餘時間做自己感興趣的事情了。即不忘初心又不得罪老師(就是有點窩囊。。。),而且說真的,這樣做是很累的。你會發現,你強力抗爭的同學項目都做好幾個了,你還參與不了什麼項目(時間不允許);你認命的同學都已經寫了好幾個專利了(質量如何就不去評論了)但你還在搭實驗環境。就看你選擇哪條路了,或者你只能選擇哪條路。

2016.9 —— 2017.7

這一年就沒什麼好說的啦,你已經度過了兩年的研究生生涯,即使這最後一年你一個人摸著石頭過河,也能順利抵達彼岸。況且你還有導師,師兄師姐,你的同學們,他們都會幫助你,指導你。最重要的是,這一年你也沒啥選擇的餘地,基本都被既定的過程牽著鼻子走。所以我也就不多說了。

===================答題完畢的分割線=========================

好了,大概就是這樣了,寫到後來發現自己說得有點廢話+跑題了(哎,語文不好。。。)

那就最後簡單的總結一下吧。

①如果你不想做研究而是想做編程開發,那就多多的參與項目。實際的,靠譜的哪種。大牛同學就是你的指明燈。

②如果你是想做研究,就緊跟老師就行了。研究生導師最喜歡你這種的:「同學,我看你骨骼精奇,你想不想讀博啊?」

③事無絕對,到時候你可能會遇到跟我所說不一樣的情況,或者很多無可選擇的境地。但還是預祝你研究生生涯順利。


誰說的,女生可有優勢了。我曾經見到過,一個妹紙在美帝那邊筆試Google掛了,結果到了面試的時候,HR還打電話求她去面……


首先要明確知道自己為什麼讀研以及讀研要做什麼方向。很多人讀研都是稀里糊塗地就讀了,最後變成了老闆的免費勞動力。毫無目的的讀研只會白白浪費時間,遠不如本科就直接工作成長的多。既然選擇讀,就一定要讀得有價值,不要讓這三年白費。

在認清了自己的研究方向後,就要有針對性地加強自己方向的技術能力。最強的面試者就是應該有說出「這個方嚮應屆生里我最牛X」的氣勢。否則浪費了三年時間,編程能力與思維速度都會退化,反而沒有本科有優勢。以我自己為例,我現在的演算法能力已經大不如本科階段,但是因為研究生階段發了幾篇頂會的論文,因此給很多面試官都留下了很深刻的印象,其中有一面facebook的面試官甚至主動要了我的論文下載地址。

另外,google or facebook目前的面試題已經不像以前那麼難了,基本都是經過簡單思考就能想到的動態規劃、模擬、貪心,常用數據結構等題,基本屬於leetcode難度。但是難度降低是以clean code bug free為條件的。你最終需要有在白板 or 白紙上bug free的把代碼實現的能力,做到這點就基本沒有問題了。

最後,女生的確是有加分的!所以只要你寫代碼寫的穩,進Google不會是什麼難事。


研一上課,隨後刷題,LeetCode五六遍之後,google歡迎你。——源自大北郵的真人真事。


好好學習啊,去哪兒無所謂啊,只要你夠厲害!


Google不要你歡迎來FB。不過就像上面的人說的,跟讀研本身沒關係。如果你讀研就是「不知道該幹啥」的話,那就讀一讀吧。除了聽聽課做作業以外,請一半時間寫應用代碼,一半時間刷題目。leetcode刷3,4遍,做幾個app,搭幾個網站,應該用不了畢業就可以來面試了。記得找我推薦撒


你好題主,我也是女生,也是轉專業到cs。和有四年CS本科基礎的人相比我也算是啥不會的那種了,慢慢學吧。我記得最讓我感動的是在申請研究生面試時候,面試分兩輪,只有教授有興趣的人才會進第二輪,教授在最後留給我的一句話,你和那些CS專業相比的優勢是你有統計背景,在面試的時候我看到了你的努力(我猜或許是當時我說了可不可以拿double degree吧),自那以後我從懵懂害怕變得自信了,而且我的研究生只有一年時間啊,我得加倍努力。我相信我可以彌補自己在CS鄰域缺少的能力,題主你也一定可以的!一萬小時定理要求高了點,畢竟當谷歌工程師還不用到專家級別,但是一千小時總得要的,既然能轉得了智商一定足夠了,你的三年時間可以學到很多。把基礎的知識補回來,不僅是谷歌大部分這類公司筆試都得考演算法,但是自身的背景也很重要,比如參加的項目有多少,有沒有名校經歷,等等。你可以看看在google工作的工程師在本科研究生時候在github上的項目,以他們當時的level為自己要達到的level。當然三年後真是牛人了,就當我前面什麼也沒說,想當年Guido van Rossum 去 Google 應聘,只寫了三個詞「I wrote Python」,那個叫帥氣啊。但是我更想當個教授啦,所以我的意見不是導向性的,你可以繼續參考工業圈專業人士的答案。


加油加油!我的觀察是,有個規劃,興趣或者ambition兩者之一做到超乎常人,三年努力可以把人帶到任何高度。

現在網上的學習資源很多,邊做研究可以邊把各種基礎補起來。而且diversity的原因,女生挺有優勢的,這個完全不用擔心。


進Google跟讀研有神馬關係,就往死里刷題唄。實力有時候跟面試也脫節。注重過程大於注重結果,享受積攢實力的過程,享受面試的過程,進不進Google得之我幸,失之我命,有可能當你發現在此過程中獲得這麼多而且樂在其中時,到時候你可能就發現進不進Google無所謂了


名校,在校期間就自己做個有點靠譜的產品,多上github和stackoverflow,做個geek,多做點義工,教貧困小朋友用電腦。總之和別人有所區別


本人也是學CS的,不過現在並未從事IT工作,曾經有幸去過谷歌北京總部,感覺裡面的女生還是蠻多的,當然也有可能是職能類崗位,猜想真正寫代碼的佔比不高。但曾交流過的幾個姐姐,都是做測試,或PM,其中一位是從開發轉為PM…其實谷歌也一直致力於發掘一些優秀的女性工程師,所以,加油!

至於努力的方向,刷題吧,總覺得當初周圍那些去了谷歌的都是ACM高手,女生應該更容易些吧。


本人本科非計算機專業,基礎可能比樓主還差。研究生軟體工程。現在還是很渣,但是自信可以完爆許多本科學軟體的同學。

我覺得樓主首先需要挑個好學校,環境的影響很大的。我們研一的課程對我幫助很大,《principal of computer system design》這是我們一門課的教材,感覺對我幫助很大,從宏觀的角度詮釋計算機的設計思路。幾門課的lab也把我們虐的死去活來。但是最後都感覺收穫頗豐。對現在找工作也很有幫助。

其次找准方向,一開始我的方向也很迷茫,自己都不知道有哪些方向。現在漸漸地可以自己找東西學。學東西也更有激情了。如果找不到方向,努力學習演算法與數據結構准沒錯。


這是題外話,就是想知道應該從那裡入手,以及可能出現的各種困難。希望能得到答案,現在很迷茫,看書的時候比較喜歡數據結構呀這種可操作的,但是組成原理什麼真是頭都大了。。。。好像跑偏了。好吧我想知道的是進谷歌概率有多大


經理常說我缺少職場化;經理今天告訴我一定要我們用的高端起來,不然應聘的來看見這什麼玩意就不來了,專業的人和不專業的人一看用的東西就能看出來;經理說不要浪費工作時間做無關的,企業是來要你幹活的;:經理是九幾年就開始玩計算機了


讀研了你導師的方向很重要,要是他到時候讓你做那些不好找工作的方向你哭都來不及,但是去一個好學校的確會有更多的資源,你可以找一個不怎麼管你的導師然後狂自學。


出國吧。

在美國留學,更容易進google。 國內的博士後畢業,去了美國,也只能找個3000美元的工作。


程序猿以男性居多,總得招幾個女的來調節氣氛中和一下吧,女生還是很有優勢的


推薦閱讀:

大學畢業離開家鄉到北上廣工作打拚的程序員們都是怎麼規劃自己的人生的?
大學計算機專業怎麼自主學習?
自學計算機,是搞acm有用還是上coursera有用?
非計算機專業想了解一下編譯原理,大家覺得《自製編程語言》這本書怎麼樣?
你會如何設計大學計算機課程?

TAG:研究生 | 谷歌Google | 計算機專業 |