14

本文是我在2018年7月到9月份参加校园招聘的一篇总结。
主要包括以下内容:

  • 1 秋招小结
  • 2 面经分享
  • 3 Java后端技术专栏
  • 4 Java工程师书单
  • 5 学习资源分享
  • 6 大牛博客推荐
  • 7 笔试经验
  • 8 面试经验

更多校招干货尽在微信公众号:程序员江湖


一:秋招小结


从七月初第一次投递简历,到九月初,整整两个月的时间,大大小小投了几十家公司,其中很多都是提前批,内推,也经历了许多的笔试,面试。

期间也拿了几个offer,包括百度,蚂蚁金服,华为,网易(网易云音乐没给offer,调到了其他部门)。有几家直接收到拒信的,包括拼多多,深信服。还有几家在等待结果,包括腾讯,头条(头条今天刚刚收到意向书),快手,斗鱼等。

当然也有一些还没面试完的公司以及待安排面试的公司,这里就不展开说了。

八月底基本上提前批就已经结束了,所以一般这段时间正式校招也开始了,各种大规模的笔试也很多,所以大家即使没有拿到offer也不要灰心,毕竟校招是一场持久战,基本上要到九月十月才能下结论。

我之前分享了很多公司的面经,其实大部分都是提前批的,很多都是直接免笔试的,因为我对算法并不是很在行,所以感觉还是比较幸运的。

包括头条拿到了白金码,也很感谢那位给我白金码的牛友。另外牛客上的招聘信息,笔经面经也让我受益匪浅,所以还是很感谢牛客这个平台,我也希望能够写一些东西来回馈牛客网和各位牛友。


号外号外:

九月份秋招刚刚开始,很多同学也在紧锣密鼓地准备笔试面试。

在这里我搞了一个交流群,希望能够帮助到各位,大家如果有问题也可以一起交流探讨。

关注公众号:程序员江湖,然后点击公众号的“联系方式”即可获取群聊二维码。

如果过期或者满人也可以加我微信,我可以拉你进群。

当然,如果有什么问题想要与我交流也可以加我微信。

微信二维码如下:


二 : 面经分享


具体的面经都比较长,这里大概介绍一下面试的情况,然后我会放上面经的链接供大家查阅。

1 阿里面经

阿里中间件:https://www.nowcoder.com/discuss/8786

蚂蚁金服:https://www.nowcoder.com/discuss/91738

岗位是研发工程师,直接找蚂蚁金服的大佬进行内推。

我参与了阿里巴巴中间件部门的提前批面试,一共经历了四次面试,拿到了口头offer。

然后我也参加了蚂蚁金服中间件部门的面试,经历了三次面试,但是没有走流程,所以面试中止了。

最后我走的是蚂蚁金服财富事业群的流程,经历了四次面试,包括一次交叉面,最终拿到了蚂蚁金服的意向书,评级为A。

阿里的面试体验还是比较好的,至少不要求手写算法,但是非常注重Java基础,中间件部门还会特别安排Java基础笔试。

2 腾讯面经

https://www.nowcoder.com/discuss/100383

岗位是后台开发工程师,我没有选择意向事业群。

SNG的部门捞了我的简历,开始了面试,他们的技术栈主要是Java,所以比较有的聊。

一共经历了四次技术面试和一次HR面试,目前正在等待结果。

腾讯的面试一如既往地注重考查网络和操作系统,并且喜欢问Linux底层的一些知识,在这方面我还是有很多不足的。

3 百度面经

https://www.nowcoder.com/discuss/90112

https://www.nowcoder.com/discuss/89690

岗位是研发工程师岗位,部门包括百度智能云的三个分部门以及大搜索部门。

百度的提前批面试不走流程,所以可以同时面试好多个部门,所以我参加百度面试的次数大概有12次左右,最终应该是拿了两个部门的offer。

百度的面试风格非常统一,每次面试基本都要到电脑上写算法,所以那段时间写算法写的头皮发麻。

4 网易面经

https://www.nowcoder.com/discuss/98494

面试部门是网易云音乐,岗位是Java开发工程师。

网易是唯一一家我去外地面试的公司,也是我最早去实习的老东家。

一共三轮面试,耗时一个下午。

网易的面试比我想象中的要难,面试官会问的问题都比较深,并且会让你写一些结合实践的代码。

5 头条面经

https://www.nowcoder.com/discuss/94233

岗位是后台研发工程师,地点选择了上海。

我参加的是字节跳动的内推面试,当时找了一个牛友要到了白金码,再次感谢这位头条大佬。

