口试之前先刷几篇面经,或者做几道热门口试题,想必是大家很熟习的一种复习办法了,就像我们当年常常做五年高考三年仿照一样。但是可不要把口试题和面经当成你的紧张复习办法,它只是锦上添花,绝非雪中送炭!
面经是别人的口试履历,所谓前车之鉴,后事之师。我们可以通过面筋对自己的不敷查缺补漏,却不能把这些口试题等同于我们所要节制的知识点。缘故原由很大略,两篇面经可能会有很多的重复知识点,100篇面经也无法包含所有知识点,以是在只刷面经的问题便是:重复多、不全面。
实在笔者以前也很喜好刷面经,在口试前几天把该公司这个岗位的面经刷一遍,口试时还是可以碰着很多类似的问题的。这种做法短期内效果确实好,但是如果从长计议,只刷面经的复习方法实为下策。
作者在春招时才创造问题的严重性,吃了不少亏,大略来说便是:别人的口试题和口试总结看了又忘,忘了又看,实质性的东西没有节制。
贰你还记得多少口试题在春招刚刚结束的这段韶光,我总结了一下春招口试过程中的一些问题,紧张便是:之前学过的东西忘却了很多,特殊是那些理解的不足深的知识点,总是特殊随意马虎忘却。其余我创造,虽然我在条记中记录了很多的知识点和口试题,但是每每我只看过一次,不会再去看第二次。
这也意味着,虽然记录的内允许多,但是真正消化接管的内容很少,脑筋里充斥着总是那些零星的知识点和口试问题,对付完全的知识体系知之甚少。这些问题在春招期间也不断地暴露出来,让我思考了良久。
面对如此窘境,我想做出改变,趁着现在韶光充裕,我想要为这些内容做一次减法,并且借此机会,推翻自己原有的知识体系,重修新的知识框架。大略说来,便是重新开始学习Java后端,这次我要用一种更高效的办法,避免走之前走的弯路,要用最高效,最合理的办法去复习。由于我之前已经有根本,以是我对完成这一目标有信心,相应地我也为此做出了明确且详细的学习操持。
叁忘掉过去,重拾根本
忘却过去,才能更好地开始。当然,也不是真的要大家忘却以前学过的知识点,只是建议各位把之前学的不踏实的技能重新地学一遍,不要只凭着印象去影象知识点。
前面提到我在秋招前完成了知识体系重修,那在这里我也想跟大家分享一下我当时大致的知识体系构成。就跟我前面说的一样,我选择重新再学一遍Java后审察干的技能内容,由于我知道大致的学习方向,并且有一定的根本,以是看很多文章变得更加得心应手,写文章和做总结也更加有底气了。
首先在Java根本方面,我写了20多篇原创博客,紧张是对Java核心技能的解析,比如\"大众Java反射\公众、\"大众Java序列化和反序列化\"大众、\"大众Java非常体系\公众等等。
在Java凑集类方面,我原创了部分文章,其余整合了一些比较好的技能文章,个中最紧张的便是关于hashmap的文章,当时我整合的文章险些没有遗漏任何一个知识点。
在Java并发编程方面,我紧张参考了并发编程网以及一些优质博客的文章,先搞懂了Java并发事理,再一步步学习JUC并发包的组件,个中重点看了chm,并发工具类以及壅塞行列步队等JDK源码的解析文章,除此之外,我还会在IDE中跑JUC干系的emo,毕竟这方面的内容非常须要实践。
在Java网络编程方面,我先从最根本的socket入手,再讲到NIO,AIO,并且加入了几篇对Linux IO模型解析的文章,让全体知识体系更加完全(由于NIO是基于Linux Epoll实现的),接着我又加入了对Netty的磋商,以及Tomcat中对NIO的运用,可以说是把Java网络编程一些比较主要的部分都席卷进来了。为了更好理解这部分内容,我也在网上参考了很多客户端和做事端通信的demo,末了我分别用Socket,NIO,AIO以及Netty把C/S 通信的demo都写了一遍。
在JVM虚拟机方面,我则按照《深入理解JVM虚拟机》这本书的行文脉络进行文章的整理。在搞定JVM基本事理往后,我着重理解了JVM调优和实践中常碰着的问题,并且整理了常用的JVM调优工具,场景问题以及调优实践的案例,这也是由于口试中对JVM调优实践越来越重视了。
在JavaWeb方面,我从Java Web干系技能的发展入手,一步步理解了每种技能存在的意义,比如JSP,Servlet,JDBC,Spring等等,然后对每种技能进行了比较全面的理解,并且着重地看了Spring和SpringMVC的源码剖析文章,其余一方面,我花了很多韶光去研究Tomcat的事情事理。除此之外,JavaWeb项目中常用的maven,日志组件,乃至是单测试组件,也纳入了我的系列文章里。
在数据库和缓存方面,我紧张学习了MySQL和Redis这两种最常用的数据库。对付Mysql,我从大略的sql开始理解,然后开始理解sql优化,MySQL的存储引擎和索引,事务及锁,还有更繁芜的主从复制,分库分表等内容。对付Redis,我也是从大略的api入手,然后去理解每一种数据构造的底层实现事理,接着考试测验去学习Redis的持久化办法,以及作为缓存常须要考虑的技能点,当然,也包括Redis的分布式锁实现,以及它的分布式集群方案。
末了一部分便是分布式干系的理论和技能了,这个也是困扰我良久的一块内容,我紧张把这块内容分为两个部分,分别是分布式理论和分布式技能,理论方面,我先理解CAP,BASE等基本知识,然后开始学习同等性协议和算法,接着磋商分布式事务。
对付分布式技能,涉及的东西就更多了,例如分布式session,负载均衡,分布式锁等内容,这些知识点我都会用一到两篇文章去总结,对付分布式缓存,行列步队,以及分布式做事等内容,我会花比较多的韶光去全面学习,然后总结出一个系列的文章出来。当然,对付这些技能的学习紧张还是勾留在理论方面,在自己的项目中能用到的比较少。
至此,我的知识体系基本构建完成,这也是我在秋招中能够成功闯过那么多口试的缘故原由。
微信"大众年夜众号【黄小斜】大厂程序员,互联网行业新知,终生学习践行者,听说,每个上进又好看的互联网人都关注我了。关注"大众号往后回答「1024」你懂的!