想成为一名架构师,可是架构师对应的技能,我应该掌握哪些啊?以及掌握的程度是什么样的?如何成为一名真正的实战性架构师?前端
我简要分为如下7点来谈谈,从技能的角度抛砖引玉,但愿你对你架构师之路有必定的参考。mysql
若是你一直关注,会发现我以前分享的阿里面试题系列,有许多关于算法内容,好比:HashMap如何扩容,底层的数据结构发生了怎样的转变。程序员
这就是典型的数据结构基本功,这些掌握很差,在实际编程过程当中,对于性能效率你是不清楚的。所以,我一直强调要重视算法,而且认为至少应该掌握下图中的这几种经常使用算法:数据结构相关的哈希表、链表、二叉树等等。web
编程基本功:Java编程面试
这些都算是编程基本功底:多线程、JVM、并发容器、并发类、NIO等。算法
web开发这个领域,若是你要掌握好了,发展也很是不错。sql
好比:如今的H五、小程序等,对于掌握前端技术的开发人员,竞争力杠杠。mongodb
固然做为后端开发人员,多掌握点前端的技术,那也是必须的。数据库
重点都圈在下图了,这里涉及的技术仍是蛮多的,mysql、oracle、nosql相关的mongodb,以及现在你们都熟知的分库分表、读写分离等技术。编程
除了你们熟知的部分,我补充几个设计相关的内容:数据库设计范式、索引、事务、数据库相关的慢查询、长事务,这些在高并发的状况下,这些也算是数据库技术的编程功底。
Java程序员对于下图应该都是比较熟悉的,这些框架与工具都是常常使用。
谈到设计,就不得不提到项目中的概要设计和详细设计,这就会涉及到UML。
除此以外,整个项目的设计,这个时候考验你的架构设计能力。
这里的架构设计,包含的系列很是多,特别是Redis、应用程序拆分、拆分后涉及到的RPC微服务等技术,以及后端数据库的拆分技术,以及拆分后的分布式集群部署。
分布式会涉及到:分布式锁、全局惟一ID的生成、分布式Session…这里还有蛮多的,其实大部分我都分享过了,基本都在以下的的分布式系列分享专题资料。
从程序员到架构师,是很大的职业转变,也是很多程序员的职场规划路线。以上是我多年从业经验总结,分享给喜欢Java,喜欢编程,有梦想成为架构师的程序员们,但愿可以帮助到大家。
我是mike,10年+程序员。曾前后就任于淘宝、盛大、百度、携程 ,历程高级研发工程师、研发经理、架构师、事业部CTO。坚持写文1年多,原创内容接近400篇,目前粉丝总数7万+,主要分享:BAT面试、架构、招聘等技术内容。
欢迎留言或进个人我的群179961551,本群专用于学习交流技术、分享面试机会,拒绝广告,我也会在群内不按期答题、探讨。