ARTS 高效学习是耗子叔发起的一个高效学习方法,一个需要持续坚持的方法。ARTS 包含四块的内容:
-
Algorithm。主要是为了编程训练和学习。每天至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard)。进行编程训练,如果不训练你看再多的算法书,你依然不会做算法题,看完书后,你需要训练。
-
Review:主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手。所以,需要你阅读并点评至少一篇英文技术文章,我个人最喜欢去的地方是 Medium (30min);
-
Tip:主要是为了总结和归纳你在是常工作中所遇到的知识点。学习至少一个技术技巧。你在工作中遇到的问题,踩过的坑,学习的点滴知识;
-
Share:主要是为了建立你的影响力,能够输出价值观。分享一篇有观点和思考的技术文章,也可以是技术总结的文章;
只有你开始自己思考,开始自己总结和归纳,开始找人交流讨论,开始践行,并开始对外输出,你才会掌握到真正的学习能力
所以,学习不是努力读更多的书,盲目追求阅读的速度和数量,这会让人产生低层次的勤奋和成长的感觉,这只是在使蛮力。要思辨,要践行,要总结和归纳,否则,你只是在机械地重复某件事(记忆知识),而不会有质的成长的。
重点是如何才能让自己拥有举一反三的能力,在这方面,耗子叔对自己训练如下:
对于一个场景,制造出各种不同的问题或难题; 对于一个问题,努力寻找尽可能多的解,并比较这些解的优劣; 对于一个解,努力寻找各种不同的测试案例,以图让其健壮。 举一反三的能力,可以分解为:
-
联想能力:这种能力的锻炼需要你平时就在不停地思考同一个事物的不同的用法,或是联想与之有关的别的事物。对于软件开发和技术学习也一样;
-
抽象能力:抽象能力是举一反三的基本技能。平时你解决问题的时候,如果你能对这个问题进行抽象,你就可以获得更多的表现形式。抽象能力需要找到解决问题的通用模型,比如数学就是对现实世界的一种抽象。只要我们能把现实世界的各种问题建立成数据模型(如,建立各种维度的向量),我们就可以用数学来求解,这也是机器学习的本质;
-
自省能力:所谓自省能力就是自己找自己的难看。当你得到一个解的时候,要站在自己的对立面来找这个解的漏洞。有点像左右手互博。这种自己和自己辩论的能力又叫思辨能力。将自己分裂成正反方,左右方,甚至多方,站在不同的立场上来和自己辩论,从而做到不漏过一个case,从而获得完整全面的问题分析能力。
如果要获得这三种能力,除了你要很喜欢思考和找其它人来辩论或讨论以外,还要看你自己是否真的善于思考,是否有好奇心,是否喜欢打破沙锅问到底,是否喜欢关注细节,做事是否认真,是否严谨……
~~欢迎跟我一起share,一起up,通过主页邮件联系,知道的越多,不知道的越多~~
参考解答 | 原题地址 |
---|---|
20221102 | 69. Sqrt(x)(求根号) |
20221101 | 50. Pow(x, n)(求次幂) |
20220404 | 69. Sqrt(x)(分治法求根号) |
20220403 | 50. Pow(x, n)(分治法求次方) |
参考解答 | 原题地址 |
---|---|
20200902 | 剑指offer-数值的整数次方 |
20201007 | 剑指offer-不用加减乘除做加法 |
20201006 | 剑指offer-求1+2+3+...+n |
20200901 | 剑指offer-二进制中1的个数 |