编程进阶网编程进阶网
  • 基础组成体系
  • 程序编程原理
  • 异常和IO系统
  • 六大设计原则
  • 设计模式导读
  • 创建型设计模式
  • 结构型设计模式
  • 行为型设计模式
  • 设计模式案例
  • 面向对象思想
  • 基础入门
  • 高级进阶
  • JVM虚拟机
  • 数据集合
  • Java面试题
  • C语言入门
  • C综合案例
  • C标准库
  • C语言专栏
  • C++入门
  • C++综合案例
  • C++专栏
  • HTML
  • CSS
  • JavaScript
  • 前端专栏
  • Swift
  • iOS入门
  • 基础入门
  • 开源库解读
  • 性能优化
  • Framework
  • 方案设计
  • 媒体音视频
  • 硬件开发
  • Groovy
  • 常用工具
  • 大厂面试题
  • 综合案例
  • 网络底层
  • Https
  • 网络请求
  • 故障排查
  • 专栏
  • 数组
  • 链表
  • 栈
  • 队列
  • 树
  • 递归
  • 哈希
  • 排序
  • 查找
  • 字符串
  • 其他
  • Bash脚本
  • Linux入门
  • 嵌入式开发
  • 代码规范
  • Markdown
  • 开发理论
  • 开发工具
  • Git管理
  • 百宝箱
  • 开源协议
  • 技术招聘
  • 测试经验
  • 职场提升
  • 技术模版
  • 关于我
  • 目标清单
  • 学习框架
  • 育儿经验
  • 我的专栏
  • 底层能力
  • 读书心得
  • 随笔笔记
  • 职场思考
  • 中华历史
  • 经济学故事
  • 基础组成体系
  • 程序编程原理
  • 异常和IO系统
  • 六大设计原则
  • 设计模式导读
  • 创建型设计模式
  • 结构型设计模式
  • 行为型设计模式
  • 设计模式案例
  • 面向对象思想
  • 基础入门
  • 高级进阶
  • JVM虚拟机
  • 数据集合
  • Java面试题
  • C语言入门
  • C综合案例
  • C标准库
  • C语言专栏
  • C++入门
  • C++综合案例
  • C++专栏
  • HTML
  • CSS
  • JavaScript
  • 前端专栏
  • Swift
  • iOS入门
  • 基础入门
  • 开源库解读
  • 性能优化
  • Framework
  • 方案设计
  • 媒体音视频
  • 硬件开发
  • Groovy
  • 常用工具
  • 大厂面试题
  • 综合案例
  • 网络底层
  • Https
  • 网络请求
  • 故障排查
  • 专栏
  • 数组
  • 链表
  • 栈
  • 队列
  • 树
  • 递归
  • 哈希
  • 排序
  • 查找
  • 字符串
  • 其他
  • Bash脚本
  • Linux入门
  • 嵌入式开发
  • 代码规范
  • Markdown
  • 开发理论
  • 开发工具
  • Git管理
  • 百宝箱
  • 开源协议
  • 技术招聘
  • 测试经验
  • 职场提升
  • 技术模版
  • 关于我
  • 目标清单
  • 学习框架
  • 育儿经验
  • 我的专栏
  • 底层能力
  • 读书心得
  • 随笔笔记
  • 职场思考
  • 中华历史
  • 经济学故事
  • 1.1专栏序言和介绍
  • 1.2需求层次的模型
  • 1.3一起来做个练习
  • 1.4要带上技能地图
  • 1.5经营好自我工作
  • 2.1信息过载怎么办
  • 2.2体系思维很重要
  • 2.3构建知识的体系
  • 2.4结构化思维思考
  • 2.5闭环思维的逻辑
  • 3.1宏观学习的方法
  • 3.2用海绵法找时间
  • 3.3三段分解学什么
  • 3.4学习方法论实践
  • 3.5链式和环式思考
  • 3.6玩和教保证效果
  • 4.1以结果导向计划
  • 4.2目标设立和管理
  • 4.3分解目标要明确
  • 4.4计划的落地策略
  • 4.5结果的检查改进
  • 5.1掌握些做事方法
  • 5.2三种方案设计法
  • 5.3Pdca执行方法
  • 5.4五问根因分析法
  • 5.5五步问题处理法
  • 5.6四维度总结分析
  • 5.7金字塔汇报方法
  • 5.8STAR摸底分析法
  • 5.9阶段复盘方法论
  • 5.10生命线分享游戏
  • 6.1语言底蕴的提升
  • 6.2阅读的持续提升
  • 6.3理解能力的锻炼
  • 6.4沟通能力的演进
  • 6.5演示幻灯片提升
  • 6.6学会高效的提问
  • 6.7公众演讲的提升
  • 6.8做好技术的演讲
  • 7.1职场晋升的规则
  • 7.2提高工作的效率
  • 7.3打工人如何提升

