1、Java基础技术体系掌握牢固:
2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式:
3、目前流行开源框架,除了熟练使用,还需要掌握核心原理和实现
建议看源码以及debug配合掌握实现原理。 4、熟悉Oracle、MySQL等SQL,以及MongoDB等NoSQL开发。
5、CDN,以及分布式缓存系统Redis或 Memcached的设计和研发 CDN与分布式缓存的设计原理其实是一致的,重点你需要掌握两者之间的区别和使用场景。 6、熟悉底层中间件、分布式技术(包括缓存、消息系统、热部署)、消息中间件:Kafka、ActiveMQ、RabbitMQ,工作流中间件:JBPM。
7、精通shell编程,熟练应用awk、sed、grep、strace、tcudump、gdb等常用命令。 8、有大型分布式、高并发、高负载(大数据量)、高可用性系统设计开发经验。 大型分布式就会设计到高并发解决方案,以下有相关的知识。 9、对配置管理和敏捷研发模式有所了解(svn,git)。 10、熟悉常见的一些解决方案及其原理:单点登录、分布式缓存、SOA、全文检索、消息中间件,负载均衡、连接池、流计算等。 11、能大概知道市面上主流技术的特点及业务瓶颈,例如秒杀系统等如何设计。 相关的知识整理如下: |
|