一.阿里新零售 資深 Java 開發工程師
- Java 基礎扎實,理解 io、多線程、集合等基礎框架,對 JVM 原理有一定的了解;
- 對於你用過的開源框架,能了解到它的原理和機制;對 Spring、ibatis 開源框架熟悉;
- 掌握多線程及高性能的設計與編碼及性能調優;有高並發應用開發經驗;
- 學習能力強,適應能力好,抗壓能力強;
- 深刻理解企業應用設計模式,有大型分布式,高並發,高負載,高可用性系統設計開發經驗;
二. 中高級java工程師應該掌握的技能
1、對於Java基礎技術體系(包括JVM、類裝載機制、多線程並發、IO、網絡)有一定的掌握和應用經驗。
JVM內存分配、JVM垃圾回收;
類裝載機制;
性能優化:
反射機制;
多線程;
IO/NIO; http://developer.51cto.com/art/201112/307172.htm
網絡編程;
常用數據結構和相關算法:
2、對面向對象的軟件開發思想有清晰的認識、熟悉掌握常用的設計模式;
設計模式:單例模式;工廠模式;代理模式;模板方法模式;責任鏈模式等
3、熟練掌握目前流行開源框架(spring/springmvc/ibatis),並且對其核心思想、實現原理有一定認知;
開源框架:spring;
4、熟悉Oracle、MySQL等數據庫開發與設計以及緩存系統Redis或 Memcached的設計和研發;
關系數據庫:oracle
關系數據庫:PostgreSQL
緩存系統:Redis(Nosql)
緩存系統:Memcached
5、熟悉底層中間件、分布式技術(包括緩存、消息系統、熱部署、JMX等)
底層中間件:
應用服務器:Jetty(Tomcat)
消息中間件:ActiveMQ、RabbitMQ
事務處理中間件:
數據訪問中間件:ODBC
工作流中間件:JBPM
分布式技術:
緩存系統:
消息系統:
Restful:
熱部署:
JMX:
7、精通shell編程,熟練應用awk、sed、grep、strace、tcudump、gdb等常用命令;
8、有大型分布式、高並發、高負載(大數據量)、高可用性系統設計開發經驗
分布式:(多節點部署)
高並發:
高負載(大數據量):
高穩定:
高可用:
10、業務能力:
系統升級、雙機、部署、容災、備份恢復、DFX
加分技術:
腳本語言:Python
遠程調用:
精通Internet基本協議(如TCP/IP、HTTP等)內容及相關應用
有一定安全意識並了解常見的安全問題解決方案
熟悉常見的一些解決方案及其原理:單點登錄、分布式緩存、SOA、全文檢索、消息中間件,負載均衡、連接池、
nosql、流計算等;