3.5链式和环式思考

目录介绍

  • 01.让学习有针对性
  • 02.链式学习法介绍
  • 03.链式学习法步骤
  • 04.链式学习法优点
  • 05.比较学习法介绍
  • 06.比较学习法步骤
  • 07.比较学习法优点
  • 08.环式学习法介绍
  • 09.环式学习法步骤
  • 10.环式学习法优点

01.让学习有针对性

  • 一般来说,P5/P6/P7主要提升技术深度,P7/P8主要提升技术宽度,P8/P9主要提升技术广度。

02.链式学习法介绍

  • 面对“打破砂锅问到底”的方式,如果没有充足的准备,你很可能会卡住。
  • 所谓“链式学习法”,顾名思义,就是学习的过程好像从水里拉起一根链条,拉出一环后面又接着一环,最后将整个链条全部拉出来。当知识联结成锁链,环环相扣,你对技术的理解就很透彻,别人问到底,你就能答到底。
  • 知识的锁链不是胡乱连接的,环环相扣的方式很有讲究。常见的方式有两种:第一种是自顶向下、层层关联,打通一项技术的领域分层。第二种是由表及里、层层深入,打通一项技术的细节分层。
  • 比如:比如网络优化,先解析域名,然后建立连接,然后发送请求,然后接受请求,然后解析数据,最后渲染到页面。了解了每一步细节,然后才能知道从哪里优化。
  • 比如:以网络编程为例,从接口设计,设计原理,设计方案,设计代码等层级去分析学习,也可以打通细节知识点。通过一环套一环形成知识链路!

03.链式学习法步骤

  • 链式学习法的第一步,就是要明确一项技术的深度可以分为哪些层。
  • 第一步画出“领域分层图”和“细节分层图”,一开始你可能会觉得画不出来,这恰恰说明你对深度的理解还不够,而尝试画图本身就是一个梳理结构、强化认知的过程。
  • 第二步就是要明确你自己要学到哪一层。学得太浅,达不到提升深度的目的;学得太深,又会耗费太多的时间和精力。
  • 第三步就是要明确每一层应该怎么学。在领域分层图中,越往上越偏应用,实际工作中用得越多,越往下越偏原理(包括相关的工具和配置),实际工作中用得越少。所以总的原则是,在上层投入更多时间,更关注细节和熟练使用,在下层投入相对少的时间,更加关注原理和简单应用。

04.链式学习法优点

4.1 促使主动提升

  • 大部分人在实际工作中,很多技术都只接触到了领域分层图和细节分层,没有进一步地去了解。而如果采用链式学习法,你就会意识到,使用一项技术完成了工作,并不意味着你就完全掌握了这项技术。
  • 你还需要把刚刚自己用到的技术作为切入点,画出完整的领域分层图和细节分层图,然后逐一攻破,这样才能提升深度,达到精通水平。

4.2 知识和技能系统化

  • 明确知识和技能点之间的关联关系,有助于更好的理解和应用这些知识和技能。只有使用链式学习法,你才能系统地了解到这些关联的知识和技能,以及如何将它们串起来。

