超硬核Java工程师秋招回忆录+面经汇总,为了拿BAT的研发offer我都作了那些准备?

秋招总结

写在最前

我写过不少篇秋招总结,这篇文章应该是最后一篇总结,固然也是最完整,最详细的一篇总结。秋招是我人生中一段宝贵的经历,不只是我研究生生涯交出的一份答卷,也是将来职业生涯的开端。仅以此文,献给本身,以及各位在求职路上的,或者是已经经历过校招的朋友们。不忘初心,方得始终。前端

前言

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

(在秋招末期,有幸又拿到了滴滴和亚马逊的offer,那时已经11月份了,因此以前的文章里都没有提到过)git

一路走来也遇到不少困难,也踩了不少坑,同时我本身也探索了不少的学习方法,总结了不少心得体会,而且,我对校园招聘也作了一些研究和相应的准备。在今年的秋季招聘结束之后,我也决定把这些东西所有都写成文字,作成专题,以便分享给更多将来将要参加校招的同窗。程序员

大学时期的迷茫与坚决

个人本科专业是电子信息工程,基本没有接触过计算机专业的课程,只学过c语言,而后在大三的时候接触过java,Android,以及前端开发。这时候我只是一个刚刚入门的菜鸟,还不知道软件开发的水有多深,抱着试一试的态度去应聘了不少公司。结果可想而知,连简历筛选都没有经过。github

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

也由于这个契机,我在大三的暑假开始准备考研,花了一个月的时间深思熟虑以后,选择了华科做为个人目标院校。面试

因而,2016年的下半年,我成为了“两耳不闻窗外事,一心只读圣贤书”的考研党,回想起来那确实是玩命学习的半年时间,天天稳定泡在图书馆8个小时以上,有时候学到宿舍都能学到晚上12点,那时候感受本身彻底变了一我的似的,可能当一我的为了某个目标而努力时,真的会变得不同。最终我顺利地考上了,令我意外的是,成绩还挺不错。redis

研究生时期的方向选择

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

我在刚读研的时候最头疼的也是这两件事情。首先说明一下,我读的是专硕,因此实验室通常不搞科研,有部分导师会带项目,因为我不打算在实验室作项目(由于我更但愿去大公司里锻炼几年),因此我当时本着想要找实习的想法选择了导师,事实证实个人选择仍是很正确的,我在研二有大段时间去参加实习,让我在大厂里有足够的时间去锻炼和学习。sql

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

我在读研以前想作游戏开发和Android开发,但我之前也学过Java Web开发。因而我在网上了解对应方向的资讯,发现游戏研发的就业面比较窄。

最后,我综合公司的岗位状况,我的兴趣,以及我以前的学习经历等因素,选定了Java开发方向。

因而,我在学校的实训项目中选择了Java Web项目,今后也真正意义上地踏上了Java的学习之路。

笨鸟先飞,勤能补拙

尽管个人入学成绩是全学院的top3,可是,我发现,做为非科班出身的我,和不少科班同窗相比,仍是有必定差距的。

大部分同窗本科都上过计算机专业的相关课程,好比计算机网络,操做系统,数据结构等等,而我之前连听都没听过,除此以外,他们通常都会几段比较完整的项目经验,至少在Java Web方面已经算是比较熟悉了。而我在当时,只学了数据结构,另外接触过一些Java基础,有一部分项目经验,基本上就是入门水平。

因而我痛定思痛,决定好好弥补个人不足,平时一有空就去图书馆找些书来看,不管是操做系统,计算机网络,仍是数据库等本科课程,我都会找一些对应的书籍来看,当时不太清楚其实有些课程其实不须要特意去补,以致于我连计算机组成原理,编译原理,软件测试等方面的书都特意找来看,如今想一想也是挺逗比的。

因为咱们上的课比较水,因此上课时间反而变成了我自学基础课程的大好时光了。因此我平时上课的时候都会带两三本书,一到两周内看完一本,虽然可能吸取的不是特别好,可是对当时的我来讲仍是有很大帮助的。

除此以外,有时候我还会偷偷去旁听有一些本科生的课程,这也是由于我在自学一些课程的时候遇到了困难,好比《操做系统》,《数据库原理》等等。因而我花时间研究了一下本科生的课表,趁着本身没课的时候赶忙去旁听课程。有时候感受本身在课堂中显得很是突兀,尴尬地想要逃跑,但总算是坚持地听完了一门数据库的课程。

此外,我还在各类视频网站上看网课,比亦或是看中国MOOC的计算机基础课程,里面的操做系统,数据库等课程也让我印象深入。

