原文由SnailClimb發表在簡書。感謝前輩的經驗~java
應屆生校招立刻開始了,在這兩個月的求職旺季中,做爲互聯網行業的三大巨頭,百度、阿里巴巴、騰訊對於互聯網人才有很大的吸引力,他們的員工也是衆多互聯網同行覬覦的資深工程師、管理者人選。 下面我總結了進入這三家公司你所需掌握的技能: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端產品系統架構設計經驗
百度篇
- 熟悉常見設計模式,掌握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索引優化、查詢優化和存儲優化
以上這些都是我去這三家公司面試回來後總結出來的技能要點,若是有興趣能夠繼續往下觀看我提供的學習路線,能夠幫助你順利進入這三家公司:如下這些技術我總結了不少面試資料,無論能不能進入BAT公司,都能面上滿意的公司。linux
框架和源碼
分佈式架構
微服務架構
性能優化
多線程併發
Java開發工具
另外,但願能進階到大數據開發的同窗能夠關注個人公衆號,目前正在連載從java小白轉到大數據開發的學習路徑。nginx
公衆號
-
全網惟一一個從0開始幫助Java開發者轉作大數據領域的公衆號~web
-
大數據技術與架構或者搜索import_bigdata關注~面試
-
海量【java和大數據的面試題+視頻資料】整理在公衆號,關注後能夠下載~redis