如何成為谷歌的java程序員,你首先要做到這五點!

在現在,就是現在,程序員稱霸武林,但是這是一個現實的社會,并沒有天下第一這么一說,總是人外有人山外有山,想要成為谷歌程序員,你還要聽聽谷歌員工給的5個重要建議。

谷歌員工眼中的 5個關鍵點

第一點:讓我們回到這個問題本身,也即是如何準備才能讓自己成為“優秀”的軟件工程師?

是的!這個問題的剩余部分都是可選的。加入谷歌不是登月計劃。任何優秀的軟件工程師都有好機會成為谷歌工作文化的一部分。問題是你如何定義“優秀”。

這篇文章分享之前我還是要推薦下我自己的Java大神交流群? 561614305 里面會有定期的資料分享和大神之間交流的火花。

第二點:調整態度

在你給谷歌招聘人員留下深刻印象之前,讓我們來看看谷歌的軟件工程師這一角色是否是你真正想要的。

軟件工程師并不是像普遍觀念所說的那樣有趣。除了用戶界面和用戶體驗的職位,通常來說,不管你用什么文字編輯器——Eclipse、Vim或者Emacs——你的屏幕將是黑的,無聊和枯燥的。全職的軟件工程師,不僅需要有從事復雜算法的能力,還需要足夠的包容和耐心來一絲不茍地關注大型程序上的細節。

在谷歌,通常大多數軟件工程師的角色主要是處理數學問題。你掌握了多少種語言或者你把Java、C、C++等玩得多溜是無所謂的。

重要的是這個四個目標:

1、你創造有效算法的能力

2、你閱讀別人寫的代碼以及發現其中存在任何問題的細心品質

3、你的學習和實現新技術趨勢并且適應需求的好奇心

4、最后也是最重要的:你創造了什么,如何創造的?

第三點: 2014年技術發展指南——來自谷歌

作為一個成功的軟件工程師,有著扎實的計算機基礎是很重要的。對于大學生,通過自我把握節奏地親身實踐學習,來專業性地或者非專業性地培養他們的技術能力。

第四點:對專業性學習的建議

1、計算機科學入門課程,注:計算機科學的入門課能提供編程的一些指導。

2、至少用一種面向對象的編程語言寫代碼:C++,Java,或者Python

3、學習其他編程語言,可以將這些語言加到你的倉庫里:Java Script,CSS,HTML, Ruby, PHP, C,Perl, Shell. Lisp,Scheme.

4、測試你的代碼,學會如何跟蹤bugs,創建測試,并且破壞你的軟件

5、培養邏輯思維和積累離散數學知識

6、培養算法和數據結構的深刻理解能力,了解一些基本數據類型(棧、隊列和包),排序算法(快排、合并排序、堆排序)和數據結構二分查找、紅黑樹、哈希表),大O表示法等

7、培養對操作系統的深刻理解能力

8、學習人工智能的知識

9、學習如何構造編譯器

10、學習密碼學

11、學習并行編程

第五點:對非專業性學習建議

1、參與課堂之外的項目。注:創建和維護一個網站,構建你自己的服務器,或者做一個機器人

2、參與大系統(代碼庫)中的小代碼片段,閱讀和理解已有的代碼,查文檔并且跟蹤調試。注:用GitHub來閱讀別人的代碼或者去貢獻一個項目是一種很好的方式。

3、和其他程序員一起參與項目。注:這將會幫你提高在團隊工作的能力,也使你能夠向他人學習。

4、鍛煉你的算法知識和編程能力。注:通過像CodeJam或者ACMICPC這些編程競賽來鍛煉你的算法知識

5、成為一個助教。注:幫助教其他學生將會有助于增加你在這個學科的知識

6、軟件工程方面的實習經歷

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,243評論 25 708
  • 本文把程序員所需掌握的關鍵知識總結為三大類19個關鍵概念,然后給出了掌握每個關鍵概念所需的入門書籍,必讀書籍,以及...
    dle_oxio閱讀 11,207評論 6 244
  • Z君是我的同學,最近因為考研調劑的事忙的焦頭爛額。我和他聊天問他怎么了最近臉色這么差,他說“你知道我考研失敗,調...
    行走的肖閱讀 292評論 0 2
  • 我和老公是大學同學,和所有的年輕人一樣,因為相互愛慕走在了一起。還記得不知多少次故意讓他在宿舍樓外面等我而被...
    wenli7521196閱讀 671評論 0 11
  • 不知道你心目中的英雄是什么樣的,你是否也想成為英雄,我們經??吹诫娪般y幕中的超級英雄,媒體稱頌的人民英雄,你對他們...
    王文勃007閱讀 650評論 0 0