成为1个技术大牛的入门到进阶之路(学习路线图)

计算机领域技术更迭非常之快,内容博大精深。涉及到分布式架构,更是分支众多,知识庞杂。很多新人在最初往往找不到头绪,不知道从何处下手来一步步提升自己的技术水准。

 

本文将介绍要成为1个技术大牛的18般兵器谱,以及这条打怪升级之路,希望可以让新人少走弯路,在这条路上一步步提升自己。

 

阶段1:  计算机功底

(1)常用数据结构,算法的时间/空间复杂度的计算(随便找本大学教科书都有的内容)

(2)Linux操作系统(从各种命令操作,到原理的理解:比如各种IO,磁盘文件组织、进程与内存管理、epoll)

(3)多线程(无论是用Java的Concurrent Util,还是C++直接用Liunx的pthread,原理都一样。各种线程同步机制的深刻理解)

(4)网络(知道一个完整的socket c/s程序是如何写的,TCP/IP协议的原理)

(5)数据库(比如B+树为什么可以实现关系数据库的各种查询方式、排序,比如事务的隔离级别)

(6)精通1门语言:不是只会用语法,而是能深刻理解语言下面的实现机制。如果你搞Java,怎要很好理解JVM的各种机制,class loader,内存模型,注解,动态代理。。;

如果你搞C++,需要理解编译、链接、运行的整个过程,对象在内存里面如何布局的,多态咋实现的(这方面书籍狂多,随便找1本国外大牛的书,好好啃完,对语言的理解就会深刻很多);

如果你搞其他语言,比如PHP,Go, Rust,同样的,除了很熟练的会用,可以去理解背后的实现原理。

 

阶段2: 能用框架搭建各种系统

你可以用各种开源框架,搭建常用的Web应用,以Java为例:

Nginx,SpringMVC, Dubbo或者Spring Cloud,Mysql,Redis/Memcached,TFS,Kafka或者RocketMQ,CDN等

 

当然,非Web应用,比如IM这种,也有类似的各种框架(XMPP协议的实现),或者第3方支持的。

 

在这个阶段,也就知道了各种框架怎么用的,面对各种五花八门的业务,你都可以搭建出符合需求的系统出来:

Nginx的负载均衡;

SpringMVC的Web应用;

Dubbo/Spring Cloud的微服务框架;

Redis的分布式缓存;

Kafka的分布式队列;

CDN的静态内容分发;

TFS的分布式文件存储;

 

阶段3:  基础架构与中间件的原理

到了这个阶段,就需要的不光是用,而是对原理的深刻理解,有必要的看看源码。

用Redis Cluster,知道有哪些关键特性,这些特性的原理有好的理解;

用Kafka,知道Kafka为什么快,为什么高可用,其实现原理是什么。。

用Dubbo,知道网络IO怎么玩的,服务注册怎么搞的,动态代理用来干嘛。。

。。

对于做偏业务架构的人来说,这个阶段,只要原理很清楚就可以;

但如果就是做基础架构,那就不是光原理清楚了,而是要精通,对源代码很熟。

 

 

阶段4:  高并发 & 高可用 & 稳定性 & 一致性

到了这个阶段,可以说“术”这个层面已经很成熟,接下来就是要修“道”了。

我所说的“道”,就是指解决问题的方法论,成体系的方法,可以让上面这些武器、招式,在你的手上流畅发挥,让你面对任何问题的时候,都能从容应对。

 

第1种道:C端的大型系统,能够出完善的技术设计方案,在高并发、高可用、稳定性、一致性方面,都有很好的考虑。

 

阶段5:业务建模、业务架构

第2种道:B端的大型业务系统。

C端的东西,用户访问量很大,但业务逻辑相对简单。

而B端的系统,往往流程很长,功能模块狂多,开发团队人数多,流程与流程之间还各种耦合。在这种情况下,如果不能站在技术上面,更抽象的看整个系统,会面临失控的局面。到最后,就是没有人能说清楚这个系统到底干了多少事情。

 

所以,在这个阶段,需要能对整个业务做一个逻辑上的架构,这个逻辑架构最终会达到下面几个目的:

(1)整个系统具有很有的复用性、扩展性,不拖业务后腿

(2)团队人员,可以依据这个架构进行分工,高效协作

(3)更高级的,有前瞻性的,不仅不拖业务后腿,反而给了业务发挥空间。

 

阶段6:团队与领导力

这个阶段,就不光是技术的问题了。团队管理能力、综合素质、行业机遇、公司机遇、耐心。。种种因素的综合,让你可以带领1个很大的团队,做一个完整的业务,然后带更大的团队,做更大的业务。。。

 

写在最后:几个关键点

(1)上面的6个阶段,不是1个线性的过程,而是1个螺旋上升的过程,这也是事务发展的普适规律。越是大牛,往往越重视功底,到后面了,发现前面功底还不够,又回去更深的研究功底。

(2)空杯心态:其实除了上面列举的还有很多东西需要了解,比如机器学习、大数据、区块链。。这也是我在另外一篇文章提到的。活到老,学到老。

(3)到了后面,就超出了技术可主导的范畴了。现实中种种因素的合力,让你站在人生的某个位置。(此处不谈人生)

(4)兴趣。任何一个技,一个艺,都是十年磨一剑,没有兴趣,光凭毅力是持久不了的。

(5)耐心。再复杂的东西,都是从1+1=2开始的,单独看某1步,并不难;一点点的累积,累积到最后,你就觉得很复杂了。而这个过程,就需要你有耐心,从1+1=2开始。

 

原文链接:https://mp.weixin.qq.com/s?__biz=MzU3NjU3NjYxMA==&mid=2247484107&idx=1&sn=f66977dbc7d47952bbe26c380d7128cb&chksm=fd108fc6ca6706d05cdf45240322ba9965790dd547ebd5e5fd7a165e3608ce4b8a946022d73c&mpshare=1&scene=1&srcid=&key=fba4f05adcd5d8263ac5848cfa93405cd1f0fadd3a89eb6c3dc98495b6256e63eb88725392068a2ecdc69384fa317ec1ca1913f6f893bea585e610881ebb7755810bad88a28ad0177ff715b0705da521&ascene=1&uin=MTczMTQxNDkwNA%3D%3D&devicetype=Windows+7&version=62060739&lang=zh_CN&pass_ticket=VtTLAbcL9tEEZerArcTxvO9p%2Fv6mgUjSFZj%2FlMx2xHqskbs1ibaLkXCwk%2B6S8ibE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值