Java工程师大厂校招总结


本文由公众号程序员江湖投稿发布前端

前言

在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾讯,今日头条,网易,华为等。java

一路走来也遇到不少困难,也踩了不少坑,同时我本身也探索了不少的学习方法,总结了不少心得体会,而且,我对校园招聘也作了一些研究和相应的准备。git

在今年的秋季招聘结束之后,我也决定把这些东西所有都写成文字,作成专题,以便分享给更多将来将要参加校招的同窗。程序员

更多内容后续都发布于微信公众号:程序员江湖github

大学时期的迷茫与坚决

个人本科专业是电子信息工程,基本没有接触过计算机专业的课程,只学过c语言,而后在大三的时候接触过java,Android,以及前端开发。web

那时候我还不知道软件开发的水有多深,抱着试一试的态度去应聘了不少公司。结果可想而知。面试

当年我对游戏开发颇有兴趣,特别是对网易游戏情有独钟,可是当我看到网易游戏研发工程师的招聘要求时,我只能望而却步,由于它要求学历至少是985的硕士。算法

也由于这个契机,我在大三的暑假开始准备考研,花了一个月的时间深思熟虑以后,选择了我大华科。docker

毕竟是跨专业,在复习过程仍是有点吃力的,可是就靠着一股毅力和执着,半年以后,顺利地考上了,成绩还意外地很是好。数据库

研究生时期的探索和规划

对于即将读研的同窗来讲,通常有两件事很重要,一件事是选择导师,一件事是选择方向。

我当时本着想要找实习的想法选择了我如今的导师,事实证实个人选择仍是很正确的。

而选择方向这件事,我却是折腾了很久。研一期间我作的最多的事情就是看书了,当时本身的方向还不明确,因此找了不少书来看。当别人都在专研数据挖掘和机器学习时,我还在各类方向之间摇摆不定。

我在读研以前想作游戏开发和Android开发,但我之前也学过Java Web开发。因而我在网上了解对应方向的资讯,发现游戏研发的就业面比较窄,而且基于我以前的学习经历,java开发可能更加适合我。最终在学校的实训项目中我选择了Java Web项目,今后也真正意义上地踏上了Java的学习之路。

个人Java入门之路

以前说过,在研一期间看了不少计算机专业的书籍,好比计算机网络,操做系统,数据库等等,虽然吸取得都不太好,但也算是看过了。

因而我开始踏上学习Java的道路。最开始我找了一些Java的书单,而后买了一些比较基础的书籍,先啃为敬。那时候我看过《Java从入门到精通》这种烂大街的书,也看过《Java编程思想》这种很难懂的书。

一段时间后我感受吸取效果很差,因而开始把目光转向视频课程了。那时候听舍友力神的建议,到极客学院上看一些视频课程,我当时就以为这个讲的比书上要好懂一些。后来我又接触到了慕课网,中国MOOC等网站,逐渐地把相关的技术课程都看完了。

那时候正好咱们的项目实训还在进行,因而我就把趁热打铁把这些东西用在了项目当中,而且第一次用博客记录下个人实践经验。

如今回头想一想,此时的我也只不过是刚刚入门了Java以及web开发。然而那时候不知道天高地厚的我,就开始xjb投各大公司的Java实习岗位了。结果可想而知,那叫一个惨啊。

个人Java进阶之路

上文说到我刚刚开始投递实习岗位,是在研一的下学期。当时成天躲在实验室,一边看书一边看视频,接到面试时赶忙刷面经,忙的不亦乐乎。那段时间感受本身的复习状态和考研差很少。

然而,因为水平确实不咋地,当时我被各大公司的面试官吊打。好比我第一家面的就是百度,三个很简单的问题一个都不会,人家面试官都很差意思打击我了。后来我又面了一些大大小小的互联网公司,虽然状况有所好转,可是总的来讲,我要学习的东西还不少。

在准备面试的过程当中,我看了不少面经,也看了不少技术博客,发现本身的基础很薄弱,须要系统性的学习。而且这些东西是视频和入门书籍给不了个人。因而我又踏上了找书的道路。

那时候Java书单泛滥,有的书单质量低下,买来的书看两眼就看不下去了。直到我看到了“江南白衣的后端书架”这一文章,才发现Java后端书架原来应该是这样的。因而我照葫芦画瓢把相关书籍都买了,这个阶段,也算是刚刚踏上Java进阶之路吧。

