这才是高手!Java大牛腾飞指南

这才是高手!Java大牛腾飞指南

编者有言:每个大牛的诞生都是从菜鸟起步的,只是在成长的过程中,他们为自己设立了长期而鉴定的奋斗目标,梳理了清晰而受用的知识架构。用这种知识框架去按部就班地成长,每个人都有成为大牛的可能。本文就将展示一种知识体系的构建方法,希望能够对你有所帮助。

面试的时候,我会问面试者,你日常如何构建自己的知识体系,如何让自己更高更快更强?多数工程师并没有深入地思考过这个问题,基本上是零敲碎打,随机性大,基本上是脚踩西瓜皮滑到哪里算哪里。

本着不能让你白来一趟的精神,我会用本文详细说明:

第一阶段:认真构建完整的知识体系

十几年前我投身软件行业的时候,光是讲解数据库原理、操作系统、TCP/IP、组网、算法等等基础知识的英文原版书摞起来就等身,认认真真看完,各种上手实践,入行后,读遍 C++ 各种经典著作,读遍各种协议原文,认认真真打基础。

很多工程师都说自己平常就是在某些 IT 门户上看看推荐的博文或新闻,我说这属于典型的零敲碎打,不够刺激。

聊到这时,我会举一个例子,为什么要阅读长篇小说,因为中短篇小说就像用针扎你,而长篇小说就像把你装进一个沙袋里吊起来,从四面八方用狼牙棒打你,酣畅淋漓。构建可用的知识体系,就得读书,书是有体系结构的,你关心不关心,现阶段你用到用不到,它都讲到了,从头到尾看几遍,针扎得透透的。

何谓知识体系?

曾就职于阿里、苏宁易购等一线互联公司,十余年Java从业经验,系统架构师及微服务之先驱,JEECG急速开发框架的设计与布道者。重点关注微服务设计与编排、高并发架构设计与重构、国内外前沿开源技术封装及引进等领域的Peter老师曾经在我们公司做过技术人员如何规划自己的分享讲座,他是这么论述的:

技术与技巧包括:

架构师筑基

成为一名优秀的架构师之前,必须熟练Linux操作系统,从JVM内存模型到深度优化实战,从Java程序性能优化过渡Tomcat、Mysql深度优化实战,从Netty框架入门使用到Netty源码解读实战,让并发编程与你的应用业务场景结合更紧密,系统性能直线提升上千倍,全面学习架构筑基专题,从性能调优到并发编程,逐步脱变成优秀的Java架构师。

这才是高手!Java大牛腾飞指南

开源框架解析

源码解读是一位合格架构师的必备技能,站在更高的角度来分析及解决技术疑难问题;
首先要学习开源框架的常用设计模式及经典设计思想,扎实源码内功基础,学习大牛们源码设计思想及技术规范,从源码学习过程中提升个人技术审美观及架构设计思想。然后以以Spring5与Mybatis的基础应用编码为起点,寻找底层源码切入点,让开源框架底层技术不再神秘。

这才是高手!Java大牛腾飞指南

高性能架构

熟悉大牛的源码框架后,接下来我们进入高性能架构专题学习,从传统技术架构到大型互联网架构的演进过程,如何将传统软件技术升华到高并发高性能的互联网技术。从高性能架构技术的基础入门,到技术架构的逐步进阶,再到技术架构的高级专题,最后通过多个实战环节将所有技术点巩固加强,在高性能架构技术的深度及宽度上得到跳跃式提升,成为互联网企业的核心技术人才。

这才是高手!Java大牛腾飞指南

微服务架构

在高并发的应用场景下,微服务技术是互联网平台必选的架构技术,目前国内较流行,用得较多的有Spring Boot, Spring Cloud, Duboo。从底层源码透析每个开源框架的设计模式及设计思想,还有Docker虚拟化技术等等,使用微服务改变互联网系统的并发瓶颈,让你的平台开发更加高效、快捷。

这才是高手!Java大牛腾飞指南

