想成为一名架构师,但是架构师对应的技能,我应该掌握哪些啊?以及掌握的程度是什么样的?如何成为一名真正的实战性架构师?

我简要分为以下7点来谈谈,从技能的角度抛砖引玉,希望你对你架构师之路有一定的参考。

编程基本功:数据结构和算法

如果你一直关注,会发现我之前分享的阿里面试题系列,有许多关于算法内容,比如:HashMap如何扩容,底层的数据结构发生了怎样的转变。

这就是典型的数据结构基本功,这些掌握不好,在实际编程过程中,对于性能效率你是不清楚的。因此,我一直强调要重视算法,并且认为至少应该掌握下图中的这几种常用算法:数据结构相关的哈希表、链表、二叉树等等。

编程基本功:Java编程

这些都算是编程基本功底:多线程、JVM、并发容器、并发类、NIO等。

Web开发

web开发这个领域,如果你要掌握好了,发展也非常不错。

比如:现在的H5、小程序等,对于掌握前端技术的开发人员,竞争力杠杠。

当然作为后端开发人员,多掌握点前端的技术,那也是必须的。

数据库

重点都圈在下图了,这里涉及的技术还是蛮多的,mysql、oracle、nosql相关的mongodb,以及如今大家都熟知的分库分表、读写分离等技术。

除了大家熟知的部分,我补充几个设计相关的内容:数据库设计范式、索引、事务、数据库相关的慢查询、长事务,这些在高并发的情况下,这些也算是数据库技术的编程功底。

研发相关的框架工具

Java程序员对于下图应该都是比较熟悉的,这些框架与工具都是经常使用。

架构设计

谈到设计,就不得不提到项目中的概要设计和详细设计,这就会涉及到UML。

除此之外,整个项目的设计,这个时候考验你的架构设计能力。

这里的架构设计,包含的系列非常多,特别是Redis、应用程序拆分、拆分后涉及到的RPC微服务等技术,以及后端数据库的拆分技术,以及拆分后的分布式集群部署。

分布式会涉及到:分布式锁、全局唯一ID的生成、分布式Session…这里还有蛮多的,其实大部分我都分享过了,基本都在如下的的分布式系列分享专题资料。

从程序员到架构师,是很大的职业转变,也是不少程序员的职场规划路线。以上是我多年从业经验总结,分享给喜欢Java,喜欢编程,有梦想成为架构师的程序员们,希望能够帮助到你们。

最新文章

  1. 18种CSS3loading效果完整版,兼容各大主流浏览器,提供在线小工具使用
  2. Android锁屏软件
  3. 《JAVA核心技术卷 卷1 基础知识》
  4. 11个让你吃惊的Linux终端命令
  5. 使用C#创建winform窗体,修改debugwen文件夹下exe应用程序的默认图标
  6. 判断联网wifi
  7. Dokan虚拟磁盘开发实战
  8. vue2入坑随记(二) -- 自定义动态组件
  9. STM32——GPIO之从库函数到寄存器的前因后果
  10. SQL 一列拆分多行
  11. Atitit s2018 s4 doc list dvchomepc dvccompc.docx .docx \s2018 s4 doc compc dtS44 \s2018 s4 doc dvcCompc dtS420 \s2018 s4f doc homepc \s2018 s4 doc compc dtS44\(5 封私信 _ 44 条消息)WebSocket 有没有可能取代 AJAX
  12. win10下Spark的环境搭建
  13. f5单台安装配置
  14. 总结java中的super和this关键字
  15. LeetCode 48. Rotate Image My Submissions Question (矩阵旋转)
  16. ENVI数据格式
  17. windowsmobile 开发环境
  18. 学习node js 之微信公众帐号接口开发 准备工作之三
  19. C#同步、异步编程
  20. oracle-分区(笔记)

热门文章

  1. 11个炫酷的 Linux 终端命令
  2. java(itext) 一个很简单的PDF表格生成工具
  3. NC57访问报错:java.sql.SQLException: Io 异常: Got minus one from a read call
  4. 入口类和@SpringBootApplication
  5. 跨平台移动开发phonegap/cordova 3.3全系列教程-开发环境搭建
  6. SQL Server 08版与14版处理重复行的方式
  7. linux 命令——12 more (转)
  8. JS encodeURIComponent函数
  9. 用TreeView控件遍历磁盘目录
  10. TypeScript 编译选项