这里面不得不提几本书,对学习Java的同窗很是重要,一本是《深刻理解JVM虚拟机》,一本是《深刻分析Java技术内幕》,以及《Java并发编程艺术》。

再后来,凭着一股不到黄河心不死的精神,终于拿到了网易游戏的实习offer。因而,第一次在大厂实习的机会终于来了,我怀着即期待又忧虑的心情来到了杭州。

个人Java实习之路

在猪场实习的时间并不长,也就持续了三个月不到,当时咱们部门在作数据仓库,因而我这边主要负责Java Web应用的开发,其实也就是写一些简单的后台接口。

在熟悉了工做流程之后,我很快就适应了工做的节奏,毕竟作的东西也不难,导师也会常常指导,就这样我完成了一个又一个需求,直到后来家里有事,我才临时选择辞职回家。

因为在网易实习的时间比较短,我也留下了一些遗憾,好比对整个项目的架构不够熟悉,而且不少相关技术栈也来不及学习。后来我去熊厂实习的时候,尽可能避免了这些问题。

熊厂实习的时间长达半年,部门当时作的是私有云,emmm彻底是全新的技术栈啊,因而我基本上又是从零开始学习云计算,可是因为以前的操做系统和网络基础不扎实,在学习相关技术时,基本是两眼一抹黑,学啥啥不会。

这也致使我在上班期间看了不少计算机基础方面的书籍,包括《计算机网络:自顶向下》,《深刻理解计算机系统》等等。固然,这也是由于个人工做内容很简单。CRUD你懂的。

因而花时间自学成为了我那时候的主旋律,看书,看内网资源,参加技术分享,倒也很是充实。固然,有空我也会看看项目代码,了解一下技术架构,以便让本身对整个项目有一个更好的理解。

再后来,2018年来了。

抉择时刻:实习转正仍是秋招

我是2018年1月份离开北京的。当时面临几个问题,是否续租房子,是否继续实习。还有一个小插曲就是当时养的一只猫也得带回去。再三思考后我决定回学校准备秋招。

过年后我就回到学校了,当时我本不打算参加春招,想要潜心修炼准备秋招,可是架不住春招宣传力度大,而且几个大厂都标榜着“转正容易,hc多多”等口号。因而我没忍住,上牛客投了几回简历,打算面几家大厂,心想万一过了就去吧。

简历都投出去了,那也只好复习了啊,当时咱们宿舍跟打了鸡血同样,一成天都在刷题,从早到晚泡着刷LeetCode,一个月后终于刷到100多题,也算是能应付一下笔试了吧。

春招我投的公司很少,也就at,网易游戏和京东。最后阿里和京东都给了offer。可是当时阿里的流程走得特别慢,直到内推截止前一天才给我发offer,而且本身也感受以前面试表现通常,心想我要是去了也是B+,颇有可能成为拥抱变化的牺牲品,因而我咬咬牙放弃了,大不了秋招再来。

因祸得福,焉知非福,春招的颗粒无收反而让我能够安心准备秋招,因而我有大把的时间作我想作的事,制定本身的学习计划,安排本身的生活,不须要去考虑转正这种麻烦事了。

至此,四月终了,春招告一段落。

Java修仙之路

平时常常逛牛客,我也常常发些面经啥的,因而不少牛油喜欢调侃说“看神仙”。这时候我只能尴尬又不失礼貌的微笑了0。0

在下不才,成不了神仙,最多就是打游戏的时候能修修仙罢了。

不过你还真别说,网上还真有“Java成神之路”这样的文章,真的打扰了哈哈。

科普一下修仙梗: 修仙梗的意思是喜欢熬夜的人不睡觉不猝死反而要修仙,而后就被广大的网友们互相调侃玩坏了,如今熬夜都不叫熬夜了,新潮的说法就是修仙,熬夜不会猝死啊,会加强法力。

不逗大家了,我们仍是进入正题吧。我在五月份的时候作了一个计划,打算在七月底以前完成复习工做,缘由是七月底有阿里的提早批招聘,是我最最重视的一个招聘。这个计划简称三个月计划,我主要作了三个方面的学习规划。

一:首先,即是对Java后端技术栈的复习,这也是最重要的一部分,由于面试永远都是考基础考得最多。

这部份内容又能够细分为多个方面:

1 Java知识体系:包括了Java基础,集合类,设计模式,Java并发技术,Java网络编程,JVM,JavaWeb,Spring框架等等。

2 计算机基础:包括了操做系统,计算机网络,数据结构,数据库,缓存等内容。

