时间过得很快,已经到了九月中旬,从16年读研到现在将近两年的时间里,从一个Java初学者慢慢成长为一个合格的开发者,中间也遇到了很多困难。
我不是科班出身,所以是跨专业考研,所以在算法,计算机基础方面都比较不扎实,在两年的时间中也花了很多时间去弥补。当然最主要的还是在Java后端方面的学习,我尝试过很多学习渠道,也踩了很多坑,在项目里划过水,也在实习里打过杂,一路磕磕绊绊到秋招。
在春招期间我其实就下定决心不实习而选择直接走校招了,当时已经拿到了阿里的实习offer,只不过没有去,一来是因为害怕被拥抱变化,二来是对部门和评级不太满意。
所以从四月开始,我就全面开始准备秋招了,于是我做了一个三个月的学习计划,争取在阿里提前批开始前复习完毕,所以在七月的时候基本上做好了充分的准备,后续的时间基本上都花在投简历,笔试面试以及查缺补漏上了。好在今年研发岗的竞争比较小,所以也拿了几个大厂的offer,秋招总算圆满结束。
在学习和求职的道路上,牛客网帮助了我很多,为了回馈牛客网和各位牛友,我也想分享一下自己的秋招经历以及一些学习经验,希望能够帮助到有需要的人,特别是做研发方向的同学。
老规矩,先上图。
本文主要包括以下内容:
-
1 秋招小结
-
2 面经分享
-
3 Java后端技术专栏
-
4 Java工程师书单
-
5 学习资源分享
-
6 大牛博客推荐
-
7 笔试经验
-
8 面试经验
一:秋招小结
从七月初第一次投递简历,到九月初,整整两个月的时间,大大小小投了几十家公司,其中很多都是提前批,内推,也经历了许多的笔试,面试。
期间也拿了几个offer,包括百度,蚂蚁金服,腾讯,华为,头条,网易(网易云音乐没给offer,调到了其他部门)。有几家直接收到拒信的,包括拼多多,深信服。还有几家在等待结果,包括携程,快手,斗鱼等。
当然也有一些还没面试完的公司以及待安排面试的公司,这里就不展开说了。
八月底基本上提前批就已经结束了,所以一般这段时间正式校招也开始了,各种大规模的笔试也很多,所以大家即使没有拿到offer也不要灰心,毕竟校招是一场持久战,基本上要到九月十月才能下结论。
我之前分享了很多公司的面经,其实大部分都是提前批的,很多都是直接免笔试的,因为我对算法并不是很在行,所以感觉还是比较幸运的。
包括头条拿到了白金码,也很感谢那位给我白金码的牛友。另外牛客上的招聘信息,笔经面经也让我受益匪浅,所以还是很感谢牛客这个平台,我也希望能够写一些东西来回馈牛客网和各位牛友。
除此之外,我也建了一个校招交流群,希望能分享一些有用的信息给大家。
当然也是想让大家能在群里交流一些校招问题,也包括技术问题,以便共同进步。
目前群里已经超过300人,所以想要加群的小伙伴可以加我微信我拉你进群。
如果有什么问题要和我交流也可以直接加我微信。
当然,如果还有什么问题想要与我交流也可以加我微信。
二 : 面经分享
具体的面经都比较长,这里大概介绍一下面试的情况,然后我会放上面经的链接供大家查阅。
1 阿里面经
岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。
我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。
然后我也参加了蚂蚁金服中间件部门的面试,经历了三次面试,但是没有走流程,所以面试中止了。
最后我走的是蚂蚁金服财富事业群的流程,经历了四次面试,包括一次交叉面,最终拿到了蚂蚁金服的意向书,评级为A。
阿里的面试体验还是比较好的,至少不要求手写算法,但是非常注重Java基础,中间件部门还会特别安排Java基础笔试。
2 腾讯面经
岗位是后台开发工程师,我没有选择意向事业群。
SNG的部门捞了我的简历,开始了面试,他们的技术栈主要是Java,所以比较有的聊。
一共经历了四次技术面试和一次HR面试,目前正在等待结果。
腾讯的面试一如既往地注重考查网络和操作系统,并且喜欢问Linux底层的一些知识,在这方面我还是有很多不足的。
3 百度面经
岗位是研发工程师岗位,部门包括百度智能云的三个分部门以及大搜索部门。
百度的提前批面试不走流程,所以可以同时面试好多个部门,所以我参加百度面试的次数大概有12次左右,最终应该是拿了两个部门的offer。
百度的面试风格非常统一,每次面试基本都要到电脑上写算法,所以那段时间写算法写的头皮发麻。
4 网易面经
面试部门是网易云音乐,岗位是Java开发工程师。
网易是唯一一家我去外地面试的公司,也是我最早去实习的老东家。
一共三轮面试,耗时一个下午。
网易的面试比我想象中的要难,面试官会问的问题都比较深,并且会让你写一些结合实践的代码。
5 头条面经
岗位是后台研发工程师,地点选择了上海。
我参加的是字节跳动的内推面试,当时找了一个牛友要到了白金码,再次感谢这位头条大佬。
然后就开始了一下午的视频面试,一共三轮技术面试,每一轮都要写代码,问问题的风格有点像腾讯,也喜欢问一些底层知识,让我有点懵逼。
6 快手面经
岗位是Java开发工程师,面试我的部门好像是基础架构部门。
快手是两轮视频面试加上一轮hr面试。
7 拼多多面经
岗位是业务平台研发工程师。
当时在学校里参加了面试,过程是比较顺利的,问的问题也都比较有难度。
自我感觉良好,但是最后却收到了拒信,还是挺可惜的。
三:Java后端技术专栏
对于校园招聘来说,最重要的还是基础知识。下面的博客专栏出自我的技术博客:
https://blog.csdn.net/a724888
这些专栏中有一些文章是我自己原创的,也有一些文章是转载自技术大牛的,基本都是是我在学习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的基本知识,比如基本架构,存储引擎,索引原理,主从复制,事务等内容。当然也会讲解一些和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,可以说是想学分布式技术的同学必看的书籍。
《大数据技术原理与应用》
作为大数据方面的一本教材,厦大教授写的这本书还是非常赞的,从最基础的原理方面讲解了Hadoop的生态系统,并且把每个组件的原理都讲得比较清楚,另外也加入了spark,storm等内容,可以说是大数据入门非常好的一本书了。
五:技术大牛推荐
1 江南白衣
这位大大绝对是我的Java启蒙导师,他推荐的Java后端书架让我受益匪浅。
2 码农翻身
刘欣,一位工作15年的IBM架构师,用最浅显易懂的文章讲解技术的那些事,力荐,他的文章帮我解决了很多困惑。
3 CoolShell
陈皓老师的博客相信大家都看过,干货很多,酷壳应该算是国内最有影响力的个人博客了。
4 廖雪峰
学习Git和Python,看它的博客就够了。
5 HollisChuang
阿里一位研发大佬的博客,主要分享Java技术文章,内容还不错。
6 梁桂钊
阿里另一位研发大佬,博客里的后端技术文章非常丰富。
7 chenssy
这位大佬分享的Java技术文章也很多,并且有很多基础方面的文章,新手可以多看看。
8 Java Doop
一位魔都Java开发者的技术博客,里面有一些不错的讲解源码的文章,数量不是很多,但是质量都挺不错的。
六:学习资源分享
学习Java后端两年的时间里,接触过很多的资料,网站和课程,也走了不少弯路,所以这里也总结一些比较好的资源推荐给大家。
0 CSDN和博客园,主流的技术交流平台,虽然广告越打越多了,但是还是有很多不错的博文的。
1 importnew 专注Java学习资源分享,适合Java初学者。
2 并发编程网,主要分享Java相关进阶内容,适合Java提高。
3 推酷 一个不错的技术分享社区。
4 segmentfault,有点像国内的Stack Overflow,适合交流代码问题的地方。
5 掘金,一个很有极客范的技术社区,强推,有很多技术大牛分享优质文章。
6 开发者头条,一个整合优质技术博客的社区,里面基本上都是精选的高质量博文,适合技术学习提升。
7 v2ex,一个极客社区,除了交流技术以外还会有很多和程序员生活相关的话题分享。
8 知乎
这个就不必多说了。我在知乎上也有Java技术和校招的专栏,有兴趣的同学可以看看:
https://www.zhihu.com/people/h2pl
9 简书
简书上有些技术文章也很不错,有空大家也可以去看看。
10 Github
有一些GitHub的项目还是非常不错的,其中也有仓库会分享技术文章。
我的GitHub:https://github.com/h2pl
七:笔试经验
提前批的笔试其实不是很多,我参加了网易,网易游戏,拼多多等公司的笔试,应该都是低分飘过。
我的算法基础比较一般,读研之前0基础,所以这方面不是很有发言权,大概说几点我的学习经验。
1 打好数据结构基础
2 先易后难,看一些基础的算法书籍,比如《图结算法》,《啊哈算法》等等。
3 剑指offer刷起来,两到三遍,做到胸有成竹
4 LeetCode刷个200题左右,记得二刷,做好总结。
5 到牛客网做公司的历年真题,熟悉题型,保持手感。
剑指offer指南和LeetCode刷题指南可以在我的GitHub中参阅:
其中LeetCode指南是参考@CyC2018大佬的文章。
八 : 面试经验
面试主要考的还是你的基础知识,需要你对Java后端技术栈有一个全局上的把握,具体说起来就太多了。
我个人也总结了一些面试方面的经验,主要是一些技巧。
1 做好自我介绍和项目总结,把握你发言的主动权
2 搞清楚简历上的技术点,兵来将挡水来土掩
3 注意分点答题,思路清晰,也更容易讲清楚原理。
4 压力面下保持冷静,不要回怼面试官
5 HR面试注意常用技巧,可以提前准备。
关注微信公众号「黄小斜」后回复「Java」、「Python」、「C++」、「大数据」、【机器学习】、「算法」、[AI]、「Android」、「前端」、「iOS」、「BAT」、「校招」、「笔试」、「面试」、「计算机基础」、[LeetCode] 等关键字可以获取对应的免费学习资料。