如何高效的学习?


学什么

  • 基础与应用
  • 广度与深度
  • 哲学
  • 英语

怎么学

  • 知识体系
  • 克服遗忘
  • 碎片时间

用起来

  • 技术分享
  • 造个轮子

我们相信努力学习一定会有收获,但是方法不当,既让人身心疲惫,也没有切实的回报。高中时代,我的同桌是个漂亮女同学。她的物理成绩很差,虽然她非常勤奋的学习,但成绩总是不理想。为了巩固纯洁的同学关系,我亲密无间地辅导她的物理,发现她不知道题目考什么。我们的教科书与试题都围绕着考试大纲展开,看到一道题,应该先想想它在考哪些定理和公式的运用。
  不少朋友每天都阅读技术文章,但是第二天就忘干净了。工作中领导和同事都认可你的沟通和技术能力,但是跳槽面试却屡屡碰壁。面试官问技术方案,明明心里清楚,用嘴说出来却前言不搭后语。面试官再问底层算法,你说看过但是忘记了。他不在乎你看没看过,答不上就是零分。正如男女相亲,男方谈吐潇洒才能吸引姑娘。可是男方紧张了,平时挺能说,关键时候却支支吾吾,姑娘必然认为他不行。人生充满了许多考试,有形的和无形的,每次考试的机会只有一次。
  工作五年十年后,别人成了架构师,自己还在基层打滚,原因是什么?职场上无法成功升迁的原因有很多,没有持续学习、学习效果不好、无法通过心仪公司的的面试,一定是很重要的原因。
把自己当成一台计算机,既有输入,也要有输出,用输出倒逼输入。
学什么
基础与应用
  近些年诞生了许多新技术,比如最时髦的AI(目前还在智障阶段),数学基础是初中就接触过的概率统计。万丈高楼从地起,不要被新工具或者中间件迷住双眼,一味地追新求快。基础知识是所有技术的基石,在未来很长的时间都不会变化,应该花费足够的时间巩固基础。
  以数据结构和算法为例,大家阅读一下Java的BitSet的源码,里面有大量的移位操作,移位运算掌握的好,看这份源码就没问题。Java同步工具类AQS用到了双向链表,链表知识不过关,肯定搞不懂它的原理。互联网大厂都喜欢考算法,为了通过面试也要精通算法。
  以Java工程师应该掌握的知识为例,按重要程度排出六个梯度:

第一梯度:计算机组成原理、数据结构和算法、网络通信原理、操作系统原理;
第二梯度:Java基础、JVM内存模型和GC算法、JVM性能调优、JDK工具、设计模式;
第三梯度:Spring系列、Mybatis、Dubbo等主流框架的运用和原理;
第四梯度:MySQL(含SQL编程)、Redis、RabbitMQ/RocketMQ/Kafka、ZooKeeper等数据库或者中间件的运用和原理;
第五梯度:CAP理论、BASE理论、Paxos和Raft算法等其他分布式理论; 第六梯度:容器化、大数据、AI、区块链等等前沿技术理论;

有同学认为第五梯度应该在移到第一梯度。其实很多小公司的日活犹如古天乐一样平平无奇,离大型分布式架构还远得很。学习框架和中间件的时候,顺手掌握分布式理论,效果更好。
广度与深度
  许多公司的招聘JD没有设定技术人员年龄门槛,但是会加上一句“具备与年龄相当的知识的广度与深度”。多广才算广,多深才算深?这是很主观的话题,这里不展开讨论。
  如何变得更广更深呢?突破收入上升的瓶颈,发掘自己真正的兴趣。
  大多数人只是公司的普通职员,收入上升的瓶颈就是升职加薪。许多IT公司会对技术人员有个评级,如果你的评级不高,那就依照晋级章程努力升级。如果你在一个小公司,收入一般,发展前景不明,准备大厂的面试就是最好的学习过程。在这些过程中,你必然学习更多知识,变得更广更深。
  个人兴趣是前进的动力之一,许多知名开源项目都源于作者的兴趣。个人兴趣并不局限技术领域,可以是其他学科。我有个朋友喜欢玩山地自行车,还给一些做自行车话题的自媒体投稿。久而久之,居然能够写一手好文章了,我相信他也能写好技术文档。
