怎样学习,也就是让自己增长见闻、提高识见?
- 培养问题意识
- 知道自己需要什么信息、也知道如何获取这些信息
- 学会拆解问题
- 形成自己解决问题的方法论
拆解问题时可供思考的问题:
- 我遇到了什么问题?
- 问题出现的原因是什么?问题出现后应该怎么办?
- 如何分析问题?初步的解决方案是什么?
- 遇到阻碍的时候,去查找哪些资料可以获得答案?
- 别人有没有遇到类似的问题?他们是如何定位思考的?
- 文档是否都了解清楚了?
- 我尝试了哪些方法?
- 问题解决了,我学会了什么?
- 如果下次遇到同样的问题,我该怎么办?
一个人关于某技术问题的思考:为什么用 Go 访问某网站始终会 503 Service Unavailable ? | 无辄的栈
引用自参考资料:
答案毫无用处,因为它并不能让你举一反三。
形成自己解决问题的方法论,它是一个通用的解决问题的手段。
多思考,勤动手也要勤总结。解决问题就是去分析问题、拆解问题,把未知变已知,用已经掌握的去推导陌生的。
动手没有错,错的是光动手其实没有意义。因为动手是机械性动作,代码是你逻辑的具象化。
你需要做的是把代码抽象为自身可以理解的事物,而不是记代码、记以前解决问题的答案,毫无意义(一些固定流程,可以笔记作为参考,快速查阅)。你需要记住的是你如何拆解问题,如何解决问题的流程,然后去强化它。这样任何时候,你都能套用自己的这一套解决问题的模板。
坚持比努力更重要;正确的坚持比坚持更重要,不然就是南辕北辙。
在思考问题时,可以使用「小黄鸭调试法」,跟一个玩偶讲自己遇到的问题,在讲述的过程中,就能把问题重新梳理一遍。
参考资料