BAT大廠招聘Java程序員,都是啥標準?

今天整理了一篇Java 程序員面試大廠的技術標準,看看你還差多少?(送大廠面試資料)

阿里巴巴

扎實的計算機專業(yè)基礎,包括算法和數(shù)據(jù)結構,操作系統(tǒng),計算機網(wǎng)絡,計算機體系結構,數(shù)據(jù)庫等
具有扎實的Java編程基礎,理解IO、多線程等基礎框架
熟練使用Linux系統(tǒng)的常用命令及shell有一定了解
精通多線程編程,熟悉分布式,緩存,消息隊列等機制;熟悉JVM,包括內存模型、類加載機制以及性能優(yōu)化
精通spring mvc、orm框架(ibatis或hibernate)、模板引擎(velocity)、關系型數(shù)據(jù)庫設計及SQL
具備良好的面向對象編程經驗,深入理解OO、AOP思想,具有很強的分析設計能力,熟悉常用設計模式
有大型分布式、高并發(fā)、高負載、高可用性系統(tǒng)設計和穩(wěn)定性經驗
熟悉面向對象設計開發(fā),熟悉各種常用設計模式,并有在具體的應用場景落地經驗
熟悉Spring、iBatis,等開源框架及消息,存儲等常用中間件。有通讀過開源框架源碼
熟悉基于Oracle或者Mysql的設計和開發(fā)、Linux操作系統(tǒng)
熟悉SOA,有平臺化實施經驗者,有大數(shù)據(jù)量、高并發(fā)系統(tǒng)和大型網(wǎng)站構建經驗
分布式系統(tǒng)應用架構設計與研發(fā)經驗,精通Java EE、SOA、OSGI等相關技術
對各種開源的框架如Spring、Hibernate等有深入的了解,對框架本身有過開發(fā)或重構者可優(yōu)先考慮
具有大型電子商務網(wǎng)站、O2O行業(yè)、C端產品系統(tǒng)架構設計經驗

百度

熟悉常見設計模式,掌握java流行的開源框架SpringMVC/Spring Boot/Spring Cloud,熟練使用至少一種 ORM 框架
熟練掌握基本的數(shù)據(jù)結構和算法,有系統(tǒng)分析和設計的實踐經驗
熟悉Rest,HTTP,Socket、webservice、HTTP協(xié)議,具備并發(fā)、多線程的編程經驗
對Mysql、Redis、MongoDB 等數(shù)據(jù)庫有研究或者項目經驗
具有大型互聯(lián)網(wǎng)服務設計及開發(fā)經驗
熟悉JVM,對JVM有一定理解,并能借助相關工具進行JVM性能調優(yōu)
熟悉常見的開源分布式中間件、緩存、消息隊列等,熟悉nginx,MySQL,Redis,mongodb 等常用的開源軟件
熟悉 MySQL 數(shù)據(jù)庫設計和優(yōu)化,有 NoSQL 數(shù)據(jù)庫使用經驗
具有大數(shù)據(jù)存儲或者高性能計算平臺架構、設計及開發(fā)等方面經歷
具有大型互聯(lián)網(wǎng)服務設計及開發(fā)經驗
騰訊

精通Web后臺開發(fā)語言至少一種(PHP、Java、.Net、C++),有一定的架構能力和良好代碼規(guī)范
熟悉linux/unix系統(tǒng)與開發(fā)環(huán)境
熟悉TCP/IP協(xié)議,socket編程
熟悉mysql以及SQL語言
有高性能大容量服務系統(tǒng)設計開發(fā)經驗
精通面向對象設計,精通J2EE開發(fā),java web開發(fā)
全面并且扎實的軟件知識結構(操作系統(tǒng)、軟件工程、設計模式、數(shù)據(jù)結構、數(shù)據(jù)庫系統(tǒng)、網(wǎng)絡安全);
具備良好的分析解決問題能力,能獨立承擔任務和有系統(tǒng)進度把控能力
精通MySQL或Mongo DB,熟悉緩存技術memcached、redis
有大型分布式、高并發(fā)、高負載、高可用系統(tǒng)設計、開發(fā)和調優(yōu)經驗
B/S結構系統(tǒng)分析及設計經驗,有構建可伸縮、可擴展、高可用系統(tǒng)經驗
有良好的開發(fā)習慣,熟悉Maven, Jenkins, JUnit等工具
精通MVC/REST架構、模板引擎、中間件的原理與應用
熟悉MySQL數(shù)據(jù)庫,了解MySQL索引優(yōu)化、查詢優(yōu)化和存儲優(yōu)化
BAT技術專家,他們的技術能力都需要達到什么程度?
通常都是百度、阿里巴巴、騰訊、,那BAT的技術專家相當于是騰訊T4技術專家、阿里P8高級技術專家級別,是一線Team leader或者二級域架構師,需要對一個領域的業(yè)務非常熟悉并且能夠將影響力輻射到其他合作團隊。
一般來說一些業(yè)務架構、應用架構、產品功能決策、技術選型、協(xié)作分工等問題應該在技術專家層次終結,技術專家是一線作戰(zhàn)的小隊長,向下提供決策,向上提供有效的信息。
BAT是國內技術大廠,所以可以參考BAT的標準,而對技術專家的要求是什么呢,以下4個小結可以作為參考。
1.代碼能力
代碼能力是基本功,Java語言本身,包括語言的各個方面包括對并發(fā)的理解,對內存使用對理解,對Java運維的理解等等,語言本身外,社區(qū)里常用的框架是否可以十分清晰的了解,包括spring,包括他實現(xiàn)的ioc,aop,orm,web機制是否有清楚的認識,有豐富的經驗等等。
2.對常用中間件的理解
畢竟在一個大系統(tǒng)中,各種中間件是是否常見的,緩存中間件,消息中間件,例如 redis、memcache、rmq這些,要理解常用中間件使用場景,使用姿勢(例如redis的常用命令),甚至包括他的一些運維,一旦出了問題,除了專門的運維人員,也需要你參與問題的排查,因為有時候這些中間件出現(xiàn)問題,是不當?shù)氖褂米藙菀鸬摹?/p>
3.架構、業(yè)務落地能力
前面提到了語言本身,各種中間件,如果你有很好的業(yè)務抽象能力和架構思維,就可以把一款部門內部產品很好的設計并實施了,這點蠻難的,想必都有過接手現(xiàn)有項目的經歷吧,有時候真恨不得把之前的設計者拿出來批斗,作為一個設計者,你能否做到當下一個接手它的人會說一句,這個系統(tǒng)設計的真好,穩(wěn)定又可拓展,理解起來也很容易。
4.溝通協(xié)作
畢竟一個部門內部產品,是不可能由一個人完成的,所以需要溝通協(xié)作,把設計好的方案,要和2-3個小伙伴一起實施,包括同樣身份的后端人員,前端人員,產品等角色,這個級別的人可能會參與帶2-3個人,例如應屆畢業(yè)等,所以你自己對知識的把握,分享精神,leadership都是很好的加分項。
如果你也想進BAT,通過學技術獲得更好的未來,現(xiàn)在就開始行動吧!
我整理了大廠的面試要求和面試資料,有需要的可以私我領取