之前我写过一篇博文,架构师更多的是和人打交道,说说我见到和听说到的架构师升级步骤和平时的工作内容,反响不错,所以今天我再回顾下我在架构师方面的学习途径和学习方式,也总结下我在这方面踩过的坑,从而让大家别再重犯。
1 刚开始,只知道架构师很挣钱,但不知道该学什么
我自认为还算比较上进,所以,在java高级开发的岗位上也是不断学习,根据学习结果整理了一本书,**java web轻量级开发面试教程,**当时感觉在这个级别里也不算差了,就萌生了升级的想法。
当时再往上升,有项目经理和架构师等选择,一方面,我听说架构师很挣钱,另一方面,我也想再深入了解些技术,所以就想往这方面转。当时我是很迷茫的,甚至不知道该学什么,以及该怎么学。
那个时候,我就开始用面试来探路了,投了不少公司的架构师职位,记得当年面试真的是答非所问。
面试官的问题1:你用过什么架构?他的本意可能是问分布式架构,比如Dubbo等。
我只能回答出,我用过Spring MVC,其它就不知道。
面试官的问题2:在项目里,怎么应对高并发流量?
我的回答是,靠多线程,以及Servlet3.0的并发功能。
面试官的问题3:你们在数据库层面,如果应对海量的操作?
我的回答是,用SQL调优技术,根据执行计划,看Oracle执行的瓶颈。
这个问题可能面试官想了解集群等方面的知识,但我只能从单机版的方面回答。
总之,当时的回答很多是答非所问,幸好当时的面试是用来试错。
回想起当时的场景,虽然到处到网上搜诸如“java架构师的技能“等关键字,也看了不少资料,面试回来也赶紧补课,但总体上,甚至无法建立起学习规划,所以当时的学习效率并不高。
2 过于偏重代码层面的解决方案,其实也得靠组件
因为当时在高级开发阶段,自己动手搭建过spring mvc等的实现方式,很多问题都是自己写模块来解决的,所以就认为很多架构级别的事情,更多的得靠自己写代码来解决,而架构师应当更多关注系统的结构。
比如,当时我在学习负载均衡,总想着自己写一个模块,通过NIO或队列的形式,自己把请求转发到合适的服务器上,又如,在安全容错方面,总想着自己写一个异常处理的模块,来解决超时的请求。
这种做法本身没错,因为资深级别的架构师确实是自己通过代码写诸如负载均衡等的实现方案,但在刚开始的升级阶段,更多的得靠现有的组件来解决实际问题。
这就好比一个画家在成名后,能自己创作出各种艺术精品,但在学习阶段,更多是通过临摹大师的作品来体会大师们的创作思路。所以,在学习阶段,架构师不能指望一步登天,总是先通过了解现有组件的代码和实现方式,来慢慢积累经验。
3 陷入各组件的细节中
在经过一些大神的帮助后,我也知道了一些架构级别的组件,比如消息级别的组件Kafka,以及zookeeper等,这时,当我看到这些组件神奇的功效后,就忍不住去看底层实现,当我沉浸于底层实现的精妙时,就不知不觉地陷入到它们的细节中。
这时,我确实能向别人吹嘘某种组件的底层实现细节,让别人也感觉我很厉害,但仅此而起。
当我了解到一个个组件的实现细节后,也发现自己确实也长了不少知识,但对实际工作的帮助并不大。
现在回想下,当时应当是先了解面上的知识点,比如我要搭建一个分布式高并发的系统,我应当了解这个系统应当包括哪些功能模块(比如反向代理,数据库集群,消息中间件等),在这基础上,然后在每个方面再选用合适的组件。
否则的话,光了解零件的构造,不了解机器的工作机制和流程,还是无法成为架构师。
4 学了一大堆组件,也了解了很多方向,但要把组件组装到一起,不容易
在陷入学习细节的学习误区后,我发现无法有效地把了解到的组件整合到一起,比如怎么把反向代理nginx和消息中间件整合到一起,这样就无法让多个组件起到1加1大于2的作用了。
这时,我就结合了具体的业务功能,看了不少代码,或者是别人的解决方案,终于知道各组件之间是怎么整合的。
而且,在此基础上,也开始自己动手组装一些组件。在刚开始的阶段,自己搭建的这些系统只能是实现功能,效果和外观上只能是呵呵了。但我感觉很欣慰,至少能动手实践了,能通过对比自己和大神之间的成果来了解进步方向了。
5 后来发现架构师更得考虑可重用和可维护性
经过不断徘徊和摸索,现在发现,架构师的能力其实是体现在日常工作中的,在一个项目里,并不是架构师搭建好系统架构体系后就什么都不干了,架构师在项目开发过程中,更能帮助组员搭建出可用性高和可维护性强的应用系统,后者其实更能体现出架构师的能力。
比如某个收银系统得支持预付卡,银行卡,微信,支付宝还有积分等的支付方式,而且支付的渠道还得分银联和网联以及门店等,如何搭建一个能支持上述渠道和上述支付方式的系统?
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
最新整理电子书
试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
[外链图片转存中…(img-UfhntVEX-1718919964404)]
最新整理电子书
[外链图片转存中…(img-QqzX2EQc-1718919964404)]