哲学
  哲学不是故作高深的学科,它的现实意义就是解决问题。年轻小伙是怎么泡妞的?三天两头花不断,大庭广众跪求爱。这类套路为什么总是能成功呢?礼物满足女人的物欲,当众求爱满足女人的虚荣心,投其所好。食堂大妈打菜的手越来越抖,辣子鸡丁变成辣子辣丁,为什么呢?食堂要控制成本,直接提价会惹众怒。
  科学上的哲学,一般指研究事物发展的规律,归纳终极的解决方案。软件行业充满哲学味道的作品非常多,比如《人月神话》。举个例子,当软件系统遇到性能问题,尝试下面两种哲学思想提升性能:
空间换时间:比如引入缓存,消耗额外的存储提高响应速度。
时间换空间:比如大文件的分片处理,分段处理后再汇总结果。
设计稳健高可用的系统,尝试从三个方面考虑问题:
存储:数据会丢失吗,数据一致性怎么解决。
计算:计算怎么扩容,应用允许任意增加节点吗。
传输:网络中断或拥塞怎么办。
从无数的失败或者成功的经验中,总结出高度概括性的方案,让我们下一步做的更好。
英语
  英语是极为重要的基础,学好英语与掌握编程语言一样重要。且不说外企对英语的要求,许多知名博客就是把英文翻译成中文,充当知识的搬运工。如果英语足够好,直接阅读一手英语资料,避免他人翻译存在的谬误。
怎么学
知识体系

  体系化的知识比零散的更容易记忆和理解,这正如一部好的电视剧,剧情环环相扣才能吸引观众。建议大家使用思维导图罗列知识点,构建体系结构,如下图所示:

克服遗忘
  高中是我们知识的巅峰时刻,每周小考每月大考,教辅资料堆成山,地狱式的反复操练强化记忆。复习是对抗遗忘的唯一办法。大脑的遗忘是有规律的,先快后慢。一天后,学到的知识只剩下原来的25%,甚至更低。随着时间的推移,遗忘的速度减慢,遗忘的数量也就减少。
时间间隔记忆量刚看完100%20分钟后60%1小时后40%1天后30%2天后27%
每个人的遗忘程度都不一样,建议第二天复习前一天的内容,七天后复习这段时间的所有内容。
碎片时间
  不少朋友利用碎片时间学习,比如在公交上看公众号的推送。其实我们都高估了自己的抗干扰能力,如果处在嘈杂的环境,注意力容易被打断,记忆留存度也很低。碎片时间适合学习简单孤立的知识点,比如链表的定义与实现。
  学习复杂的知识,需要大段的连续时间。图书馆是个好地方,安静氛围好。手机放一边,不要理会QQ微信,最好阅读纸质书,泡上一整天。有些城市出现了付费自习室,提供格子间、茶水等等,也是非常好的选择。
用起来
技术分享
  从下面这张图我们可以看到,教授他人是知识留存率最高的方式。

准备PPT和演讲内容,给同事来一场技术分享。不光复习知识,还锻炼口才。曾经有个同事说话又快又急,口头禅也多,比如"对吧、是不是”,别人经常听不清,但是他本人不以为然。领导让他做了几次技术分享,听众的反应可想而知,他才彻底认清缺点。
  坚持写技术博客,别在意你写的东西在网上已经重复千百遍。当自己动手的时候,才会意识到眼高手低。让文章读起来流畅清晰,需要呕心沥血的删改。写作是对大脑的长期考验,想不到肯定写不出,想不清楚肯定写不清楚。
造个轮子
我们经常说不要重复造轮子。为了开发效率,可以不造轮子,但是必须具备造轮子的能力。建议造一个简单的MQ,你能用到通信协议、设计模式、队列等许多知识。在造轮子的过程中,你会频繁的翻阅各种手册或者博客,这就是用输出倒逼输入。

