Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96082
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 715
  • 用 户 组: 普通用户
  • 注册时间: 2019-01-14 22:17
个人简介

微信公众号【程序员黄小斜】 大厂程序员,互联网职场新知,终身学习践行者,懂技术,懂职场,更想懂你。

文章分类
文章存档

2019年(70)

我的朋友

分类: IT职场

2019-03-15 16:15:38

阅读本文大概需要 3 分钟。


如何真正地掌握一个技术知识点,这是我一直在探索的一个问题,在秋招复习的那段时间,我主要通过阅读博客、整理博客等方式构建了自己的知识体系,所以也算是有了一些经验,在这里分享给大家。





1、第一次接触


作为一个学习者,在学习过程中往往会遇到很多新概念,比如你在学习并发编程的时候,会遇到“锁”、“同步”、“CAS”等奇奇怪怪的概念,光看文字解释大部分人都是一头雾水,我也一样。


所以,第一次接触一个技术知识点,往往是我们充满好奇,渴望探索的时刻,保持这份好奇心,继续下一步探索吧。





2、深度优先遍历


深度优先遍历(DFS)是一种算法思想,用在这里,想表达的是“如果遇到一个陌生的概念,学习它的过程中往往会同时遇到其他陌生的概念”那么就用深度优先遍历的方法去搞定它。


刚刚我们提到并发编程里的“锁”这个概念,就应该噶


比如我遇到了“网络IO模型”这一问题时,卡在了IO多路复用这一问题上,搜索以后,发现IO多路复用在Linux操作系统上的解决方案有:poll、epoll和select。


这三个概念又是什么东西呢,没办法,只好用DFS的方法继续去了解,搞懂了poll之后,继续搞懂epoll,而理解epoll又是相当费劲的,不得不去了解epoll的实现原理,甚至需要去看源码,可见学习一个技术知识点并不轻松。





3、搞懂底层原理


对于上面提到的epoll,笔者为了学习它实在费了不少功夫,一开始光看一些面试题的解答,以为记住答案就可以了,但是真正到面试的时候你就会发现背的东西根本靠不住,一是容易忘,二是容易被看穿。


当你背了很多面试题的答案之后,你就会发现,背的越多,忘得越多,这就是一个恶性循环,怎么办呢,只好硬着头皮去理解原理呗。


当然,对于这种级别的知识点,我可不推荐你抱着《UNIX网络编程》去

探索,有点太夸张了,去看一些比较好的博客就足够了,比如在掘金,开发者头条,搜一下你感兴趣的知识点,挑几个高赞回答瞅一瞅,总有几个大佬能告诉你真相的。


我早已熟悉这一学习方式,于是很快就找到了一篇讲解epoll原理的文章,这篇文章不仅把基本概念解释清楚,甚至还解析源码,另外,我在另一篇文章里找到了epoll底层数据结构的示意图,竟然是一颗红黑树。此时再把两者一结合,基本上这个概念就变得很好理解了。


4、构建自己的知识体系


不管是学什么技术,最终都需要你进行归纳、整理,才能把所学的东西变为自己的。工作为什么要写日志,平时学习为什么要写博客,其实就是在构建自己的知识体系。


在学习的过程中多做笔记,多做总结,习惯一旦形成,久而久之,便会印在你的脑海里,你下次再被问到这一问题时,你就可以用自己之前总结过的内容来回答。


比如我在学习Java并发编程的时候,一开始也觉得毫无头绪,相关知识点杂乱无章,后来我整理了一个技术专栏叫做“Java并发指南”,在这里的过程中梳理了并发编程的知识结构,从最基础的Java多线程,再到JMM内存模型、锁、JUC并发包、JUC源码,依次进行学习。


如果对我整理的博客专栏感兴趣,也可以直接点击原文链接进行查看。




推荐阅读:





听说点“好看”是种美德?我要先点个好看  


阅读(573) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~