就这样,天天我都把本身的时间填满,愣是在研一上学期看了好几本书,当时书的版本如今有的记不清了,主要是计算机网络,操做系统,计算机组成原理,另外还有软件工程,软件测试,设计模式,等书籍。就这样,我靠着这段时间的坚持把计算机基础课程补上来了一些。

历尽艰辛,终得实习

时间来到研一下半页,这时候我刚刚结束了学校的Java Web的项目实训课程,在作这个项目期间,我发现本身暴露出了不少问题,技术实践能力不足,Java基础不扎实。这件事情也给我本身敲响了警钟,由于我计划在春招期间找一份大厂的实习,可是目前看来个人水平还远远不够。

压力之下,只有努力一条出路。因而,从那时候起,我开始了“留守“实验室的学习生活。为何要在实验室学习,一是由于学习气氛好,二是由于平时你们也能够互相交流问题。

天天早上9点到实验室打开电脑,晚上9点背电脑回寝室。大部分时间我会花在看书上,这段时间主要看的都是Java相关的书籍,借鉴的是江南白衣大佬的“Java后端书架”,好比《深刻理解JVM虚拟机》,《Java并发编程艺术》,《深刻分析Java Web技术内幕》,《深刻剖析Spring源码》等等。

另一部分时间我会用来看一些技术博客,我主要是根据面经上的知识点按图索骥,找到对应讲解该知识点的文章,那时候主要仍是经过搜索引擎来找文章,固然有时候看到一些重点难点也会本身写一些博客。不过这个时期并非我大量写博客的阶段,主要仍是看一些讲解面试知识点的技术博客为主。

除此以外在面试前几天我会花时间去看这家公司的面经,搞懂每个面经上的知识点,而且记录在个人笔记上,光是面经相关的笔记我就记了100多篇,这样的学习习惯我一直坚持到了秋招,确保每一个面试知识点都能被我记住,消化,直至彻底理解。

慢慢的,笔记愈来愈多,我参加面试的公司也愈来愈多,因而我开始不断完善本身的简历,总结本身的面试技巧,选择合适的网申时机。从头至尾我大概花了3个月的时间在找实习上,期间大大小小参加了20屡次面试,我也从一开始面试一问三不知的菜鸟,逐渐变成了面霸,到复习末期,我对Java常见面试知识点已经了然于胸,同时也愈来愈自信,无论面什么大厂都镇定自若。

这样的日子持续了好几个月,所谓世上无难事,只怕有心人。到最后,实验室里每一个人都拿到了心仪的实习offer。

实习路上,我明白了不少

踏出学校大门,个人实习之路才刚刚开始。8个月左右的实习时间,说长也长,说短也短。但经历过这段实习以后,我才明白了不少事情。

在猪场实习的日子里,我第一次了解大公司的开发流程,亲自参与项目代码的开发,个人导师会和我提需求,会指导我怎么作得更好。在这里的成长无疑是很是快速的,但我很快意识到个人问题所在,不熟悉部门技术栈,对不少Java Web的技术原理都不太熟悉,这段时间我意识到了本身的知识深度和广度均可能都有待提升。

不过因为家里的一些事情。我提早离职了,因此在猪场呆的时间很短,以至于我没来得及搞懂部门项目的技术架构就走了,这也让我在离开之后感受很遗憾,因此我下定决心在下个实习单位要好好作。

离开猪场后我来到了熊厂。部门给我提的需求不算太难,大部分都是一些CURD的工做,可是此次很快就意识到了问题所在,就是我不太熟悉部门的总体技术栈,因此在须要借鉴别人代码时偶尔会看不懂。后来部门又给了新的重构需求,此时的我开始焦虑起来,是否是应该作出一些改变呢。

终于,我找到了新的目标,我要搞懂部门的项目架构,了解相关技术栈(咱们部门作的是私有云),一开始,我会请教个人导师,尽可能去了解项目的架构设计,除此以外,我还会利用一些时间去看其余同事负责的代码,而且经过一些文档和PPT去了解这些代码的功能和意义。结合代码和文档,再加上和同时的交流,我对部门项目的架构逐渐熟悉起来,为了更好地理解每一块代码的做用,我还为一些模块的代码写了注释。

固然,光看代码和文档还不能解决全部问题,由于这个项目的重点难点不在Web应用,而是在底层技术,这个项目中包含了两套架构,分别是一套OpenStack集群和一套docker集群。为了学习这两块内容,我先是看了不少博客,而后在平台上跑虚拟机和容器来作实践,最后又看了这方面的一些书籍,主要是《OpenStack设计与实现》,《docker技术入门实战》。

