你知道的越多,你不知道的越多
点赞再看,养成习惯
正文
实践是检验真理的唯一标准,这句话大家一定要记住,多实践,我最开始学C语言,发现书本看了之后自己觉得自己无敌了,一去写代码,异常满天飞,指针都不知道跑哪里去了。
于是,在图书馆的我,那个时候基本上是,实践+看书+看视频,因为我是硬件专业,那时候就拿了很多电子元器件去做实践,那个时候是收获最多的时候,也是觉得时间过得最快的时候,也是我最充实的时候。
想起那时候陪在我身边陪我做硬件的曾经的女同学,我的眼角,又湿了……
列出计划
吹逼吹完了,我们言归正传,在学习之前我个人认为,不管是学习软件知识,还是学啥东西,个人认为,列出一个学习计划,这个绝对对你有很大的帮助,不然你漫无目的的去复习,最后发现,都学了啥呀,就很懵逼。
那一个计划应该怎么列,以及需要列一些什么东西呢?
我就从我个人的习惯角度去给大家说下,我在列计划的时候是怎么做的,以及我从什么角度去做这个计划的。
时间规划
我觉得计划里面,对于自己时间的规划是很重要的,比如你现在想学习Redis相关的知识点,那我觉得你至少得给自己一个大概的时间规划,比如你要用一个月的时间去学完Redis所有的基础知识,再一个月的时间去学习Redis的进阶知识这样的。
为什么要进行时间规划?
不进行时间规划,我想大家很容易就被各种琐事打断,比如看着看着你就去刷抖音,刷B站了,对不对?我想我应该没有说错吧?
那如果你规划了时间,你一个月要看完基础知识,你细化一下你的时间,你看的时候就发现,今天的任务我还没完成,那我先完成了再刷手机吧,相当于给自己一个指标了,没完成就别玩。
我自己某段时间的大事件规划,可能没那么细是天维度的:
那我们再看一下学霸的计划表,精确到分钟的那种:
这个的计划我想你严格执行了,坚持下去,量变会引起质变的。
列出要学习的知识点
看到这里很多小伙伴可能会疑惑了,什么叫列出知识点,这其实是我个人比较喜欢的一个点吧,还是用学习Redis举例,你想去学习他相关的技术栈,你想学什么呢?
是不是在开始前大家都是很懵逼的?你知道你要学这个技术栈,但是你要学习这个技术栈的哪些点呢?
是不是很疑惑,那如果你把知识点列出来,我想结果就是另外的一个样子了,你现在要学习Redis,那你就从基础开始嘛,那就列个清单写上基础,到时候你要去看基础的时候,你就会从他的基础知识,还有他的几种基础类型看起来了。
基础结束了你就想了解,缓存经常应用的场景,已经使用之后会出现的问题,比如持久化机制,缓存击穿、雪崩、穿透等等。
等那些都了解了,你就想知道,缓存里面的高级技巧比如BloomFilter,RedisSearch,Redis-ML等等。
这些东西如果你不列出来那我觉得你不管是看书还是看视频,到最后都无法形成知识体系的。
大家还记得那个电子科技大学的课代表么?他在学习Redis相关知识点的时候,就列了很详细的知识点脑图,这个真心很能帮助到大家的。
我们回顾一下:
Tip:脑图我公众号很早就开放给大家了,公众号回复【课代表】即可。
不知道大家发现没有,这样的仔,不管是学习,还是工作,你们难道不觉得事情交给这种人,就很放心么?
那提到脑图,我也说一下做脑图的重要性吧。
画脑图
这个是我工作以来,一直都很依赖的工作和学习的方式,就是做脑图,工作中大家也会发现身边的仔,基本上也都会或多或少的做一些脑图,去辅助自己设计系统,或者去了解学习一些知识点什么的。
他可以做详细设计,做概要设计,当然也可以做我上面提到的时间规划,以及知识点清单啥的,就是课代表做的这种。
学习一个技术栈,其实到最后是一颗技术树,就比如我最近在写的《吊打面试官》java基础系列,我其实就会去列出,java基础相关的知识点,然后看哪些面试常问,适合拿来写文章,这样写,思路非常清晰,不然我漫无目的的写,估计我不疯,你们也应该会疯掉的吧。
可以大致看下,基础方面知识点我的大致内容:
做脑图的软件,我这里给大家推荐两个,这两个我都有在用,说不上好坏,一个在线方便,一个功能齐全,样式更多样。
工具:Xmind/ProcessOn
- Xmind官网地址: www.xmind.cn
- ProcessOn在线作图地址:www.processon.com
做笔记
俗话说得好,好记性不如烂笔头,大家不管是看视频,还是自己看书,我觉得,做个笔记太有必要了,你可能会说我是天才来的,过目不忘,我不信!
千万不要太相信自己的记忆力。
很多时候甚至我们转眼就会忘记很多事情,那还指望脑袋能记多少?
所以我身边自己的包里,就有两个笔记本,一大一小,一个是平时随手记琐事的,怕自己忘记的,一个就是打草稿,或者随时涂涂写写的笔记本。
小伙伴说我都是电脑或者Pad上看视频,看书啥的,我也不想写字。
那就用笔记工具咯,印象笔记、有道云笔记等都是不错的选择,个人用的印象笔记,从大学到现在用了很多年了,还是很不错的,也承载了我的很多记忆,基本上有我学硬件,到学软件这一路的笔记了,也有一些婆娑的话语,我是话痨来的嘛。
我主要就是记录知识点,和偶尔的一些面经收获啥的:
我暖男来的嘛,同样给大家安利下这两个笔记软件吧,还是那句话,不要太相信自己的记忆力。
印象笔记、有道云笔记
- 印象笔记官网地址:www.yinxiang.com
- 有道云笔记地址:note.youdao.com
看书
我记得我写过一个书单集合的文章,里面有很多我和身边朋友看过的书籍,我还有我身边的朋友都不止一次安利,看书这件事情。
万般皆下品惟有读书高、书中自有黄金屋、黑发不知勤学早,白首方悔读书迟、书犹药也,善读之可以医愚、用宝珠打扮自己,不如用知识充实自己、鸟欲高飞先振翅,人求上进先读书……..
我想关于描写读书的谚语都不用我在过多的赘述了,读书我想也只有好处,没有坏处的,还是那句话,作者都是把自己几年甚至几十年的总结,都在写在了书里,就算有错误的点,大的方向大家还是能收获东西的。
实体书!!!我墙裂推荐大家买实体书,看实体书大家可以写写字,涂涂画画,还可以随时翻阅,主要是尊重原创嘛,经常看到有人分享什么盗版PDF,我个人是嗤之以鼻的,比较鄙视这种行为,花50-100左右的钱,买一个格局,买别人十几年的经验不香么?还白嫖?
就像很多看文章,不点赞,白嫖我的人才一样,哈哈,开个玩笑。
了解一个新的知识点,技术栈,看书是不二之选,我个人也比较推荐这个,看书的时候你的心会没那么浮躁,其实看一本书你规定每天看十几页,一本300页的书,也一个月不到就完了,很是很快的,根本不浪费大家多少时间。
那大家不知道书的好坏,买之前可以去当当或者京东看看对应的评价,或者去豆瓣看书评,我个人是豆瓣看得多点,我个人也整理了一些书单(带书评)。
看官方文档
看书你可能不想看,那我觉得文档,也是一个超级不错的地方,像我自己在学习Redis啥的,我就是看官方的文档的,其实我经常好奇,大家为啥不喜欢看文档?
因为我们技术博客写出来,我们大部分都是参考官方文档的,有时候也会有理解的偏差,导致传达一些错误信息,那这个时候你就需要一份官方文档救命了。
一般文档,都比你想象得要详细很多,基本上也会涉及到所有的知识点,例如Redis文档:
- redis:redis.io
视频
还是有很多仔说,丙丙,人家就是看不进去书嘛。
乖,那看视频呗,看视频好的一点就是,有老师操作,有PPT可以图文并茂的看。
看视频有很多老师可以选择,也有不同的风格可以选择的,你可以看一两集快进寻找适合自己风格的老师,有的仔就喜欢看我这种皮的,或者有的就喜欢看很严肃的,老师这么多肯定会360°满足你的。
那看视频学习一般都去哪些网站呢?
小破站!这是我第一个力荐的网站,我个人学习视频剪辑,学习很多技术栈都是在里面看的,里面有很多厉害的UP也有很多学习的UP主,而且用户群体都是人才,也是我娱乐消遣的地方,我超喜欢里面的,各个说话都好听,回到这里就像回到家一样。
小破站:www.bilibili.com
YouTube:这个网站想看,大家需要科学上网,因为我毕业之后进的公司都是自动科学的,所以也相当于省了不少网费,里面也有很多大牛做的教程,看起来也是很有意思,学东西也是杠杠的。
YouTube:www.youtube.com
看源码
GitHub:也叫GayHub,号称全球最大的“同性”交友网站,所有的开源项目,都在这里托管,想看源码,或者各种知识点的总结,这里都有,我订阅了官网的热门,发现比较优秀的开源项目,都会搞下来看看到底有没有东西。
我之前出来面试,写的熟悉Dubbo源码,就是去这里下源码下来,然后打断点,了解他的整个过程,然后才能在面试的时候,在面试官那喷半个小时的。
源码好像也是我们了解一个技术栈最直接的方式了,而且官方开源的也会有很详细的文档,看起来也不吃力。
有小伙伴说直接看代码很吃力,我想说我们任何人看都吃力,你得实际操作一下,比如你想了解一次RPC调用,Dubbo做了啥,你就进去入口打个断点,一点点的下去,刨根问底的看这样好很多了,而且可以结合他的思维导图看嘛。
这样你可能就了解一次调用他的链路,他服务暴露怎么做的,他的负载均衡策略啥的。
GitHub:github.com
刷题
看到这里很多仔要疑惑了,丙丙为啥要刷题呢?
这里只针对要去面试的仔,不管是校招,还是社招的,社招其实正常的面试也不用刷,大家打好根基就好了,但是因为校招大家没啥实际经验,都会有笔试题环节的,社招去字节,这样很考算法的公司,我觉得刷题还是很有必要的。
这里的刷题针对两个人群我推荐不同的网站吧。
校招仔:因为校招的题涉及计算机基础,编程语言基础等各种知识点,我觉得牛客网不错,我自己虽然没经历过校招这个环节,但是牛客网我是刷过的,当时我把所有题目都做了,收获还是有的。
其实有点应试考试这样的嫌疑,但是为了Offer应试就应试呗,我们进公司了学技能不就得了对吧,这种忍辱负重我觉得还是有必要的。
社招仔:因为字节、多多这样的公司,经常会用算法这样的方式去做筛选,因为这样筛人真的很快,所以我们也不能打没把握的仗,那算法的话我就推荐力扣(leetcode)和lintcode,里面的算法题可以说是很完善了,也有各种大神给自己的解题思路,还是很不错的。
牛客网:www.nowcoder.com
-
lintcode:www.lintcode.com
逛博客
作为一个技术人,把逛博客,养成一个跟大家刷朋友圈一样的习惯,我觉得很有必要,因为博主很多大牛,比如阿里,多多,字节,腾讯等等公司的大佬,很多都有写作的习惯。
我自己认识的阿里朋友,超过1/3都有自己的技术博客,在博客里面,没事逛一下,我觉得也是不错的,总能学到东西的嘛,而且还有类似敖丙那种又能跟你聊生活,又能跟你一起交流知识的博主,真香啊。
博客我也总结了一些平台的特性,大家可以对症下药,看自己想看什么类型的。
掘金:是一个帮助开发者成长的社区,是一个面向互联网技术人的内容分享平台,是的社区这两个字很醒目,这也是我个人认为掘金的最大特点,15成立的他很年轻,我是在大学的时候我姐姐推荐给我的。
当然你现在也知道了我也经常在掘金发文,从一个知识摄入者,变成了一个知识的分享者,他社区的特点一览无遗,是一个很包容的平台,里面前端到后端我觉得界限没别的平台那么明显,说他是社区是因为,他有分享生活,分享技术的种种文章,甚至有种看朋友圈的特点。
掘金:juejin.im
CSDN:这个也是我姐姐在推荐我看技术博客的时候,一起给我推荐的,不过在姐姐推荐之前,我其实就已经在使用他了,他有资源共享下载的地方,虽然要花C币,我还记得大学为了几C币去各种求网友的场景。
他是1999年成立的,算是国内最老,最成熟的技术博客网站了,内容无比丰富,底蕴很深厚,注册会员我盲猜在2000万-2500万左右,他的SEO也做的很好,所以百度你查资料基本上就是他和博客园置顶了。
CSDN:www.csdn.net
博客园:昂,上面刚提到的博客园,04年的他,比起CSDN年轻了不少,是一个以.net为主的博客网站,这么多年风格变化不是很大,至少在大学接触他到现在这么久了,都没怎么变。
移动端这么重要的今天,他的移动端,还是那么下饭,我不知道怎么想的哈哈,不过问题不大,因为他复古的界面,以及他极度DIY的风格定义,导致他有一批死忠粉和老用户,也是很活跃的博客网站。
知乎:知乎的流量可能是我介绍的博客网站里面最大的,但是并不意味他是最好的,因为他不是纯技术的,而且林子大了什么鸟都有嘛,不过进去看看文章,看看回答还是不错的。
很多大佬都会在里面耐心的解答你的问题,你想知道的去里面搜一下基本上都能找到答案。
思否(segmentfault):说到回答,这个跟我一样是杭漂的网站就厉害了,他也是博客和问答的形式,是中国版的stackoverflow,不过因为他的年轻,可能沉淀的文章还不够,不过我想会越来越好的。
stackoverflow:上面既然提到了中国版的,我就说一下这个世界级别的老大哥,这是我这里面使用频率很高的网站了,遇到问题不会就Google,然后基本上都往这里面跳,你就知道他的厉害了。
是的你遇到的问题,外国的友人肯定也有遇到的,问答的方式,还有很多热血仔在下面跟答的形式,我比较喜欢,而且国外大牛多嘛。
stackoverflow:stackoverflow.com
开源中国:跟码云是一家的,作为博客网站来说,年轻了点,但是不影响他有很多优质的博主不断给他输出内容,基本上的领域都覆盖了,经常也会举办各种活动,我也看好他的未来。
开源中国:www.oschina.net/blog
实践
纸上得来终觉浅,绝知此事要躬行。
真的,大家一定要去实践,我个人没啥工作经验,但是我也出来打工3年了,可以完全负责任的告诉你,任何行业,不管是我们写代码,还是别的行业,绝对是大量的实践去积累经验的。
我没看到任何一个人就各种吹逼,看书就能到技术专家的地步的,不管是医生还是我们写代码,都需要不断实践,犯错,吸取经验,不断进步。
看和做真的不一样,我以前做硬件,看视频的时候,觉得我自己一次就行,结果在实验室一次次熬夜,一次次失败,才成功做出成品,但是那一次成功之后,我再做类似的就会快很多了,因为第一次失败踩坑都踩了,再搞一次不就是张飞吃豆芽,小菜一碟了嘛。
写代码同理,你身边的大佬,肯定也是一个个BUG写上去的,也是不断去尝试各种框架,各种技术栈,总结出自己的一些东西的。
所以不管是看书,看博客,还是看视频,最后的最后,一定要去实践,照着敲下代码,或者边看逻辑图,一边断点整个流程,不要太香了呀,你会发现,看源码跟吸毒一样,停不下来的。
坚持
所有上面这些,最后的最后,还是要大家坚持,持之以恒才能看到效果的,你可以看了几天然后跟我说,丙丙我怎么还是拿不到大厂Offer,怎么还是啥都不会,我会回答你:滚回去继续看。
当然这里是开个玩笑,但是确实是这样,我身边的技术大佬,基本上都是日复一日坚持做一些东西,最后量变引起质变才有他们今天的,其实我在这点上做得很差,我也知道我还有很长的路要走。
不怕,我们一起鼎力前行咯。
费曼学习法
这是我最后要安利的一个学习方法,我个人认为,很不错,不知道你们能不能get到这个学习方法的精髓。
理查德·费曼(1918-1988年),1965年获得诺贝尔物理学奖,美籍犹太人。
他被认为是爱因斯坦之后最睿智的理论物理学家,也是第一位提出纳米概念的人。
![]()
- 选择一个概念
选一个你想学习的概念。
- 讲授这个概念(费曼技巧的灵魂)
设想,你面对这个领域的菜鸟,甚至面对十岁的孩童,试图解释清楚这个概念,并让对方完全听懂。
这,一方面加深你的理解,另一方面,找到不明白的节点或卡点。
你就假装你要把你学的这个东西,要做技术分享,分享给你周围所有的同事朋友或者家人,你怎么做到让他们完全理解这个技术栈。
- 查漏补缺
当你无法解释的时候,重新回头找答案。
回到书上去,回去找同学、找老师、找已经懂的人,把这个概念重新研究一遍。
结果要求,你能够把这个概念重新流利地解释出来。
- 简化语言和尝试类比
继续升华。
假若是一个学术化或抽象化的词语,尝试用简洁词语来解释。要么,用别的东西来类比它。
这里其实还可以理解为深入的了解那个技术栈。
总结
其实上面说了这么多,不需要大家全部都get到,最后要传达的意思就是,养成一种习惯,然后一直坚持下去,其实我说了你去做一下很简单,但是坚持就比较难了。
你也可以尝试发现你身边比较优秀的仔,然后像人家学习。
加油,敖利给。