4.3 链式学习法小结

  • 链式学习法是让知识形成锁链,环环相扣,主要用来提升技术深度。链式学习法的步骤包括:明确一项技术的深度可以分为哪些层,明确要学到哪一层,明确每一层应该怎么学。链式学习法的优点有:促使我们主动提升,将知识和技能系统化。

05.比较学习法介绍

  • 提升技术宽度,最好使用比较学习法。举几个简单的例子:为什么发送微信消息要使用tcp协议而不是udp协议?为什么移动端数据库选择splLite而不是MySql?为什么Android进程通信是使用binder而不是socket或管道?
  • 这些问题大部分都是考察你思考、判断和决策的逻辑和过程。如果你只有技术深度而没有技术宽度,这时就会陷入窘境:单个技术细节你都很熟悉,但是却无法解释为什么用这个,而不用那个。
  • 所谓比较学习法,就是横向比较同一个领域中类似的技术,通过对知识间的比较,找出知识间的相同点和不同点,在知识的细微处见异同,分析它们各自的优缺点和适用场景。

06.比较学习法步骤

  • 比较学习法的具体操作步骤如下:1.先用链式学习法掌握某个领域的一项技术,将这个领域的关键技术点整理成表格;2.基于整理好的技术点,学习这个领域的另一项技术,将它们在技术点上的差异整理成思维导图;3.找出差异较大的技术点,将背后的原理和对应用场景的影响整理成表格。
  • 举个例子:比如发送消息为何TCP而不是UDP?从消息安全性,数据加密,传输速度,数据完整性等维度去比较两者的区别和优劣式。

07.比较学习法优点

7.1 学得快

  • 同一个领域的技术在功能上大都是类似的,区别往往在于实现方案和细节。所以当你掌握了一项技术之后,再去同一个领域的另一项技术,就不需要从0开始了,因为基础的部分你已经学会了,只要重点关注它们的差异点就能够快速掌握。

7.2 学得全

  • 整理关键技术点和制作思维导图的过程,会促使你把一个领域的技术体系化,更全面、更系统地掌握这个领域。

7.3 学得深

  • 从差异点到背后的原理再到应用场景的思考过程,会让你对技术的取舍之道理解得更深,在每一次技术选择时都能给出让人信服的理由。

08.环式学习法介绍

  • 提升技术广度,最好使用环式学习法。很多人一听要提升广度,就以为学得越多越好,想到什么牛就学什么,看到什么热就追什么。学了一段时间,感觉学了很多,但好像啥也不会,网撒得很广,却没捞到几条鱼。所谓环式学习法,就是构建一个完整的闭环过程,将多个领域的“鱼”一网打尽。
  • 无论什么领域,都可以采用环式学习法来学习跨领域的技术。除了功能环以外,还有很多构建闭环的思路,比如业务上常见的“业务环”,它代表某个业务的处理步骤,以及管理上常见的“流程环”,它代表某件事情的处理步骤。

09.环式学习法步骤

  • 环式学习法的第一步,就是把闭环画出来。具体的画法是将完整的闭环分为几个关键的环节,然后标出每个环节的关键内容。
  • 就拿“用户登录”这个功能环来说,它可以分为前端、客户端、网络层、机房入口、Nginx、用户中心、安全中心和数据中心,总共8个环节;每个环节又会涉及不同的技术,比如客户端涉及 JsBridge和OkHttp,用户中心涉及微服务、MySQL和Redis等,总共涉及的技术有 18 项。

10.环式学习法优点

10.1 培养全局视野

  • 在画出完整闭环的过程中,你可以端到端地了解全流程涉及哪些系统或者模块,每个模块的关键技术是什么,从而培养出全局的视野和能力。

10.2 广撒网却捞不到鱼

  • 环式学习法划定的范围是实际工作的闭环,能够形成一套有效的组合拳,而不是东一榔头西一棒槌的胡乱搭配,能够大大提升学习效率。所以你只要对照环来提升就可以了,不用再担心广撒网却捞不到鱼了。
贡献者: yangchong211
上一篇
3.4学习方法论实践
下一篇
3.6玩和教保证效果