可是这还不够,虚拟化技术与Linux内核息息相关,又须要学习者对操做系统和计算网络很是熟悉,我自知这些内容我学得还不够深刻,因而我花大量时间看这方面的书,当时也遇到了几本确实不错的书,分别是《深刻理解计算机系统》,《计算机网络:自顶向下方法》,还有一本没来得及看完的《Linux内核设计与实现》。虽然之后不必定会做云计算方向的开发,可是学完这些东西我仍是很是开心的。

到后来,我工位上的书愈来愈多,我对部门的技术栈也愈来愈熟悉,有时候我还会去听公司内各个团队组织的技术分享,有空的时候看看内网的技术课程,真正地实现了本身在技术广度上的拓展。

有时候我以为,实习生活是会骗人的,你佩戴着和正式员工同样的工牌,和他们作着相似的事情,会让你以为你的水平已经和他们差很少了,但事实上是,在转正以前,你和他们还差得远,因此不要停下本身前进的脚步,抓紧时间学习吧,把握好你在公司里的机会,合理利用公司给你提供的资源。

秋招前的积累与沉淀

研究生期间我有一件事情一直在坚持,那就是作笔记和写博客。

作笔记,就是记录学习中大大小小的事情,多是面试问题,多是一周的学习计划,也可能知识一个知识点,总归都是值得记录的东西,对我来讲,就是一种积累。而对于博客,我从一开始只用于记录项目,到后来作转载,再到后来写原创,整理系列文章,则更像是一种沉淀。

可是在春招刚刚结束的这段时间,我发现一个问题,以前学过的东西忘记了不少,特别是那些理解的不够深的知识点,老是特别容易忘记。另外我发现,虽然我在笔记中记录了不少的知识点和面试题,可是每每我只看过一次,不会再去看第二次。

这也意味着,虽然记录的内容不少,可是真正消化吸取的内容不多,脑子里充斥着老是那些零碎的知识点和面试问题,对于完整的知识体系知之甚少。这些问题在春招期间也不断地暴露出来,让我思考了好久。

面对如此窘境,我想作出改变,趁着如今时间充裕,我想要为这些内容作一次减法,而且借此机会,推翻本身原有的知识体系,重建新的知识框架。简单说来,就是从新开始学习Java后端,此次我要用一种更高效的方式,避免走以前走的弯路,要用最高效,最合理的方式去复习。因为我以前已经有基础,因此我对完成这一目标有信心,相应地我也为此作出了明确且详细的学习计划。

校招复习的几个关键词

“具体可靠的学习计划”

在三个月的时间里,我首先按照Java后端路线图安排好复习计划,每一个知识点都会对应安排一段时间,好比我可能花一天时间复习“Java反射”,两天时间复习“设计模式”,一周的时间用于复习"JVM虚拟机”。我通常会在月初作好整个月的计划,而后根据进度作一些微调,可是基本上我均可以跟上进度,而且是在复习到位的前提下。

因此我以为,对于秋招这一场苦战,指定计划尤其重要,一旦计划定下来,战略目标清晰,对应的战术制定也会变得清晰,执行力也会随之变强。

“写博客整合知识点”

至于复习方法,我主要经过看高质量博客,而且结合代码实践的方式巩固这部分知识点,好比今天学习“concurrenthashmap”,我会去找两三篇比较好的博客先看看,主要是源码解读方面的,而后我会把它们进行整合,若是有遗漏的知识点我会再进行补充,有时候我还会本身去看看JDK源码,以便更好地理解博客内容,完成知识整合以后,我就会对应地整理出一篇博客出来,发在个人我的博客上。

除此以外,当我完成了一整个专题的复习以后,我会把这些文章整理成一个专题,好比上面说的“concurrenthashmap”,实际上属于Java并发包,因此我会专门作一个博客专栏,用来完成Java并发系列的文章专题。对于每个文章专题,我都会先理清这个专题一共有哪些内容,而后再开始整理。

好比对于Java并发包,我会先写Java多线程基础的文章,再写JMM内存模型的文章,接着一步步着手写Java线程池,阻塞队列,工具类,原子类等等。这样一来这部份内容就复习完毕了,写系列文章的好处就在于,我能够从头至尾理清脉络,而且对于每一部分的知识点都作了比较好的总结。

