写在这里,备忘,会不定期更新。
我自己的思考,希望,在我后面的生活中,在我能控制的方面,可以顺畅一些。
前几天和师兄聊天时,师兄说他自己有套可以帮他做决定衍生出他整个三观的人生信条。
我在想这种信条的概念,是不是也可以用在其他方面,方便我们在需要抉择时,做出正确的选择。
这篇并不能帮你升职加薪。只是,如果你和我面临一样的困惑,也许我的想法可以抛砖引玉。
学习的时机
具体的问题
由于时间精力有限:
需要学的东西很多,如何选择学什么?
可以用来学习的资料也有很多,怎么选择?
解决的思路
核心:去学那些 收益/精力 最大的东西,也就是去做边际收益最大的事情
合适的时机有两种:
-
马上会被用到的东西
现学现用,虽然比较仓促,但是由于问题具体,注意力比较好集中
如果新的知识能解决问题,也会比较有 成就感
如果是工作中的问题,去要求资源(1对1指导,材料,或者其他什么)时可以理直气壮,而不是只能用业余时间学
虽然比较被动,但是要做的事情,多半也是出于自己的选择吧。 -
会学得很快的东西
- 遇到了好的材料,指导等,可以高效学习遇到了好的材料,指导等,可以高效学习
比如发现一个十分通俗易懂的 书/blog/公众号(顺便说下,本blog 的内容只是作为我做的事情的备忘,所以是不符合这一条的)
表面看比较被动,但是你会接触到什么书/blog/公众号,也是自己选择过的吧。建立在主动上的被动。 - 东西本身很简单,可以很容易很快学会
- 总结性学习
可能会有差缺不漏,但不是去学整套的东西,只是把已经知道的东西温习下,温故而知新最好,否则加强记忆也是好的
按照上面这两条,会有下面的推论:
- 如果一个东西只在考试/面试中被提到,那么是不适合去花时间学的
有些面试官会问一些很偏的东西(比如volatile 这种平时根本不会去用的关键字),或者你一个c++的,面试被问一堆java,你肯定不会,但是面试后也没必要去花时间搜。另,遇到这种情况,直接把那家公司拒掉吧。。。 - 所谓“基础知识”,也没必要学
首先是这些“基础知识”,并不"基础",如果真的"基础",也就是做什么都会用到,那么就符合第一条。实际上这些东西是根本不会被用到的。
其次是机会成本。人的精力比较有限。你要学的东西很多,书很多,同时还有工作要做。所以,要挑选“收益”最好的做。有些“基础知识”虽说不是完全无用,但是也可算是鸡肋。
本科时,我们花了多少时间去学那些一辈子用不到的东西,比如复变函数,偏微分方程什么的,但是本来该好好做的编程大作业,根本没有足够的时间做。 - 技术细节,比如前端控件的各种细节,换行控制这些东西
- kmp 这种很难理解,实际根本不会用到的算法不值得学。但是,几分钟就能明白的算法题,还是值得刷的。
- 自觉会比较简单,或者自觉找到了合适的资料,但是一天/一周后,没有进展,并且不会马上被用到,就是该放弃学习的东西。因为已经一周了,说明并不是合适的学习资料,或者并不是很容易学。