团队协作开发

高速发展的互联网生态环境下,除了拥有优秀的架构技术之外,高效快捷的团队协作开发技能必不可省,优秀的架构师如何为企业减轻成本,如何更高效高质量的完成系统。

这才是高手!Java大牛腾飞指南

B2C商城项目实战

有了互联网热点技术,一个真实的互联网项目可以让你把所学的热点技术由点到线,由线到面,将所有技术聚集到实战的环境,最终将技术点和项目实战真正变成自己的本领;分析B2C项目的每一行源行及设计规范,对Nginx、 Redis、Docker、Mq等技术学而致用,用而不忘,具备独立的架构设计与开发能力。

这才是高手!Java大牛腾飞指南

以上其实就是一份从业基础知识清单,你可以按图索骥,阅读相关书籍。

第二阶段:顺着一个Topic钻进去锻炼自己的预研能力

无论公司业务还是自己喜欢做的事,都可以抽象出通用性课题,然后以做论文的方式杀进去。这个事情得反复操练,有意识操练。

做事方式为:

  • 抽象出 Topic:如分布式锁,分布式并行计算引擎,防CSRF的FormToken自动生成框架,定时任务管理与调度平台,分布式跟踪,等等
  • 向功课好的人学习:有针对性地深入了解业界其他公司是如何分析问题和解决问题的,汇总各种方案,站在巨人的肩膀上
  • 分析特定应用场景、技术选型
  • 兼顾高可用性和可伸缩,做设计评审
  • 做测试自证靠谱,梳理知识点,开技术分享会
  • 上线商用,总结经验教训,开经验分享会

其中一个重点是汇总和分享。05年时,应电信级统一消息业务需要,我去研究了 SIP 协议,做了各种试验,分析报文,写了一系列的幻灯片,做了公开分享,一时间还颇受欢迎:

  • SIP_to_Freshman_by_zhengyun.ppt
  • SIP之穿越NAT_by_zhengyun.ppt
  • SIP体系架构讲义及消息交互演示_by_zhengyun.ppt
  • SIP多方会话消息之实例讲解_by_zhengyun.ppt
  • SIP安全框架之认证[NTLM和Kerberos]_by_zhengyun.ppt
  • SIP消息之逐项讲解_by_zhengyun.ppt

为什么要写出来、讲出来呢?

因为有一个学习金字塔理论,如下图所示:

这才是高手!Java大牛腾飞指南

  • 我们读过的事情能够记住学习内容的10%,
  • 我们听过的事情能够记住20%,
  • 我们看过的事情能够记住30%,
  • 我们听过和看过的事情能够记住50%——如看影像/看展览/看演示/现场观摩,
  • 我们说过的事情能够记住70%——如参与讨论/发言,
  • 我们说过和做过的事情能够记住90%——如做报告,给别人讲,亲身体验,动手做

这也就是我强调的管理方法:我们从入职之后就有意识地训练大家,让大家能够公开陈述、清晰表达。所以,试用期内,新人必须做一次技术分享和一次技术评审,面对各方的 challenge;预研的中间和结尾都要有分享会;平时也要定期组织技术讲座。

第三阶段:疯狂回答技术问题

知识体系慢慢构建,与业务相关的抽象 Topic 也在探索中。

但这还不够。

因为你亲身接触到的世界太小,可能不足以构成挑战,你可能意识不到自己缺多少知识和技能,不利于你分析问题、提出问题和解决问题的能力培养。

所以,要主动出击——疯狂回答问题。

你学过的每一样东西,你遭受的每一次苦难,都会在你一生中的某个时候派上用场。
——佩内洛普·菲兹杰拉德 《离岸》
Everything that you've learnt and all the hardships you've suffered will all come in handy at some point in your life.

读者福利:

分享免费学习资料

针对于Java程序员,我这边准备免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!

资料领取方式:加入Java技术交流群963944895点击加入群聊,私信管理员即可免费领取

相关推荐