【必看】10分钟教你构建好后端知识体系!面试官都求你教他!
牛客的小伙伴们大家好,我是你们的老朋友必看哥沐琢。我是20届的研究生,已经在去年的秋招中上岸了。感恩牛客,和大家分享我的一些些小经验。今天的分享的内容是如何把自己的知识分门别类整理好,我以前最讨厌这种事情了,后来发现原来是自己没找对方法,如果方法找对了,就不会讨厌整理知识了,反而会懒得去做。
写在前面
在我十几年的学习生涯中,直到大学本科毕业,基本上就没有一个完整的笔记本,一个也没有。无论是电子版还是纸质版笔记,它们的意义更多的是在学习的当下帮助我巩固记忆,后来却很少能被回顾到。
其实那时我也有一个疑问,如果你记录的知识点和别人总结归纳的相同, 那你做笔记还有什么意义呢?
后来我开始渐渐明白,笔记应该更多的是你自己的理解和感悟,而非单纯的摘录。但是又不能太零散,需要有一个专门的知识仓库来收藏它。我开始探索和尝试。
慢慢地,我从一个不太喜欢整理,笔记做得很凌乱的人,开始构建起了一点点自己的知识框架,并且不断完善和补充里面的内容。到目前为止,我感觉自己已经养成了将知识总结到笔记本中的习惯!哈哈哈哈没想到我这么没有收拾的人也有今天。
今天我把我的这套思路也分享给大家,希望能够给大家一些启发。我想强调的的是,你不愿意做笔记,其实是因为你不太清楚你当下要做的笔记内容应该放在哪里,你也不清楚未来你要怎么去调用它。
所以在这篇文章里,我主要就给像我一样,不太理解怎么去做笔记,构建自己的知识框架的朋友做一下讲解啦。
工具的选择
目前市面上常见的笔记工具我基本都使用过,像EverNote,为知笔记,OneNote等等,我只推荐OneNote这一款!
优点:
- 可进行无限的页面分级,与知识之间相互关联的树状结构天生契合。
- 页面中的内容可以随意布局,可以在任何地方添加评论、理解和感悟。这个其实非常关键,也是电子笔记和纸质笔记的一个重要差别。传统的笔记软件中,你只能够一直不断地从上到下写,也没办法对知识进行评述,而在OneNote里面你可以在你想要的任何地方写东西,这也使得我们在电脑上运用各种笔记方法称为可能。
我真诚地推荐大家用OneNote,目前在Win10上也自带了,现在的使用体验也没有以前那么糟糕了。
缺点:
- 网络同步差(目前国内不fq也还凑合了)
- 不支持Markdown(可以用自带格式,跟MarkDown一样简陋,也还行)
- 不支持代码高亮(可以将代码带格式复制进来)
- 无法编辑思维导图(这个确实比较难搞,目前只能贴图片)
我们的知识是网状的,互相联系的,而OneNote是最能体现这种感觉的笔记本。其他笔记本我也曾用过不短时间,体感上都没有OneNote好用嗷。
笔记本的设置
在OneNote中,可以创建无数个笔记本。每个笔记本里面有许多个分区,这些分区又可以组合成为分区组,分区组里面可以无限嵌套分区组。每个分区有不同的多个页面,每个页面还可以建立子页面,子子页面(最多两级子页面)。
例如在我下面的这幅图里,就展示了笔记本的相关结构。
当你从任何途径获取到了有关于后台开发的知识后,你都应该将这些知识按照笔记本里的形式整理到对应的知识点上。这样你在准备面试的过程中获取知识的过程可能是零碎的,知识是零散的,但是经过你自己的整理和收集,却形成了一个整体化的知识框架,随时可以供你调取和使用。
这里再展开说一下整个后台开发的知识框架结构。在后台开发笔记本中,有三个分区组,分别是专业技能、专业知识和学习本。
- 专业技能:专业技能是指能够按照一套标准的步骤去逐步完成和实施的内容。比如我这里有一个分区就是讲如何快速阅读一个项目的业务代码。在里面分了多个步骤,每一个步骤一般来说就占一页。
- 专业知识:在后台开发的学习过程中,专业知识应该是分量最大、内容最多的部分。这个分区组里面的内容就跟你平时差不多啦。除了笔记的记录方式有些区别。具体区别看下一版块。
- 学习本:这部分是用于学习一些课程时使用,由于很多课程有自己的知识结构,你把它的知识打散重组到你的笔记本中后,不方便你根据它的知识脉络进行复习,所以建立了这个笔记本。在学习课程时使用,后期复习课程时也可以快速找到当初的笔记。你学习的每一个课程在这个地方建立一个分区组就好了,在课程学习完成后,一般就不会再去翻学习本中的内容了,因为你已经将它的知识点打散到你的专业知识和专业技能部分了。
笔记的记录方式
OneNote 的一大优势就是灵活的笔记记录方式,比如下面的图片就展示了对“网络设备”这一内容的学习笔记。
我们可以将页面划分为三部分,最主体的部分是“知识主干区”,这部分负责存放知识点,需要保证有清晰的主线和逻辑链条,这样你在回过头阅读的时候可以很快速地理解知识。而旁边的评注区则可以放置有关的补充资料和你自己额外的感悟和理解。最后在页面的右上方的写下对整个页面的总结,以强化你自己对内容的理解。更多关于这种笔记法的优势大家有兴趣可以了解”康奈尔笔记法“。
这也是为什么我推荐使用OneNote笔记本的原因,只有这个软件才可以以非线性的方式自由组织笔记。而非完全地从上到下。
提醒一点:无论是哪部分的内容,都尽量要用自己的语言,理解之后再写,否则很容易又变成写了不看。人在阅读自己写的东西的时候,会容易理解很多。
后台开发知识框架分享
我在这里给出一个我使用的后台开发知识的分类。注:没有标出为分区组的都作为分区处理。
02 专业知识:
- 算法与数据结构
- 计算机组成原理
- 计算机网络
- 操作系统
- 数据库
- 前端:前端部分的内容先用一个分区装,后面如果内容太多可以独立出去
- 分布式系统【分区组】
- 分布式事务
- 权限管理
- 分布式锁
- ...
- 框架【分区组】
- Spring
- MyBatis
- MQ
- ...
- 软件工程【分区组】
- 领域驱动设计
- 设计模式
- 代码规范
- 测试驱动开发
- 持续集成
- ...
- 语言特性【分区组】
- Java
- Go
- Python
上面的只是一个我目前在用的结构,比较粗浅,划分得也不是很准确,大家可以根据自己的想法去分类,把知识整理得更有条理。
最后
大家如果有什么问题欢迎留言交流,我看到就会回复的哦!
#阿里巴巴实习##Java#