然后就开始了一下午的视频面试,一共三轮技术面试,每一轮都要写代码,问问题的风格有点像腾讯,也喜欢问一些底层知识,让我有点懵逼。

目前还在等待结果。

6 快手面经

https://www.nowcoder.com/discuss/99283

岗位是Java开发工程师,面试我的部门好像是基础架构部门。

快手是两轮视频面试加上一轮hr面试。

7 拼多多面经

https://www.nowcoder.com/discuss/95942

岗位是业务平台研发工程师。

当时在学校里参加了面试,过程是比较顺利的,问的问题也都比较有难度。

自我感觉良好,但是最后却收到了拒信,还是挺可惜的。


三: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与Redis

本专栏介绍MySQL的基本知识,比如基本架构,存储引擎,索引原理,主从复制,事务等内容。当然也会讲解一些和sql语句优化有关的知识。

同时本专栏里也介绍了Redis的基本实现原理,包括数据结构,主从复制,集群方案,分布式锁等实现。

分布式系统理论与实践

本专栏介绍分布式的基本理论和相关技术,比如CAP和BASE理论,一致性算法,以及ZooKeeper这类的分布式协调服务。

在分布式实践方面,我们会讲到负载均衡,缓存,分布式事务,分布式锁,以及Dubbo这样的微服务,也包括消息队列,数据库中间件等等。

后端开技术杂谈

本专栏涵盖了大后端的众多技术文章,当你在Java后端方面有一定基础以后,再多了解一些相关技术总是有好处的。

除了Java后端的文章以外,还会涉及Hadoop生态,云计算技术,搜索引擎,甚至包括一些数据挖掘和AI的文章。

总的来说选取了一些不错的基础类文章,能让你对大后端有一个更直观的认识。


四:Java工程师书单


我之前专门写了一篇文章介绍了Java工程师的书单,可以这里重点列举一些好书,推荐给大家。

完整内容可以参考这个帖子:https://www.nowcoder.com/discuss/99317

《计算机网络:自顶向下》这本从应用层讲到物理层,感觉这种方式学起来更轻松。

《图解算法》《啊哈算法》
这两部书籍非常适合学习算法的入门,前者主要用图解的形式覆盖了大部分常用算法,包括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和博客园,主流的技术交流平台,虽然广告越打越多了,但是还是有很多不错的博文的。

首先还是安利一下我的CSDN博客:https://blog.csdn.net/a724888

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:包括Java技术仓库,刷题指南以及项目记录
https://github.com/h2pl


七:笔试经验


提前批的笔试其实不是很多,我参加了网易,网易游戏,拼多多等公司的笔试,应该都是低分飘过。

我的算法基础比较一般,读研之前0基础,所以这方面不是很有发言权,大概说几点我的学习经验。

1 打好数据结构基础

2 先易后难,看一些基础的算法书籍,比如《图结算法》,《啊哈算法》等等。

3 剑指offer刷起来,两到三遍,做到胸有成竹

4 LeetCode刷个200题左右,记得二刷,做好总结。

5 到牛客网做公司的历年真题,熟悉题型,保持手感。

剑指offer指南和LeetCode刷题指南可以在我的GitHub中参阅:

https://github.com/h2pl/Java-Tutorial

其中LeetCode指南是参考@CyC2018大佬的文章。

更详细的内容后续会在我的公众号更新:程序员江湖


八 : 面试经验


面试主要考的还是你的基础知识,需要你对Java后端技术栈有一个全局上的把握,具体说起来就太多了。

Java后端技术专栏可以参考我的博客:https://blog.csdn.net/a724888

有关技术总结和项目经验的内容可以查看我的GitHub:
https://github.com/h2pl

我个人也总结了一些面试方面的经验,主要是一些技巧。

1 做好自我介绍和项目总结,把握你发言的主动权

2 搞清楚简历上的技术点,兵来将挡水来土掩

3 注意分点答题,思路清晰,也更容易讲清楚原理。

4 压力面下保持冷静,不要回怼面试官

5 HR面试注意常用技巧,可以提前准备。

更详细的内容后续会在我的公众号更新:程序员江湖

由于篇幅有限,这里就先写这么多了,更多内容请关注我的微信公众号:程序员江湖

包括但不限于以下内容:

更多精华面经

Java工程师学习路线图

应届生如何获取招聘信息

技术同学如何找实习

程序员简历指南

程序员如何选择第一家公司

未完待续。。。。。。


程序员黄小斜
947 声望124 粉丝