从技术小白到收获龙8体育研发offer,分享我的学习经验和感悟

从技术小白到收获龙8体育研发offer,分享我的学习经验和感悟

上一年秋季参与了学校招聘,有幸拿到了BAT、头条、网易、龙8体育、滴滴、亚马逊、华为等offer,经过研讨生两年的学习堆集,总算达成了自己的方针,期间也经历了许多,谨以此文,聊表感叹,也会同享许多我的Java学习心得和求职经历。
不论是找作业仍是学技能,在精不在多,同享一下我在龙8体育一些学习经历,一起也会同享一些我觉得比较有价值的学习办法。
秋招前的堆集与沉积

研讨生期间我有一件作业一向在坚持,那便是做笔记和写博客。
做笔记,便是记载学习中大大小小的作业,或许是面试问题,或许是一周的学习方案,也或许常识一个常识点,总之都是值得记载的东西,对我来说,便是一种堆集。而关于博客,我从一开始只用于记载项目,到后来做转载,再到后来写原创,收拾系列文章,则更像是一种沉积。

可是在春招刚刚完毕的这段时刻,我发现一个问题,之前学过的东西忘掉了许多,特别是那些了解的不行深的常识点,总是特别简略忘掉。其他我发现,尽管我在笔记中记载了许多的常识点和面试题,可是往往我只看过一次,不会再去看第2次。
这也意味着,尽管记载的内容许多,可是真实消化吸收的内容很少,脑子里充满着总是那些屑细的常识点和面试问题,关于完好的常识体系知之甚少。这些问题在春招期间也不断地显露出来,让我考虑了好久。
面对如此窘境,我想做出改动,趁着现在时刻充裕,我想要为这些内容做一次减法,而且借此机会,推翻自己原有的常识体系,重建新的常识结构。简略说来,便是从头开始学习Java后端,这次我要用一种更高效的办法,防止走之前走的弯路,要用最高效,最合理的办法去温习。因为我之前现已有根底,所以我对完毕这一方针有决计,相应地我也为此做出了清楚且详细的学习方案。

几个要害词描述这三个月的秋招温习
“详细可靠的学习方案”
在三个月的时刻里,我首要依照Java后端路线图组织好温习方案,每个常识点都会对应组织一段时刻,比方我或许花一天时刻温习“Java反射”,两天时刻温习“规划办法”,一周的时刻用于温习"JVM虚拟机”。我一般会在月初做好整个月的方案,然后根据开展做一些微调,可是根柢上我都能够跟上开展,而且是在温习到位的前提下。
所以我觉得,关于秋招这一场苦战,指定方案尤为重要,一旦方案定下来,战略方针清楚,对应的战术拟定也会变得清楚,执行力也会随之变强。

“写博客整合常识点”
至于温习办法,我首要经过看高质量博客,而且结合代码实践的办法安靖这部分常识点,比方今日学习“concurrenthashmap”,我会去找两三篇比较好的博客先看看,首要是源码解读方面的,然后我会把它们进行整合,假设有遗失的常识点我会再进行弥补,有时分我还会自己去看看JDK源码,以便更好地了解博客内容,完毕常识整合之后,我就会对应地收拾出一篇博客出来,发在我的个人博客上。
除此之外,当我完毕了一整个专题的温习之后,我会把这些文章收拾成一个专题,比方上面说的“concurrenthashmap”,实际上属于Java并发包,所以我会专门做一个博客专栏,用来完毕Java并发系列的文章专题。关于每一个文章专题,我都会先理清这个专题总共有哪些内容,然后再开始收拾。比方关于Java并发包,我会先写Java多线程根底的文章,再写JMM内存模型的文章,接着一步步着手写Java线程池,阻塞部队,东西类,原子类等等。这样一来这部分内容就温习完毕了,写系列文章的利益就在于,我能够自始至终理清条理,而且关于每一部分的常识点都做了比较好的总结。
关于博客的挑选,我吸取了之前的经验,甘心花半小时看一篇高质量文章,也不花10分钟看5篇烂文章。深度阅览的利益,便是能够让这部分内容更好地融入你脑内的常识体系,而不是像其他快餐文章相同转瞬即逝。
“做项目安靖实践才华”

