我的秋招经验分享(内附笔面试干货)
本文出自公众号:程序员江湖。
满满干货,关注就送。
时间过得很快,已经到了九月中旬,从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 拼多多面经
拼多多&快手研发面经
岗位是业务平台研发工程师。
当时在学校里参加了面试,过程是比较顺利的,问的问题也都比较有难度。
自我感觉良好,但是最后却收到了拒信,还是挺可惜的。
对于校园招聘来说,最重要的还是基础知识。下面的博客专栏出自我的技术博客:
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的实现原理。
本专栏文章主要包括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并发编程艺术》
《深入JavaWeb技术内幕》
《Redis设计与实现》
《大型网站技术架构》
《分布式服务框架原理与实践》
《从Paxos到Zookeeper分布式一致性原理与实践》
《大数据技术原理与应用》
1 江南白衣
2 码农翻身
3 CoolShell
4 廖雪峰
5 HollisChuang
6 梁桂钊
7 chenssy
8 Java Doop
学习Java后端两年的时间里,接触过很多的资料,网站和课程,也走了不少弯路,所以这里也总结一些比较好的资源推荐给大家。
0 CSDN和博客园,主流的技术交流平台,虽然广告越打越多了,但是还是有很多不错的博文的。
1 importnew 专注Java学习资源分享,适合Java初学者。
2 并发编程网,主要分享Java相关进阶内容,适合Java提高。
3 推酷 一个不错的技术分享社区。
4 segmentfault,有点像国内的Stack Overflow,适合交流代码问题的地方。
5 掘金,一个很有极客范的技术社区,强推,有很多技术大牛分享优质文章。
6 开发者头条,一个整合优质技术博客的社区,里面基本上都是精选的高质量博文,适合技术学习提升。
7 v2ex,一个极客社区,除了交流技术以外还会有很多和程序员生活相关的话题分享。
8 知乎
https://www.zhihu.com/people/h2pl
9 简书
10 Github
有一些GitHub的项目还是非常不错的,其中也有仓库会分享技术文章。
我的GitHub:https://github.com/h2pl
提前批的笔试其实不是很多,我参加了网易,网易游戏,拼多多等公司的笔试,应该都是低分飘过。
我的算法基础比较一般,读研之前0基础,所以这方面不是很有发言权,大概说几点我的学习经验。
1 打好数据结构基础
剑指offer指南和LeetCode刷题指南可以在我的GitHub中参阅:
其中LeetCode指南是参考@CyC2018大佬的文章。
面试主要考的还是你的基础知识,需要你对Java后端技术栈有一个全局上的把握,具体说起来就太多了。
我个人也总结了一些面试方面的经验,主要是一些技巧。
1 做好自我介绍和项目总结,把握你发言的主动权
更多专题
1
Java工程师必备书单
2
应届生如何获取招聘信息
3
研发同学找实习的那些事
4
关于校园招聘你必须了解的五件事
5
简历写成这样,才能得到BAT的青睐
6
程序员如何选择第一家公司