工作多少年了,还在传统公司写if / for 等简单的代码?那你就真的要被社会淘汰了,工作多年其实你与初级工程师又有多少区别呢?那么作为一个高级Java攻城狮需要突破哪些知识点呢?
1、Java基础技术体系、JVM内存分配、垃圾回收、类装载机制、性能优化、反射机制、多线程、网络编程、常用数据结构和相关算法。
2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式。
3、熟练掌握目前流行开源框架(spring/springmvc/ibatis),并且对其核心思想、实现原理有一定认知。
4、熟悉Oracle、MySQL等数据库开发与设计以及缓存系统Redis或 Memcached的设计和研发。
5、熟悉底层中间件、分布式技术(包括缓存、消息系统、热部署)、消息中间件:ActiveMQ、RabbitMQ、工作流中间件:JBPM。
6、精通shell编程,熟练应用awk、sed、grep、strace、tcudump、gdb等常用命令。
7、有大型分布式、高并发、高负载(大数据量)、高可用性系统设计开发经验。
8、对配置管理和敏捷研发模式有所了解(svn,git)。
9、熟悉常见的一些解决方案及其原理:单点登录、分布式缓存、SOA、全文检索、消息中间件,负载均衡、连接池、流计算等。
10、能大概知道市面上主流技术的特点及业务瓶颈。
好了,看完大概知道自己哪里不足,2018要学习补充什么知识了吧!做程序员真的不容易!
2018我们一起加油