成长为Java架构师必须突破的11个技术点

1、Java基础技术体系掌握牢固:

  • JVM内存分配
  • 垃圾回收
  • 类装载机制
  • JVM性能优化
  • 反射机制
  • 多线程
  • 网络编程
  • 常用数据结构和相关算法

2、对面向对象的软件开发思想有清晰的认识、熟悉掌握常用的设计模式:

  • 熟练使用UML工具以及各种流程图
  • 经典的设计模式会手写以及熟知使用场景
  • 概要设计与详细设计
  • 面向对象的核心思想需要运用在代码编程中,例如:高内聚低耦合

3、目前流行开源框架,除了熟练使用,还需要掌握核心原理和实现

  • Spring
  • Springmvc
  • MyBatis

建议看源码以及debug配合掌握实现原理。

 

4、熟悉Oracle、MySQL等SQL,以及MongoDB等NoSQL开发。

  • 特别是MySQL,相关的索引优化、SQL查询优化、慢的事务优化等,以及MySQL的分库分表等也需要掌握。
  • MongoDB等典型的NoSQL大数据场景设计

5、CDN,以及分布式缓存系统Redis或 Memcached的设计和研发

CDN与分布式缓存的设计原理其实是一致的,重点你需要掌握两者之间的区别和使用场景。

 

6、熟悉底层中间件等分布式技术

  • 分布式技术涉及范围比较广,例如相关的消息中间件就会涉及到3个以上,为什么要选择Kafka或者RabbitMQ,选择和比较需要掌握。
  • 除此之外,很多内部系统还会涉及到JBPM工作流中间件等。

7、精通shell编程,熟练应用awk、sed、grep、strace、tcudump、gdb等常用命令。

8、有大型分布式、高并发、高负载(大数据量)、高可用性系统设计开发经验。

大型分布式就会设计到高并发解决方案,以下有相关的知识。

9、对配置管理和敏捷研发模式有所了解。

 

  • jekins、nexus、git等
  • 敏捷开发、极限编程等

 

10、熟悉常见的一些解决方案及其原理

单点登录、分布式缓存、SOA、全文检索、消息中间件,负载均衡、连接池、流计算等。

11、能大概知道市面上主流技术的特点及业务瓶颈

例如秒杀系统等如何设计。

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

2 条回复 A文章作者 M管理员
  1. 不错

  2. 好东西,已朋友圈分享!