歡迎光臨
每天分享高質量文章

跳槽季,如果這些都不懂就先別跳槽

金三銀四的跳槽熱潮已經來臨,在未來的這兩個月的跳槽季中,作為網際網路行業的三大巨頭,百度、阿裡巴巴、騰訊對於網際網路人才有很大的吸引力,他們的員工也是眾多網際網路同行覬覦的資深工程師、管理者人選。

 

下麵我總結了進入這三家公司你所需掌握的技能:

 

百度篇

  • 熟悉常見設計樣式,掌握java流行的開源框架SpringMVC/Spring Boot/Spring Cloud,熟練使用至少一種 ORM 框架
  • 熟練掌握基本的資料結構和演演算法,有系統分析和設計的實踐經驗
  • 熟悉Rest,HTTP,Socket、webservice、HTTP協議,具備併發、多執行緒的程式設計經驗
  • 對Mysql、Redis、MongoDB 等資料庫有研究或者專案經驗
  • 具有大型網際網路服務設計及開發經驗
  • 熟悉JVM,對JVM有一定理解,並能借助相關工具進行JVM效能調優
  • 熟悉常見的開源分散式中介軟體、快取、訊息佇列等,熟悉nginx,MySQL,Redis,mongodb 等常用的開源軟體
  • 熟悉 MySQL 資料庫設計和最佳化,有 NoSQL 資料庫使用經驗
  • 具有大資料儲存或者高效能運算平臺架構、設計及開發等方面經歷
  • 具有大型網際網路服務設計及開發經驗

 

騰訊篇

  • 精通Web後臺開發語言至少一種(PHP、Java、.Net、C++),有一定的架構能力和良好程式碼規範
  • 熟悉linux/unix系統與開發環境
  • 熟悉TCP/IP協議,socket程式設計
  • 熟悉mysql以及SQL語言
  • 有高效能大容量服務系統設計開發經驗
  • 精通面向物件設計,精通J2EE開發,java web開發
  • 全面並且扎實的軟體知識結構(作業系統、軟體工程、設計樣式、資料結構、資料庫系統、網路安全);
  • 具備良好的分析解決問題能力,能獨立承擔任務和有系統進度把控能力
  • 精通MySQL或Mongo DB,熟悉快取技術memcached、redis
  • 有大型分散式、高併發、高負載、高可用系統設計、開發和調優經驗
  • B/S結構系統分析及設計經驗,有構建可伸縮、可擴充套件、高可用系統經驗
  • 有良好的開發習慣,熟悉Maven, Jenkins, JUnit等工具
  • 精通MVC/REST架構、模板引擎、中介軟體的原理與應用
  • 熟悉MySQL資料庫,瞭解MySQL索引最佳化、查詢最佳化和儲存最佳化

 

阿裡篇

  • 扎實的計算機專業基礎,包括演演算法和資料結構,作業系統,計算機網路,計算機體系結構,資料庫等
  • 具有扎實的Java程式設計基礎,理解IO、多執行緒等基礎框架
  • 熟練使用Linux系統的常用命令及shell有一定瞭解
  • 精通多執行緒程式設計,熟悉分散式,快取,訊息佇列等機制;熟悉JVM,包括記憶體模型、類載入機制以及效能最佳化
  • 精通spring mvc、orm框架(ibatis或hibernate)、模板引擎(velocity)、關係型資料庫設計及SQL
  • 具備良好的面向物件程式設計經驗,深入理解OO、AOP思想,具有很強的分析設計能力,熟悉常用設計樣式
  • 有大型分散式、高併發、高負載、高可用性系統設計和穩定性經驗
  • 熟悉面向物件設計開發,熟悉各種常用設計樣式,並有在具體的應用場景落地經驗
  • 熟悉Spring、iBatis,等開源框架及訊息,儲存等常用中介軟體。 有通讀過開源框架原始碼
  • 熟悉基於Oracle或者Mysql的設計和開發、Linux作業系統
  • 熟悉SOA,有平臺化實施經驗者,有大資料量、高併發系統和大型網站構建經驗
  • 分散式系統應用架構設計與研發經驗,精通Java EE、SOA、OSGI等相關技術
  • 對各種開源的框架如Spring、Hibernate等有深入的瞭解,對框架本身有過開發或重構者可優先考慮
  • 具有大型電子商務網站、O2O行業、C端產品系統架構設計經驗

 

進階篇

 

針對以上各大網際網路公司的需求,小編在這裡也給大家總結出來一個系統的進階路線圖,主要針對3-5年及以上工作經驗的Java開發人員,從廣度到深度來說還算比較全面的。

 

這份路線圖裡面的技術包涵了Java高併發、分散式、微服務、原始碼分析、高效能等技術,這些也是目前網際網路企業比較常用的技術,那麼來詳細看看(圖片可以儲存)。

 

一、原始碼分析

 

學習Java技術體系,設計樣式,流行的框架與元件:

 

  • 常見的設計樣式,編碼必備
  • Spring5,做應用必不可少的最新框架
  • MyBatis,玩資料庫必不可少的元件

 

 

二、分散式架構

 

高併發,高可用,海量資料,沒有分散式的架構知識肯定是玩不轉的:

 

  • 分散式架構原理
  • 分散式架構策略
  • 分散式中介軟體
  • 分散式架構實戰

 

 

三、工程化與工具

 

工欲善其事必先利其器,不管是小白,還是資深開發,玩Java技術體系,選擇好的工具,提升開發效率和團隊協作效率,是必不可少的:

 

  • Maven,專案管理
  • Jenkins,持續整合
  • Sonar,程式碼質量管理
  • Git,版本管理

 

 

四、微服務架構

 

業務越來越複雜,服務分層,微服務架構是架構升級的必由之路,Java技術體系,和微服務相關的技術有哪些呢?

 

  • 微服務框架
  • Spring Cloud
  • Docker與虛擬化
  • 微服務架構

 

 

五:效能最佳化

 

任何脫離細節的ppt架構師都是耍流氓,向上能運籌帷幄,向下能解決一線效能問題,Java技術體系,需要瞭解:

 

  • 效能指標體系
  • JVM調優
  • Web調優
  • DB調優

 

 

如何一起學習,有沒有免費資料?

 

以上是自己收集總結的Java架構技術圖譜,自己因為比較喜歡技術,所以收集了一些Java高併發、分散式、JVM、spring、原始碼分析和kafka等架構技術資料,如果你也對技術感興趣可以來我的Java後端社群(109654131),可以到群裡來下載這些資料,歡迎大家進群討論與學習。

贊(0)

分享創造快樂