因为之前在实习期间参与的项目都比较大,我接触的模块也比较单一,没有对全体项目有一个很好的把握,所以我抉择趁这段时刻再安靖一下我的项目实践才华,这儿的才华首要是指的是对项目架构的把握才华,以及对业务开发的熟练度,当然也包含对各种常用后端技能的了解程度。
我花了大约一个月的时刻完毕了两个龙8体育项目的开发,当然首要也是仿照两个开源项目做了,这两个项目都运用SpringBoot快速开发,而且用到一些常用的后端技能比方redis,云存储,以及一些常见Web结构,除此之外还触及到了solr,爬虫等技能。尽管项目不算很难,可是我在这段时刻里很快地了解了完好项目开发的流程,而且每天做迭代,经过Git来跟进版别,每个版别都会写清所做的内容,这也让我对项目的架构十分了解。
在项目之余,我也找一些常用的后端组件来跑一跑demo,以便让我对这些技能有一个直观的了解,比方面试常问的dubbo,zookeeper,音讯部队等组件。这些检验也让我在了解它们的原理时愈加得心应手了。
“坚持刷题,重视办法”

算法题是秋招书面考试面试中的重头戏,每个研制同学都免不了经历算法题的糟蹋,对我这么一个非科班同学来说,更是让人头大。正因为如此,我抛弃了刷许多LeetCode标题的办法,挑选了愈加卓有成效的刷题办法。
首要我从头刷了一遍剑指offer,而且对每道标题进行总结,尽量保证每一道题都能够记在脑子里,众所周知剑指offer中的题是面试时十分喜爱考的,所以先搞定这部分标题是最为要害的。

搞定剑指offer之后,当然还要刷LeetCode了,LeetCode标题这么多,怎样挑选呢,我没有依照tag刷,也没有依照次序刷,而是参看其时一个大佬的LeetCode刷题攻略来进行刷题的,他把每个类型的标题都做了概括,每部分只放一些比较经典的标题。所以我前后大约刷了100多道LeetCode的标题,而且在第二遍刷题温习的时分,我也对这些标题做了一份总结。
除了上面两个经典题库,我还着重刷了大厂的历年真题,这部分我首要是经过龙8体育官网的历年真题题库来完毕刷题的。说实话,真题是十分重要的,因为公司出的标题不像往常的那些算法题,或许会出得十分奇葩,所以你假设不提早习惯的话会比较吃亏。完毕这部分标题之后,我对算法题的温习也根柢告一段落了。
当我完毕悉数内容的温习时,提早批现已开始了。总算要上战场了,因为战前预备比较充沛,所以我对秋招仍是比较豁达的,但事实上,秋招不只是攻坚战,而且是耐久战,要笑到究竟,的确也不是那么简略的作业。
重建常识体系,对学过的东西做减法

前面说到我在秋招前完毕了常识体系重建,那在这儿我也想跟咱们同享一下我其时大致的常识体系构成。就跟我前面说的相同,我挑选从头再学一遍Java后端相关的技能内容,因为我知道大致的学习方向,而且有必定的根底,所以看许多龙8体育的文章变得愈加得心应手,写文章和做总结也愈加有底气了。

首要在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,负载均衡,分布式锁等内容,这些常识点我都会用一到两篇文章去总结,关于分布式缓存,音讯部队,以及分布式服务等内容,我会花比较多的时刻去全面学习,然后总结出一个系列的文章出来。当然,关于这些技能的学习首要仍是停留在理论方面,在自己的项目中能用到的比较少。
至此,我的常识体系根柢构建完毕,这也是我在秋招中能够成功闯过那么多面试的原因。
秋招之路,砥砺前行