如何去高效的学习?怎样克服?相关推荐

  1. 如何高效的学习掌握新技术

    最近一段时间,把React学习实践了一把,算是又多掌握了一门新技术,虽然学习过程比较辛苦曲折,但熟练掌握后感觉还是很好的,以后又多了一种选择,在技术思路上也开阔了很多. 回想编程生涯这些年,2001年 ...

  2. 如何成为高效的学习高手-摘要

    高效 学习 如何成为高效的学习高手 许岑老师说到自己本身就是一个高效学习者,因为他在几年的时间内先后掌握了一些技能,且达到了较高的水准,甚至还出了教程,他在两年时间内演奏了世界上难度最大的吉他曲,曾经 ...

  3. 如何成为高效的学习高手

    如何成为高效的学习高手 许岑老师说到自己本身就是一个高效学习者,因为他在几年的时间内先后掌握了一些技能,且达到了较高的水准,甚至还出了教程,他在两年时间内演奏了世界上难度最大的吉他曲,曾经英语不及格, ...

  4. 如何高效的学习TensorFlow代码?

    如何高效的学习TensorFlow代码? 如题,或者如何掌握TensorFlow,应用到任何领域? 添加评论分享 10 个回答 爱琳李,老李,明天就辍学了 8 人赞同 本来都忘了这个问题了,不过看到很 ...

  5. 如何快速的学习html5,高效快速学习HTML5的技巧

    HTML5是非常新前端必备技能,作为第五代HTML语言,包含的算法.实现的功能都大大超过从前.不同的人学习效率.成果都各不相同,那么如何高效快速学习HTML5呢?学码思前端开发培训老师给大家分享一些小 ...

  6. 关于Python爬虫,一条高效的学习路径

    数据是创造和决策的原材料,高质量的数据都价值不菲.而利用爬虫,我们可以获取大量的价值数据,经分析可以发挥巨大的价值,比如: 豆瓣.知乎:爬取优质答案,筛选出各话题下热门内容,探索用户的舆论导向. 淘宝 ...

  7. 如何高效的学习前端的网页设计?

    如何高效的学习前端的网页设计? 那我就针对"高效"为你做一些推荐. 如果你喜欢看图文类的教程 那么推荐你菜鸟教程这个网站 https://www.runoob.com/ 对新手入门 ...

  8. 工作之后如何高效的学习?

    工作之后如何高效的学习? 接近1年不太顺心的工作经历 20年7月完成毕业论文答辩后,匆匆忙忙就进了职场.一开始对工作感到非常期待,刚入司的时候也是十分激动,准备大干一场,给自己定了一个小目标:弄出一个 ...

  9. 如何自学python知乎-怎么用最短时间高效的学习Python!知乎大佬给出了这样的答案!...

    怎么用最短时间高效的学习Python!知乎大佬给出了这样的答案! 文章最后的资料免费送给各位想学习又找不到方法,找不到资源的小伙伴 1.入门读物 2.进阶读物 3.Web框架 4.爬虫开发 5.图形图 ...

最新文章

  1. c语言读h5文件,我利用C语言实现SHA-256算法,需要从一个txt文件中读出数据并把...
  2. [luoguP1168]中位数(主席树+离散化)
  3. 对页面制定区域进行打印,以及打印不显示页脚URL的方法
  4. 关于.h .lib .dll的总结
  5. python质数判断if isprime_使用Python判断质数(素数)的简单
  6. vue-cli3.0 Typescript 项目集成环信WebIM 群组聊天
  7. 猎豹浏览器怎么设置允许弹出窗口 允许弹窗设置方法详解
  8. JSon转化为DaTable
  9. squid日志中关键字的含义
  10. Saltstack-7:返回
  11. 【iOS开发】@property跟成员变量区别
  12. pe_xscan 做了1处改进
  13. TVS和ESD那些事儿
  14. 夏威夷大学计算机专业排名,夏威夷大学(美国夏威夷大学排名)
  15. 超链接 与众不同的鼠标滑过超链接下划线动画效果
  16. Elasticsearch短语或近似匹配及召回率案例深入剖析-搜索系统线上实战
  17. 华为matebook鸿蒙,16寸专业大屏+满血Zen3!华为MateBook 16评测:鸿蒙加持 平板变身新外设...
  18. 结婚5年又发现了一场爱情 感人
  19. FAN3224TMX 5A TTL 输入 双非反向输出 低压侧门极驱动器
  20. 《我的团长我的团》:你要让我来啊,那个犊子不愿意来呀!

热门文章

  1. 知道Unicode表的数字,怎么用java推出相对应的日文?
  2. Python运维开发(CMDB资产管理系统)——Pycharm部署
  3. html调用头尾html,合并html头尾 - 基础支持 - 用gulp搭建前后分离的开发环�? - KK的小故事...
  4. 计算机耍人,抖音中的连环套路耍人问题
  5. 亚马逊(Amazon)新接口SP-API和PII受限信息的开发者申请
  6. Tuxera Disk Manager是什么软件,Tuxera Disk Manager怎么用
  7. 给人脸戴上口罩,Python实战项目来了
  8. 用魔法打败魔法!这件毛衣让摄像头看不到你;两款酷炫的AI写作软件;基于深度学习扩散模型的蛋白质设计;Codon开源Python编译器;基于AI生成连贯的剧本 | ShowMeAI资讯日报
  9. ilog开发培训大纲
  10. 汽车UDS诊断详解及Vector相关工具链使用说明——2.3.1 故障码(DTC)格式详解