1. 熟练掌握 Java 语言,具有较丰富的高并发服务端开发经验;理解 JVM 基本原理,有实际的 JVM 故障排查 和性能调优的经验。
2. 熟悉 Maven 项目管理工具,SVN、GIT 版本控制系统;熟悉 linux 的日常操作,熟练使用 shell,awk 等。
3. 熟悉 Java 多线程不网络编程,使用 mina 和 netty 进行网络编程的项目开发,学习过部分 Java NIO 和 Netty 的部分源码。
4. 理解数据库的基本原理,熟练使用 Mysql。
5. 理解缓存和队列的基本原理,具有较丰富的memcached、redis、rocketMQ的使用经验。学习过libevent, memcached,redis 的源码。
6. 熟悉 Spring,MyBatis 等开源框架,学习过 Spring IOC 部分的源码。
7. 熟悉 RPC 的基本原理,有较为丰富的微服务架构和调优经验。
8. 熟悉 C、C++、Python 语言。
9. 熟悉常用的算法和设计模式,能够应用到实际的项目开发中。