3 后端进阶:包括了分布式理论,以及常见分布式技术好比负载均衡,zookeeper,消息队列,分布式缓存等等。固然,这里面也包括系统架构方面的知识,以及RPC,微服务等内容。

4 额外内容:这部份内容因人而异,我主要是由于实习的时候项目涉及了hadoop以及私有云技术栈,因此本身看了不少这方面的东西,譬如Hadoop生态,OpenStack生态,以及docker生态。

我在复习这部份内容的时候,通常先看优质博客,而后本身整理总结对应写一些博客,最后把可以实现的东西实现一下,这样一来一个知识点就搞定了。剩下的事情就是重复这个步骤。

下面放上个人博客:https://blog.csdn.net/a724888

二:其次,即是对算法的学习了。我也把算法的学习分为了几个部分。

1 基础数据结构与算法:主要是复习以前学过的数据结构和算法,额外再看一些算法书籍,譬如《图解算法》,以了解常见算法。

2 剑指offer:剑指offer基本上是面试必考的,因此把它刷个两三遍是颇有必要的。

3 LeetCode:搞定前面两项以后,刷LeetCode也会有些底气了,我当时就刷了150题左右,主要也是刷经典的题目。

4 笔试真题:这个就不用多说了,真题是必定要刷的。毕竟各个公司出题的路子都花里胡哨。

刷题多了,就会遇到不少原题和相似题目,因此,尽早开刷,作好准备吧。

3、最后一部分,则是作项目。大概说下我作项目的几个要点吧

1 为何这时候我还要作项目呢:一来是我以为实习过程本身接触的东西太细碎,没有对全局作把控,二来是由于想给GitHub加点东西,顺便学点新的技术。因而我选择了当时牛客网上的两个项目来本身作作看。

2 关于项目选择:叶神这两个项目仍是讲的很是棒棒的,用的东西也很新,代码也有提供,避免了本身要写前端的尴尬,另外,这两个项目模仿了知乎和头条,更加接地气。

3 把项目作到GitHub上:以前对git也比较熟了,因此想把这个项目按照正常开发的流程走一遍,因而我天天都会作一个模块,而后发布几个版本,记录一下版本更新的细节,写这些东西的时候,本身其实就已经作了思考和总结,感受仍是不错的。

下面放上个人GitHub:https://github.com/h2pl

就这么过了三个月,提早批拉开序幕。

秋招回忆录

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

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

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

八月底基本上提早批就已经结束了,因此通常这段时间正式校招也开始了,各类大规模的笔试也不少,因此你们即便没有拿到offer也不要灰心,毕竟校招是一场持久战,基本上要到九月十月才能下结论。我以前分享了不少公司的面经,其实大部分都是提早批的,不少都是直接免笔试的,由于我对算法并非很在行,因此感受仍是比较幸运的。

从七月底第一次面试到9月基本佛系,中间经历了大大小小的面试,这里只进行简单的记录哈,要看面经的话请到个人公众号:程序员江湖。

具体的面经都比较长,这里大概介绍一下面试的状况,而后我会放上面经的连接供你们查阅。

1 阿里面经  

阿里中间件研发面经

蚂蚁金服研发面经

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

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

而后我也参加了蚂蚁金服中间件部门的面试,经历了三次面试,可是没有走流程,因此面试停止了。

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

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

2 腾讯面经  

腾讯研发面经

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

SNG的部门捞了个人简历,开始了面试,他们的技术栈主要是Java,因此比较有的聊。

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

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

3 百度面经  

百度研发面经

百度研发面经整合版

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

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

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

4 网易面经  

网易研发面经

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

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

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

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

5 头条面经  

今日头条研发面经

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

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

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

若是想看更多公司的面经,也请移步微信公众号:程序员江湖。


另外,我上周还面试了一次亚马逊,由于不少知名外企到十月才开始招人,因此闲了好久以后我又重操旧业了,可能在面完大摩和微软以后,秋招才能正式结束吧

结束也是开始

中秋节刚过,国庆节又要到来了。正如每年的秋招同样,年复一年,在时间面前咱们也是眇小的尘埃。

秋招结束不表明着结局,而是新的旅程开始,立刻,毕业论文,offer选择,入职准备,毕业旅行等事项也要提上日程了。

不知道明年咱们看待学弟学妹的秋招时,会是怎样的一种心境呢 。

广告商赞助

推荐阅读:

免费为你们下载CSDN积分资源

一块儿来体验印象笔记 Markdown 功能

搜集全网最全的Spring 面试题和答案