不论前期做了多少预备,到秋招的时分也不能掉以轻心,从七月底榜首次面试到9月根柢佛系,中心经历了大大小小的面试。
在完毕常识体系重建往后,我把要害转向了其他几件事,一是完善和了解我的简历,以便在面试中能够比较好地发挥,二是继续刷题,坚持对算法题和书面考试真题的手感和熟练度,三则是看面经查缺补漏,我一向认为看面经是很重要的一项温习内容。
就这样,我一边继续温习,以便开始了一场接一场的面试接力。
起先,我面了几家小公司练手,接着阿里的提早批接踵而至,我战战兢兢地参与了阿里中心件部分的面试,面难难度还算适中,总共四轮面试,其时我的表现也还不错,问题根柢都答上来了。面完不到一周往后我就收到了经过的音讯,其时还有点懵。没想到榜首个offer这么快就来了。

这段时刻内,龙8体育的两个部分也给了我面试机会,我都参与了它们的面试,而且顺利地拿到了其间一个部分的offer。因为我对龙8体育的业务比较感兴趣,究竟挑选了龙8体育offer。
阿里提早批的成功的确是意外之喜,但也大大地鼓动了我,所以我又参与了百度和腾讯的提早批面试,因为百度的提早批不走流程,总共有四个部分面试了我,每个部分都有2到3轮面试,总计约为12次面试,到后来我现已快晕了,看到百度的电话就惧怕,因为面试次数太多,有时分发挥的确也不是很好,我也没有特别在意,只当是在训练自己了。
百度的面试难度每个部分不相同,可是每次面试必写算法题,一写算法题,时刻至少便是一个小时以上,每次面试完都有一种身体被掏空的感觉。

经历了百度面试的糟蹋往后,我手写算法的速度也变快了,许多坑也被我填上了。接下来面对腾讯的面试,我也是既激动又担心,腾讯的面试难度比较大,关于操作体系和网络的常识喜爱深挖,问的东西也很有深度,面完前三面往后,第四面拖了3周才进行。其时三面面试官对我的评价比较好,也让我决计爆棚了良久。
在等候腾讯终面的期间,我参与了今日头条的面试,其时有幸拿到了一个白金码,免除书面考试,事实证明白金码效果真的很大。头条的面试难度和腾讯差不多,三轮面试,相同需求写各种算法,由所以视频面试,我能够清楚地看到,头条的面试官真的十分高冷啊。面完头条我的榜首感觉便是应该挂了吧。没想到究竟仍是给了offer。
完毕这几家大厂的面试之后,我觉得我的秋招现已接近完毕了,不过因为之前投的比较多,所以我又面了几家大公司,如网易,华为,快手等。到9月上旬的时分,我接连收到了bat和头条,网易的意向书,阿里最早,腾讯最晚,每收到一封意向书我都很高兴,没想到究竟我真的能够集齐bat等大厂的offer。
9月往后,除了偶尔和同学做几场大厂的书面考试,我根柢就佛系了。直到后来一些外企例如亚马逊,大摩开始书面考试面试,我才又从头回到了情况。

截止现在,我根柢上把该回绝的offer都回绝了,概括各方面要素的考虑,究竟应该会签龙8,原因是部分是我自己喜爱的,一起给的评级也比较高。尽管腾讯也给了sp,可是究竟仍是忍痛割爱啦。至于百度和头条,给的offer并不是很令人满意,所以就没有考虑了。
至此,我的秋招之旅总算满意完毕。
面经同享

1 龙8面经
龙8中心件研制面经
龙8体育研制面经
岗位是研制工程师,直接找龙8体育的大佬进行内推。
我参与了龙8体育中心件部分的提早批面试,总共经历了四次面试,拿到了口头offer。
然后我也参与了龙8体育中心件部分的面试,经历了三次面试,可是没有走流程,所以面试间断了。
究竟我走的是龙8体育财富作业群的流程,经历了四次面试,包含一次交叉面,究竟拿到了龙8体育的意向书,评级为A。
龙8体育的面试体会仍是比较好的,至少不要求手写算法,可是十分重视Java根底,中心件部分还会特别组织Java根底书面考试。