对于博客的选择,我吸收了以前的教训,宁愿花半小时看一篇高质量文章,也不花10分钟看5篇烂文章。深度阅读的好处,就是可让这部份内容更好地融入你脑内的知识体系,而不是像其余快餐文章同样转瞬即逝。

“作项目巩固实践能力”

因为以前在实习期间参加的项目都比较大,我接触的模块也比较单一,没有对总体项目有一个很好的把握,因此我决定趁这段时间再巩固一下个人项目实践能力,这里的能力主要是指的是对项目架构的把握能力,以及对业务开发的熟练度,固然也包括对各类经常使用后端技术的熟悉程度。

我花了大概一个月的时间完成了两个项目的开发,固然主要也是模仿两个开源项目作了,这两个项目都使用SpringBoot快速开发,而且用到一些经常使用的后端技术好比redis,云存储,以及一些常见Web框架,除此以外还涉及到了solr,爬虫等技术。虽然项目不算很难,可是我在这段时间里很快地熟悉了完整项目开发的流程,而且天天作迭代,经过Git来跟进版本,每一个版本都会写清所作的内容,这也让我对项目的架构很是熟悉。

在项目之余,我也找一些经常使用的后端组件来跑一跑demo,以便让我对这些技术有一个直观的了解,好比面试常问的dubbo,zookeeper,消息队列等组件。这些尝试也让我在理解它们的原理时更加驾轻就熟了。

“坚持刷题,注重方法”

算法题是秋招笔试面试中的重头戏,每一个研发同窗都免不了经历算法题的摧残,对我这么一个非科班同窗来讲,更是让人头大。正由于如此,我放弃了刷大量LeetCode题目的方法,选择了更加行之有效的刷题方式。

首先我从新刷了一遍剑指offer,而且对每道题目进行总结,尽可能保证每一道题均可以记在脑子里,众所周知剑指offer中的题是面试时很是喜欢考的,因此先搞定这部分题目是最为关键的。

搞定剑指offer以后,固然还要刷LeetCode了,LeetCode题目这么多,怎么选择呢,我没有按照tag刷,也没有按照顺序刷,而是参考当时一个大佬的LeetCode刷题指南来进行刷题的,他把每一个类型的题目都作了概括,每部分只放一些比较经典的题目。因此我先后大概刷了100多道LeetCode的题目,而且在第二遍刷题复习的时候,我也对这些题目作了一份总结。

除了上面两个经典题库,我还着重刷了大厂的历年真题,这部分我主要是经过牛客网的历年真题题库来完成刷题的。说实话,真题是很是重要的,由于公司出的题目不像平时的那些算法题,可能会出得很是奇葩,因此你若是不提早适应的话会比较吃亏。完成这部分题目以后,我对算法题的复习也基本告一段落了。

当我完成全部内容的复习时,提早批已经开始了。终于要上战场了,由于战前准备比较充分,因此我对秋招仍是比较乐观的,但事实上,秋招不只是攻坚战,并且是持久战,要笑到最后,确实也不是那么容易的事情。

重建知识体系,对学过的东西作减法

前面提到我在秋招前完成了知识体系重建,那在这里我也想跟你们分享一下我当时大体的知识体系构成。就跟我前面说的同样,我选择从新再学一遍Java后端相关的技术内容,由于我知道大体的学习方向,而且有必定的基础,因此看不少文章变得更加驾轻就熟,写文章和作总结也更加有底气了。

首先在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方面

我从JavaWeb相关技术的发展入手,一步步了解了每种技术存在的意义,好比JSP,Servlet,JDBC,Spring等等,而后对每种技术进行了比较全面的了解,而且着重地看了Spring和SpringMVC的源码分析文章,另一方面,我花了不少时间去研究Tomcat的工做原理。除此以外,JavaWeb项目中经常使用的maven,日志组件,甚至是单测试组件,也归入了个人系列文章里。

在数据库和缓存方面

我主要学习了MySQL和Redis这两种最经常使用的数据库。对于Mysql,我从简单的sql开始了解,而后开始了解sql优化,MySQL的存储引擎和索引,事务及锁,还有更复杂的主从复制,分库分表等内容。对于Redis,我也是从简单的api入手,而后去了解每一种数据结构的底层实现原理,接着尝试去学习Redis的持久化方式,以及做为缓存常须要考虑的技术点,固然,也包括Redis的分布式锁实现,以及它的分布式集群方案。

最后一部分就是分布式相关的理论和技术

