光背面试题可没用,谈谈如何真正掌握一个技术知识点

阅读本文大概须要 3 分钟。面试


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





一、第一次接触编程


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


因此,第一次接触一个技术知识点,每每是咱们充满好奇,渴望探索的时刻,保持这份好奇心,继续下一步探索吧。数据结构





二、深度优先遍历多线程


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


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


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


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





三、搞懂底层原理


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


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


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

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


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


四、构建本身的知识体系


不论是学什么技术,最终都须要你进行概括、整理,才能把所学的东西变为本身的。工做为何要写日志,平时学习为何要写博客,其实就是在构建本身的知识体系。


在学习的过程当中多作笔记,多作总结,习惯一旦造成,长此以往,便会印在你的脑海里,你下次再被问到这一问题时,你就能够用本身以前总结过的内容来回答。


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


若是对我整理的博客专栏感兴趣,也能够直接点击原文连接进行查看。




推荐阅读:

应聘腾讯,面试官和我聊了一个小时的人生

职场半年,我犯过的错





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

相关文章
相关标签/搜索