导语
有小伙伴今天问我,说他现在已经工作四年多了,但是薪资老是不涨,想要拿到月薪50k,问到我需要怎么学习,30k的月薪在大厂是比较普遍的,但是想要拿到50k的月薪感觉是有点难。这时候你已经是一名中型架构师了。
谈的话必然说些干货,首先你要知道你的薪资和企业的效益是否成正比,企业肯定是想要靠你带来效益,你的水平要远远比你的薪资待遇要求的水平搞得多。
学习什么
第一是性能,你能设计多少用户并发的系统,作为系统架构师,当你的系统变的庞大的同时,性能方面就会有所下降,作为一名优秀的架构师,性能优化是你必须考虑的问题,你要熟悉jvm底层原理,知道怎么对jvm内存优化,精通各个中间件,并熟悉中间件的性能优化。
比如tomact优化,nginx优化,netty优化,数据库你要精通sql调优,能够洞悉性能的本质,全面认识性能优化,你设计的系统很快,能够在有限的资源内经历压力测试,那么你就合格了。
熟练使用队列中间件,消息推送,异步处理,降低耦合度,削峰,缓解系统压力。
故障快速定位
深入内核,当问题发生后,你能够直击故障,问题发生后,以你的经验和能力快速定位问题,并高效地找出解决方案。
开源框架
源码一定要读,并且深入理解其编程思想,常用设计模式熟记于心,自己能够写出别人眼中的大牛代码,提高自己的代码功力,记住不写代码的架构师,不是一个好架构师。精通使用各种框架,并深入理解其实现原理。基础一定要好,什么是对象池,连接池,线程池,以及java反射技术这些必须精通。
数据结构和算法
我工作遇到一个同事,它坚持每天刷算法题,每天至少5道,没有时间都是加班到很晚,现在已经达到了p7的水平,我这样谈他不是说他多优秀,而是数据结构和算法对于架构师来时是特别重要的。数组,链表,hash等。
网络编程
这个没什么可说的,,并且能够对高并发网络有自己的优化方案。
分布式集群
亿级流量有自己的解决方案,自己研究过负载均衡,静态代理底层,分布式事务解决,分布式存储方案自己都要能够拿主意。
总结
作为架构师,你要有全站的思维,能够设计出成本低,性能高,满足业务需求,能够预见下一阶段发生什么并提前做好解决方案,这才是一个优秀的架构师所具备的能力。