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

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

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

 

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

 

百度篇

  • 熟悉常見設計樣式,掌握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)

分享創造快樂