这个也是困扰我好久的一块内容,我主要把这块内容分为两个部分,分别是分布式理论和分布式技术,理论方面,我先了解CAP,BASE等基本知识,而后开始学习一致性协议和算法,接着探讨分布式事务。对于分布式技术,涉及的东西就更多了,例如分布式session,负载均衡,分布式锁等内容。

这些知识点我都会用一到两篇文章去总结,对于分布式缓存,消息队列,以及分布式服务等内容,我会花比较多的时间去全面学习,而后总结出一个系列的文章出来。固然,对于这些技术的学习主要仍是停留在理论方面,在本身的项目中能用到的比较少。

至此,个人知识体系基本构建完成,这也是我在秋招中可以成功闯过那么多面试的缘由。

秋招之路,砥砺前行

无论前期作了多少准备,到秋招的时候也不能掉以轻心,从七月底第一次面试到9月基本佛系,中间经历了大大小小的面试。

在完成知识体系重建之后,我把重点转向了另外几件事,一是完善和熟悉个人简历,以便在面试中可以比较好地发挥,二是持续刷题,保持对算法题和笔试真题的手感和熟练度,三则是看面经查缺补漏,我一直认为看面经是很重要的一项复习内容。

就这样,我一边继续复习,以便开始了一场接一场的面试接力。

起初,我面了几家小公司练手,接着阿里的提早批接踵而至,我战战兢兢地参加了阿里中间件部门的面试,面难难度还算适中,一共四轮面试,当时个人表现也还不错,问题基本都答上来了。面完不到一周之后我就收到了经过的消息,当时还有点懵。没想到第一个offer这么快就来了。

这段时间内,蚂蚁金服的两个部门也给了我面试机会,我都参加了它们的面试,而且顺利地拿到了其中一个部门的offer。因为我对蚂蚁这边的业务比较感兴趣,最终选择了蚂蚁金服的offer。

阿里提早批的胜利确实是意外之喜,但也大大地鼓舞了我,因而我又参加了百度和腾讯的提早批面试,因为百度的提早批不走流程,一共有四个部门面试了我,每一个部门都有2到3轮面试,总计约为12次面试,到后来我已经快晕了,看到百度的电话就惧怕,因为面试次数太多,有时候发挥确实也不是很好,我也没有特别在乎,只当是在锻炼本身了。

百度的面试难度每一个部门不同,可是每次面试必写算法题,一写算法题,时间至少就是一个小时以上,每次面试完都有一种身体被掏空的感受。

经历了百度面试的摧残之后,我手写算法的速度也变快了,不少坑也被我填上了。接下来面对腾讯的面试,我也是既激动又担忧,腾讯的面试难度比较大,对于操做系统和网络的知识喜欢深挖,问的东西也颇有深度,面完前三面之后,第四面拖了3周才进行。当时三面面试官对个人评价比较好,也让我信心爆棚了很久。

在等待腾讯终面的期间,我参加了今日头条的面试,当时有幸拿到了一个白金码,免去笔试,事实证实白金码做用真的很大。头条的面试难度和腾讯差很少,三轮面试,一样须要写各类算法,因为是视频面试,我能够清楚地看到,头条的面试官真的很是高冷啊。面完头条个人第一感受就是应该挂了吧。没想到最后仍是给了offer。

结束这几家大厂的面试以后,我以为个人秋招已经接近尾声了,不过因为以前投的比较多,因此我又面了几家大公司,如网易,华为,快手等。到9月上旬的时候,我接连收到了bat和头条,网易的意向书,阿里最先,腾讯最晚,每收到一封意向书我都很开心,没想到最后我真的能够集齐bat等大厂的offer。

9月之后,除了偶尔和同窗作几场大厂的笔试,我基本就佛系了。直到后来一些外企例如亚马逊,大摩开始笔试面试,我才又从新回到了状态。

截止目前,我基本上把该拒绝的offer都拒绝了,综合各方面因素的考虑,最后应该会签阿里,缘由是部门是我本身喜欢的,同时给的评级也比较高。虽然腾讯也给了sp,可是最后仍是忍痛割爱啦。至于百度和头条,给的offer并非很使人满意,因此就没有考虑了。

至此,个人秋招之旅总算圆满结束。

面经合集

以前发过不少秋招面经,一直没有作一个整理,今天就作一个整理吧。

阿里面经  

阿里中间件研发面经

蚂蚁金服研发面经

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

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

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

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

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

腾讯面经  

腾讯研发面经

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

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

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

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

百度面经  

百度研发面经

百度研发面经整合版

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

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

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

网易面经  

网易研发面经

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

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

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

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

