程序员学习方法论

2022/03/23 其它 共 937 字,约 3 分钟

最近在某学习平台听了原阿里P9架构师的直播,主题是面试和晋升时,如何展现架构能力?

全程大概半小时左右,主要讲的P6-P8每个职级晋升的要求和技巧,不过对我印象最深的还是大佬提炼出

的学习方法论,一是链式学习法,二是比较学习法,三是Tech学习法。

链式学习法:提升技术深度

想要提升技术深度,最好使用链式学习法。

如果你经历过面试,肯定会遇到面试官的“追命连环问”,以Redis为例:

  • redis的数据结构和使用场景,zset的实现原理(跳表),为什么使用跳表,其他数据结构可以么?
  • redis是单线程,有什么缺点?存在哪些性能问题?
  • redis有哪几种部署方式?主从复制原理?哨兵的架构?如何选举?

面对这种“打破砂锅问到底”的方式,如果平时没有充足的准备,你很可能会卡住。

所谓“链式学习法”,顾名思义,就是学习的过程好像从水里拉起一根链条,拉出一环后面又接着一环,最后将整个链条全部拉出来。

当知识联结成锁链,环环相扣,你对技术的理解就很透彻,面试官问到底,你就能答到底。

但是知识的锁链不是胡乱连接的,环环相扣的方式很有讲究。常见的方式有两种:领域分层和细节分层。

领域分层

自顶向下、层层关联,打通一项技术的领域分层。

image-20220323094350420

细节分层

由表及里、层层深入,打通一项技术的细节分层。

image-20220323095025105

比较学习法:提升技术广度

想要提升技术广度,就需要比较学习法。

现在我们都会使用微服务框架,常用的包括Springcloud、Dubbo、gRpc等框架,可能我们大部分同学只使用了其中一种或两种,面试的时候,肯定会被问到Springcloud和dubbo的区别。

如果我们平时没有对比这两种框架,肯定说不出所以然来。

所以在平时工作和学习中,我们要注重技术的比较,先通过链式学习法将技术分层后在进行对比,这样才能提升技术的广度。

Tech学习法:技术系统化

学习的最终目的是输出和沉淀,如果我们只输入没有输出,很有可能觉得啥都会,但是去面试或者给别人讲解的时候,发现很多细节讲不清楚。

所以为了将技术知识系统化和结构化,我们需要Tech学习法。

常见的就是写博客、技术分享、演讲培训等,把我们的所学通过某一种对外的形式输出。

所以做技术的同学,一定要有自己的技术博客,这是我们最容易、成本最低的学习方式。

文章最后

正所谓知易行难,贵在坚持。

文档信息

搜索

    Table of Contents