1. 程式人生 > >BAT等一線網際網路公司中,Java開發的招聘標準

BAT等一線網際網路公司中,Java開發的招聘標準

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

阿里巴巴篇

紮實的計算機專業基礎,包括演算法和資料結構,作業系統,計算機網路,計算機體系結構,資料庫等

具有紮實的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索引優化、查詢優化和儲存優化

以上這些都是我去這三家公司面試回來後總結出來的技能要點,如果有興趣可以繼續往下觀看我提供的學習路線,可以幫助你順利進入這三家公司:

(Java程式設計師的進階之路如下)

1.閱讀原始碼

 

2.1分散式架構

 

2.2分散式架構

 

2.3分散式架構

 

3.微服務架構

 

4.併發程式設計

 

5.效能優化

 

6.DevOps

7.專案實戰

文章中涉及到的技術點我都分享在群 692-845-439裡,錄製成視訊供大家免費下載,希望可以幫助在這個行業發展的朋友和童鞋們,在論壇部落格等地方少花些時間找資料,把有限的時間,真正花在學習上,所以我把這些資料,分享出來。相信對於已經工作和遇到技術瓶頸或者寫部落格碼友,在這份資料中一定都有你需要的內容。