2 腾讯面经
腾讯研制面经
岗位是后台开发工程师,我没有挑选意向作业群。
SNG的部分捞了我的简历,开始了面试,他们的技能栈首要是Java,所以比较有的聊。
总共经历了四次技能面试和一次HR面试,现在正在等候结果。
腾讯的面试自始自终地重视考察网络和操作体系,而且喜爱问Linux底层的一些常识,在这方面我仍是有许多缺乏的。

3 百度面经
百度研制面经
百度研制面经整合版
岗位是研制工程师岗位,部分包含百度智能云的三个分部分以及大查找部分。
百度的提早批面试不走流程,所以能够一起面试好多个部分,所以我参与百度面试的次数大约有12次左右,究竟应该是拿了两个部分的offer。
百度的面试风格十分共同,每次面试根柢都要到电脑上写算法,所以那段时刻写算法写的头皮发麻。

4 网易面经
网易研制面经
面试部分是网易云音乐,岗位是Java开发工程师。
网易是仅有一家我去外地面试的公司,也是我最早去实习的老东家。
总共三轮面试,耗时一个下午。
网易的面试比我梦想中的要难,面试官会问的问题都比较深,而且会让你写一些结合实践的代码。

5 头条面经
今日头条研制面经
岗位是后台研制工程师,地址挑选了上海。
我参与的是字节跳动的内推面试,其时找了一个牛友要到了白金码,再次感谢这位头条大佬。
然后就开始了一下午的视频面试,总共三轮技能面试,每一轮都要写代码,问问题的风格有点像腾讯,也喜爱问一些底层常识,让我有点懵逼。

Java后端技能专栏