头条面经  

今日头条研发面经

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

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

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

快手&拼多多面经  

拼多多&快手研发面经

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

快手是两轮视频面试加上一轮hr面试。而后没下文了,ben

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

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

自我感受良好,可是最后却收到了拒信,仍是挺惋惜的。

京东&美团面经

京东&美团研发面经

岗位是Java开发工程师

京东和美团都是电话面试,京东是提早批,聊了两次,问我能不能去实习,我说不能,而后就没有下文了。

美团也是提早批的电话面试,直接一面问了一个多小时,有几个问题没答好,直接挂了。后来正式批也没让我参加,能够说是很是真实了。

斗鱼面经

斗鱼研发面经

岗位是Java开发工程师(大数据方向)

恰好我人在武汉,因而斗鱼让我去想场面。

大概花了一下午的时间结束全部流程,首先作了一个笔试,还算简单,而后是三轮面试,前两轮主要是技术,最后一轮总监面。

整体来讲面的仍是不错的,可是没有回应,不太清楚啥缘由。

有赞面经

有赞研发面经(Java细节)

岗位依然是Java开发工程师

当时是电话面试。

有赞的面试出人意料地颇有挑战性,问的都是Java细节,死抠知识点,没有必定准备要回答好还真是颇有难度的。

断断续续大概面了三面,后来我不想去现场面,就没了下文。

华为&深信服等面经

华为 深信服等研发面经

除了华为和深信服,里面还包含了美图,迅雷,猿辅导等小公司的面经。

华为和深信服是大数据研发岗。其余是后端工程师的岗位。

华为和深信服差很少,技术面试都比较水,因此放一块儿说。

另外三家小公司的面试难度也差很少,不过最后都没有下文了,感受也是挺玄学的哈哈。

海康&商汤等面经

海康,商汤,顺丰等研发面经

岗位都是后台开发工程师。

海康只经历了简历面,现场面没有去。 商汤也只是稍微聊了一下,就没有后续了。

顺丰通过两面直接给offer。

其中还包括亚马逊的实习生面经。

另外最近面了亚马逊的秋招,感受难度和实习的面试差很少。面经就不贴了,有兴趣的同窗能够和我聊聊。

携程&拼多多面经

携程&拼多多研发面经

岗位是Java开发工程师。

携程是武汉现场面,很搞笑的是,携程的面试题是不换的,我同窗次日去面题目如出一辙。

而且,携程总共只有一轮面试,真是勤俭节约。

以前拼多多提早批折戟,此次又来参加正式批了。

没想到此次面的更差了2333 有个算法题想半天了不会。因而面完三面草草收场。不得不吐槽一下,负责咱们学校面试接待的hr,脾气真是有点大,搞得我都不敢问她问题了。

以上就是本次秋招我整理的面经合集啦,喜欢的朋友能够点赞收藏哈。

后记

秋招结束之后,我就把主要精力花在作这个公众号上了。固然,剩下要处理的事情还有不少,毕业论文,毕业旅行,还有工做前的知识储备等等。果真,人的一辈子须要不断的修行,刚刚闯过了一关又立刻要迎接下一轮挑战,你不能停下脚步,毕竟你们都在往前走。

但愿还在求职路上的各位少侠好好加油,在将来也可以顺利地拿到本身想要的offer!

本文中涉及到的几个连接我汇总在这里,方便你们查看。

一、GitHub:https://github.com/h2pl/Java-Tutorial

(Java后端技术站点,整理不少Java后端技术文章,推荐Java方向的同窗看看)

二、知乎:www.zhihu.com/people/h2pl

喜欢在知乎发各类经验分享帖,曾经火过。哈哈如今过气了。

三、B站:https://space.bilibili.com/511631

新人up,请多指教

四、我的网站:https://how2playlife.com/

同步更新技术博客,阅读体验更佳

五、公众号【程序员书单】一个为程序员推荐好书的公众号,想看什么好书,关注它就行。

六、公众号【Java技术江湖】一个简简单单的Java技术小站,想看Java方面的文章到这里就行。

更多内容请关注微信公众号【Java技术江湖】

一位阿里 Java 工程师的技术小站。做者黄小斜,专一 Java 相关技术:SSM、SpringBoot、MySQL、分布式、中间件、集群、Linux、网络、多线程,偶尔讲点Docker、ELK,同时也分享技术干货和学习经验,致力于Java全栈开发!(关注公众号后回复”Java“便可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送做者原创的Java学习指南、Java程序员面试指南等干货资源)