一.阿里新零售 资深 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、流计算等;