关于学校招聘来说,最重要的仍是根底常识。下面的博客专栏出自我的技能博客
long8.in
这些专栏中有一些文章是我自己原创的,也有一些文章是转载自龙8体育技能大牛的,根柢都是是我在学习Java后端的两年时刻内连续完毕的。
总的来说算是比较全面了,做后端方向的同学能够参看一下。
深化浅出Java中心技能
本专栏首要介绍Java根底,而且会结合完毕原理以及详细实例来阐明。一起还介绍了Java集结类,规划办法以及Java8的相关常识。
深化了解JVM虚拟机
带你走进JVM的世界,整合高质量文章以论述虚拟机的原理及相关技能,让开发者更好地了解Java的底层工作原理以及相应的调优办法。
Java并发攻略
本专栏首要介绍Java并发编程相关的根柢原理以及进阶常识。首要包含Java多线程根底,Java并发编程根柢原理以及JUC并发包的运用和源码解析。
Java网络编程与NIO
Java网络编程一向是很重要的一部分内容,其间触及了socket的运用,以及Java网络编程的IO模型,比方BIO,NIO,AIO,当然也包含Linux的网络编程模型。
了解这部分常识关于了解网络编程有许多帮助。其他还弥补了两个触及NIO的重要技能:Tomcat和Netty。
JavaWeb技能世界
从这儿开始翻开去往JavaWeb世界的大门。什么是J2EE,什么是JavaWeb,以及这个生态中常用的一些技能:Maven,Spring,Tomcat,Junit,log4j等等。
咱们不只要了解怎样运用它们,更要去了解它们为什么出现,其间一些技能的完毕原理是什么。
Spring与SpringMVC源码解析
本专栏首要阐明Spring和SpringMVC的完毕原理。
Spring是最盛行的Java结构之一。
本专栏文章首要包含IOC的完毕原理剖析,AOP的完毕原理剖析,业务的完毕源码剖析等,当然也有SpringMVC的源码解析文章。
从头学习MySQL与Redis
本专栏介绍MySQL的根柢常识,比方根柢架构,存储引擎,索引原理,主从复制,业务等内容。当然也会阐明一些和sql句子优化有关的常识。
一起本专栏里也介绍了Redis的根柢完毕原理,包含数据结构,主从复制,集群方案,分布式锁等完毕。
分布式体系理论与实践
本专栏介绍分布式的根柢理论和相关技能,比方CAP和BASE理论,共同性算法,以及ZooKeeper这类的分布式调和服务。
在分布式实践方面,咱们会讲到负载均衡,缓存,分布式业务,分布式锁,以及Dubbo这样的微服务,也包含音讯部队,数据库中心件等等。
后端开技能杂谈
本专栏涵盖了大后端的很多技能文章,当你在Java后端方面有必定根底往后,再多了解一些相关技能总是有利益的。
除了Java后端的文章以外,还会触及Hadoop生态,云计算技能,查找引擎,乃至包含一些数据挖掘和AI的文章。
总的来说选取了一些不错的根底类文章,能让你对大后端有一个更直观的知道。
Java工程师必备书单
我之前专门写了一篇文章介绍了Java工程师的书单,能够这儿要害罗列一些好书,推荐给咱们。
《计算机网络:自顶向下》这本从运用层讲到物理层,感觉这种办法学起来更轻松。
《图解算法》《啊哈算法》
这两部书本十分适合学习算法的入门,前者首要用图解的办法覆盖了大部分常用算法,包含dp,贪心等等,能够作为入门书,后者则把许多常用算法都进行了完毕,包含查找,图,树等一些比较高级的常用算法。
《剑指offer》这本书仍是要强烈推荐的,终究是面试题常常参看的书本,当然最好有前面根柢的衬托再看,或许收成更大,这本书在面试之前一般都要嚼烂。假设想看Java版其他代码,能够到我的Github仓库中查看。
《Java编程思维》这本书也是被誉为Java神书的存在了,可是对新手不友好,适合有些根底再看,当然要挑选性地看。我其时大约只看了1/3
《Java中心技能卷一》
这本书仍是比较适合入门的,当然,这种厚皮书要看完仍是很有难度的,不过比起上面那本要简略一些
《深化了解JVM虚拟机》
这本书是Java开发者有必要看的书,许多jvm的文章都是提取这本书的内容。JVM是Java虚拟机,赋予了Java程序生命,所以好好看看把,我自己就现已看了三遍了。
《Java并发编程艺术》
这本书是国内作者写的Java并发书本,比上面那一本更简略易懂,适合作为并发编程的入门书本,当然,学习并发原理之前,仍是先把Java的多线程搞懂吧。
《深化JavaWeb技能内情》
这本书是Java Web的集大成之作,涵盖了大部分Java Web开发的常识点,不过一本书明显无法把悉数细节都讲完,可是作为Java
Web的入门或许进阶书本来看的话仍是很不错的。
《Redis规划与完毕》
该书全面而完好地阐明晰 Redis 的内部工作机制,对 Redis
的大多数单机功用以及悉数多机功用的完毕原理进行了介绍。这本书把Redis的根柢原理讲的一览无余,包含数据结构,耐久化,集群等内容,有空应该看看。
《大型网站技能架构》
这本淘宝系技能攻略仍是十分值得推重的,能够说是把大型网站的现代架构进行了一次简略的总结,内容涵盖了各方面,首要讲的是概念,很适合没接触过架构的同学入门。看完往后你会觉得后端技能本来这么才学过人。
《分布式服务结构原理与实践》
上面那本书讲的是分布式架构的实践,而这本书更专注于分布式服务的原了阐明和对应实践,很好地叙说了分布式服务的根柢概念,相关技能,以及解决方案等,关于想要学习分布式服务结构的同学来说是本好书。
《从Paxos到Zookeeper分布式共同性原理与实践》
说起分布式体系,咱们需求了解它的原理,相关理论及技能,这本书也是从这个角度启航,阐明晰分布式体系的一些常用概念,而且带出了分布式一哥zookeeper,能够说是想学分布式技能的同学必看的书本。

发布了3 篇原创文章 · 获赞 0 · 访问量 252

猜你喜欢

转载自blog.csdn.net/weixin_46200541/article/details/104003761