你是Java开发方向发展, 至少要掌握这些应用层的东西:
-
Kafka
-
Mysql
-
Tomcat
-
Docker
-
Spring
-
MyBatis
-
Nginx
-
Netty
-
Dubbo
-
Redis
-
Netty
-
Spring cloud
-
分布式
-
高并发
-
性能调优
-
微服务
-
…
真是不少啊,关键是在应用层学习的时候,要多问为什么? 我建议你用这样的句式: “因为有xxxx的问题,现有的xxx和xxxx解决不了,所有才出现了xxxx这个技术。”
当你在追寻这些技术的本源的时候,对一个技术的思考就会更加深刻,就能超越很多人。
那怎么算把一个原理给掌握了呢? 我认为标准就是你能用自己的语言给别人讲出来,让别人能理解。
二、获取项目经验和最佳实践
只知道原理,还是纸上谈兵,必须得做很多项目,在项目中去体会它们,应用它们,获取一些最佳的实践。
现在能从头开始设计项目的机会不多了,作为初级程序员,只能从现有项目中去学习,去研究下系统中的网络请求是怎么走的? 负载均衡是怎么做的,四层还是七层? 如果做的集群?如何做的复制? …
一定要努力地往上看,看到整个系统,看到端到端的流程,不能把自己局限在一亩三分地里, 做一个认领工作,完成工作的HTML填空人员, 那样路子真的就越走越窄了。
同样,要多问为什么, 在你通过自己或者求助别人探寻答案的时候,也许会发现现有设计的问题,这就是你的机会。
当你从局部慢慢走到整体以后,你的机会自然就越来越多,
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
承担的职责越来越大,话语权越来越重,离架构师越来越近。
三、锻炼自己的抽象能力
写程序是一件挺简单的事情,把一个高中生拉来培训一下,就能写得像模像样。
但是想写好程序又是一件非常难的事情,因为系统越来越复杂,通过堆砌代码的方式来实现,很快就干不下去了,难度会成几何级数增长。
解决这个问题的关键就是抽象,架构师得找到系统中那些不变的东西,把他们作为支点来架起整个系统的设计,升华一下就是一些正交、分层等思想。
通过把系统的组件划分到不同维度,不同层次就可以实现封装“变化”的目标。
这些思想从哪里学习? 怎么内化成自己的能力?
-
一是从项目中来,我相信你的项目肯定有这些思想的体现,只是你去用心去发现。
-
二是阅读书籍,阅读源码,看看牛人们是怎么做的。
-
三是自己要总结思考,总有那么一刻,你会顿悟: 啊,原来如此!
四、要发出自己的声音
做开发的很多都是性格偏内向,喜欢和电脑打交道,但是想发展成架构师,只是闷头干活肯定是不行,必须得在小组内,部门内,公司内发出自己的声音。



