本文转载自:https://gongfukangee.github.i… 作者:G.Fukang
开源项目推荐:
- JavaGuide: Java 学习 + 面试指南!Github 56k+ 的 Java 项目。一份涵盖大部分 Java 程序员所需要掌握的核心知识。
- springboot-guide:SpringBoot 学习指南!重要知识点以及常见面试题总结。
- programmer-advancement:技术人员应该具有的一些好习惯。
秋招
- 阿里本地生活 – Java 开发
- 百度个人云 – 移动端开发
- 华为成研所 – 分布式数据库开发
- 作业帮 – 数据平台开发
- 顺丰 – 后端开发
- 拼多多 – 基础架构平台开发
- 快手 – Java 开发
面完阿里 HR 面后,其他就不想面了,推掉了美团、虾皮和字节跳动效率工程。
作业帮(数据平台研发)
作业帮是我面的最早的公司,也是一波三折,约的第一次视频面,面试官迟到,赛码网又出了问题,没声音没画面,再约第二次视频面试跟其他面试冲突了,直接拒掉了,后面又约的第三次视频面试才面上,一面主要是简历和基础,70+min,面的还可以,面试过程中面试官技术也很厉害,也直接就约了二面,二面也是约的视频面试,不过面试官网出了问题,改成了电话面试,30min,问了很多场景问题,二面结束的当天晚上就接到了 HR 面的电话,HR 面结束第三天就收到了意向书。
整个感觉作业帮技术水平还是很厉害的,效率也很快,感觉是真招人,有 HR 一直在推动流程。
百度(移动软件开发)
百度今年的内推的比较早,七月多就开始了,自己投递了有基础平台、智能云、大搜、度秘、个人云等部门,不过只有个人云给了面试机会,说没有 Java 岗问我转不转移动端,我说可以,然后很快就收到了面试,一面电话面,因为我没有移动端的经验,问的都是基础,还有一道多线程的编程和一道数据库 SQL 题目,数据库的题目没写上来,面试官也没说啥,一面就直接约了二面的时间。二面微信视频面试,主要是问的项目,穿插几个基础题目,还问了一道大数相加的算法题目,没啥大问题,因为自己不是做移动端的,所以了解也少,和面试官讨论了很久移动端开发的事情,面试管给推荐了书籍还给了很多学习上的建议,顺带说了还有三面。三面就是第二天,电话面,感觉一半技术一半非技术,问了很多项目中的分工,难点,难点如何解决的,新技术,平时看的博客,对新技术的看法,对移动端的看法。也没什么太大的问题,面完面试官说挺好的,说后续有 HR 沟通,然后就开始了漫长的等待,直到八月中旬才有 HR 加我要了个人信息,后续也收到了短信信息,在 9 月中旬有性格测评,下旬发放 offer。
整体感觉百度流程也很快,面试流程很快,就是等的时间有点长,不过整体的面试感觉还是挺好的,面试官会引导面试者并且不会刻意刁难,毕竟还是 BAT,技术积累和实力还是很强的。
插曲
百度和作业帮都是在八月放暑假时在深圳面的,本来是去放松的,但是没想到一直被排满了面试,搞得很累,不过也有所收获,拿到了百度和作业帮的 offer,在后续的面试中就不再心慌了。
华为(分布式数据库开发)
华为是从深圳回来后,在微信群里看到有成研所的 HR 说参加华为软件精英挑战赛的学生可以提前参与优招,也就说顶尖学生计划,本来不报希望,不过 HR 说不影响后续的优招,因此自己就报着试一试的心态参加了。一共两面,第一面在成研所,CloudBU 首席架构师面试,40min 基本是围绕简历来的,穿插着一些分布式和 GC 调优的知识,没有太大的难度,也不是很简单,个人感觉仅次于阿里面试,华为也不是以前那个聊天就能进的了。成研所面完后,中午 HR 还带我们在餐厅吃了饭,味道挺好的,就是有点贵。第二天 HR 通知我一面过了,要我准备二面部长面,视频面试,部长面就是综合面,技术问了一些,还问了简历上发表的论文,不过不是计算机方向,我讲了下也没讲太明白。面试完不到十分钟,HR 就通知我说面试通过了,定级 14 级,成都第一档,让我安心等消息。本来以为华为稳了,其他也不是想面了,不过后面出了个插曲,就是性格测评挂了,本来华为保底,现在不行了,心里也有点慌,就又开始好好准备面试,不过后面补测一次过了,就没啥了,HR 也说安心等后续的消息。
顺丰(Java 开发)
顺丰自己投递的是牛客网 SP 场,本来不报希望,但是没想都给安排了面试,面试两面技术 + 一面 HR,没啥太大的难度,就是等的时间比较久,截至到写博客上,收到了 offer,薪资超出预期,应该是开发档的顶薪了,还是挺满意的。
拼多多(服务端开发)
拼多多参加的是学霸批,应该是我参加的第一批笔试,本来不想投递的,有个 HR 对接我们学校的学生,专门加了我微信聊了聊,也说明了系统不互通,不影响投递,因此就参加了,拼多多的笔试还是挺难的,自己只做了 1.8/4 本来不报希望,但是还是被捞起来了。一面微信电话,主要围绕简历问,问了项目中很多点,问了很多异常的场景,也给出了很多场景要你给你解决方案,感觉拼多多更注重架构层面的东西,也好,这种面试更有区分度。二面是电话面,这里不得不吐槽下拼多多的效率,平均两周一面,等的我花都谢了。二面电话面,不过上来就是代码,问了项目中分布式锁的实现,然后给了个链接要我写一下,我用代码 + 文字的方式写了出来并给面试官讲明白。接着就是问了笔试中的第二题,由于自己当时没有 AC,距离笔试又过去差不多一个月了,也不记得了,就写了个回溯,面试官说你这个和笔试中写的不一样啊,我说笔试早就忘了。然后又问了两个基础题目,就没了。本来以为凉凉,但没想到两周后又收到了 HR 面,自己又舔了一波拼多多,不能赶上十年前的淘宝,就不要错过十年后的拼多多。希望能给个好薪资,毕竟舔的这么辛苦,12 号收到意向书
快手(Java 开发)
快手笔试得了 0 分,本地可过,提交 case 通过为 0,本来觉得没希望,但还是被捞起来了。当时周日下午面试,自己趟床上挣扎半天还是起来面试了。快手的面试是两面连着,一面面试官直接简单明了说面试分三部分:介绍你最熟悉的项目和亮点,手写代码,基础知识。一面也是按照这个流程来的,手写了一道二叉树层序遍历,没啥难度,直接进入了二面,二面面试官看我简历上有个秒杀的项目,又看一面没问过,就基本都是在问这个项目,围绕秒杀场景问了很多,手写了一道字符串的题目,主要考察异常处理、边界和代码的规范性,我感觉写的一般,最后又问了几个锁的基础题目,因为我用过分布式锁,因此就直接用伪代码写了下项目中分布式锁的实现,面了一个多小时,面试官说挺好的,没啥问题,后续就是漫长的等待,等了两周没消息以为挂了,那时候手里其他 offer 都拿到了,就没再关心,某天晚上突然接到了 HR 电话沟通了 offer 问题,算下来等了有近一个月吧。
腾讯(后台开发)
腾讯是我一直想去的,百度在北京,阿里开始没报啥希望,腾讯在深圳又是大厂因此自己特别想去,离女朋友也近,不过腾讯爸爸不给面子啊,捞我三次简历,没面试就挂了,唉,注定无缘,腾讯,我是你注定得不到的人才。10 号时候被捞起来面试,不过拿时候手里 offer 已经拿的差不多了,而且腾讯的部门 CSIG 智慧零售也一般,就直接拒掉了。
十面阿里(Java 开发)
阿里虐我千百遍,我待阿里如初恋
阿里是我最想去的公司,也是被虐的最惨的公司,被无数次鞭尸,但依然还坚持面的公司,阿里的秋招是八月初才开始,在七月中旬牛客上就很多部门直推,提前简历蓄水,除了本地生活,其他都是部门直推,因此可以投递多个部门,挂了不影响,正式系统开了,只投递了本地生活一个部门。
盒马鲜生(两面)
盒马是我投递的第一个 BU,投递完很快就接到了面试,一面基础 70+min,一面完第二天就接到了二面的电话,二面 P8 面试官人很好,但是说我没有实习,还是欠缺架构上的思想,我觉得有点先入为主的思想了,如果我说我的项目是外包项目,估计就不会这么说了,我说我的项目是自己做的项目,所以他基本啥也没问,就直接让我讲了讲项目亮点就结束了,后面说要其他同事面下我,我等了四五天没等到,然后发邮件问,他晚上十点多给我打过来聊了下,说了下我的情况,各方面都挺不错的,就是没有实习,他那边只能给 B+ 的评级,问我要不要继续走,我觉得他评级给的不公平,就拒绝了,没有继续走下去。
天猫(一面)
天猫也是投递了很快就有消息,面试官人挺好的,开始问了很多我专业和学校的事情以及教研室的方向,由于自己是自学的,很快就直接坦白了,面试官说自己也是通信的,也是自学的,有相似的经历,我一听有戏,后面的面试也很顺,没问太难的问题,我也全部都答上来了,不过最后却被挂了,面试评价写对分布式理解不到位,关键是面试官根本就没问任何分布式相关的东西,我也是无语。总结来说:面的难不一定挂,但是面的顺大概率凉,上来问否定你专业的肯定是要凉
阿里健康(一面)
阿里健康是在北邮人论坛上内推的,投了很久才收到消息,第一次面试,我在坐公交不方便就约到下午,等了一周才给我打过来,面了十分钟就说要开会,一小时后接着面,一小时后又面了 50+min,面试时问了一个算法题目,任务调度的,我觉得就是典型的贪心算法,然后很快就说了思路,面试官听不懂贪心还是啥,我给他解释半天,他还是不明白就说我错了,我又尝试解释了下了还是没让他听明白,就放弃了,说自己没思路,然后面试官还追问我错在哪里,我也是无语,最后面试官说我基础挺好的,这面可以过,但是面过后也没结果了。不过过了两周多,又捞我面试,我以为是二面,但是面试官不知道之前的面试情况,说是重新面试,我就放弃了。
闲鱼(一面)
闲鱼也是投递了很快接到了面试,面试官上来问能不能去实习,我说不能,他就开始扣底层,扣项目细节,按在地上摩擦了一个半小时,最后也没说二面的事情,我后面在牛客上看其他人都直接约了二面,我就知道自己凉了。不过也正是闲鱼的摩擦,让我暴露出很多项目中的问题,我把这些问题都解决了,后面面试基本就没被项目问倒过。本来以为凉了,过了两周多又要我简历,说约二面代码面,还是那个面试官,我看这意思,备胎了啊,不过当时还是想去阿里,就开始准备代码面,约了三次才约上时间。约的下午五点,五点时面试官微信问我在不在,我立刻回复在,说可以面试,然后面试官就没回复了,我等啊等啊,等了一个小时还没消息,然后我就说我主动放弃了,这时候面试官立刻说刚才在开会,耽误了。我呵呵,不就是备胎,爷不伺候了,主动放弃了。
本地生活 - 口碑(五面)
投本地生活是去年时参加电子科技大学本地生活技术交流会加的交流群,然后在群里投递的,后面也加了 HR 疯牧,一直全程帮我催进度,给我面试反馈,真的很感谢,面试体验也很好,每一面都提前约定时间。一面简历面 70min+,主要是基础,然后介绍了下他那边情况,二面项目面 + 代码面 70min+,三面 P9 面,三面时 P9 大佬说反正周六也没啥事,多聊聊,就聊了 100min+,四面蚂蚁金服 P9 交叉面,没问太多 30min+,面完以为挂了,感觉答的一般,自己也担心挂了,天天刷牛客,阿里招聘状态一天刷八百次,不过终于在三天后等到二面面试官的电话,跟我聊了一下那边的情况,说自己面试评级挺好的,不要担心,还加了微信,说帮我催下 HR,接着不到半小时就接到了 HR 电话面,HR 也在电话中说评级挺好 A,说 12 号会出结果,希望能拿到。(update:意向书已收到)
面试总结
- 作业帮:后台主要是 PHP,我被捞的是数据平台,用 Scala,不过面试中问都是 Java,面试以项目为多,穿插部分基础知识,注重对项目的理解和异常场景的处理,基础以数据库、Redis 居多,Kafka 应该是面试官常用的,也问的很多,看其他面经一般需要手写代码,但是我没写,估计是因为投实习时写过有面试记录。准备作业帮还是算法为主,项目为辅,基础可有可无吧,估计是语言不对口,语言基础问的不多。
- 百度:被捞的是个人云部门,也就说百度云盘,百度是我整个秋招过程中面的最舒服的,不会去故意为难你,面试官保持你会和不会二八分,问的都是基础常规题目,语言基础和数据库为重,语言方面并发和虚拟机问的比较多,二面项目面也主要是问项目中的亮点,然后追问下,以挖掘面试者优点为主,不故意为难,手写了一道代码大数相加,也没有难度。三面更多的是看重你知识面的广度和团队合作能力,比如最近在学习的新知识,如何学习一门新知识,经常看的博客,在项目中扮演的角色做出的贡献,已经团队中的冲突,个人和队友的优缺点等。百度给我的感觉是每次面完,你觉得稳了就稳了,一般会进入下一轮面试
- 华为:整个招聘分为顶尖学生计划、优招、集中批次,顶尖学生计划和后面两个不冲突,但是优招和集中批次只能参加一个。如果想拿个好评级,建议参加顶尖学生计划,这个是有几条门槛的,最简单的就是参加华为软挑拿到赛区 64 算是有了门票。顶尖学生计划评级为 14、15,所以问的技术也会偏难,多集中在架构、分布式上,与优招和集中批难度不在一个等级。后续同学参加优招面试,虽然不像之前那样聊聊人生,但也没啥太大的难度,基本都能拿到。
- 阿里:阿里的面试流程一般是:简历评估面 P7、一面技术 P8、二面技术 P9、交叉面技术 P9、HR,如果中间面试评级偏差较大,可能 P8 面会多一两面,有的 BU 还有 P10 面,评级 B+ 一般不会有交叉面,也有多轮交叉的,不过总体面试流程偏差不大。简历评估面 一般以基础为住,穿插部分项目问题;一面 以项目为主,穿插部分基础,再加部分场景题,一面一般有伯乐代码测评,难度不大,我做的合并 K 个有序链表;二面 P9 因人而异,当时面试官开始想问我简历上的论文,但是我说了不是计算机的,一些最优化的算法电话里也讲不清楚就没有问论文,转而问项目,项目挖的很深,一般问到你说不出来。其他基础问题也问了一些,但是面试官思维很跳跃,我开始有点跟不上,后面才慢慢习惯的,除了基础也问了很多分布式的问题,印象比较深的场景题是完成一个对接口调用平滑限流的需求,我开始想的是 Kafka 之类的中间件,面试官说太重了,后面想到用 Redis 做分布式限流,想到了计数限流,面试官指出了边界异常问题,又说了令牌桶,面试说只能实现限流,不能平滑,会有突刺,自己在面试官引导下才想到漏桶算法,简单讲了讲理解,才算停止了这个话题。整个三面感觉注重你平时的技术积累,挖掘你的技术潜力,同样也问到了平时看的技术博客之类的。 交叉三面 有人说交叉面不挂人,有人说只要一面过了交叉面是挂人最多的,所以交叉面挺玄学的,我交叉到是蚂蚁金服 P9,约定好面试时间面试官迟到了还给我专门发了短信说抱歉,整个面试有压力面的感觉,全程都在否定我,否定我的专业,为什么考研去成电,否定项目,说我项目很简单,我也没做什么东西,主要业务都是队友做的,在问我项目里的贡献时,我说了两句,他就直接问其他的了,问其他基础问题也是,我说两句他就说其他的了,给我的压力很大,面完感觉凉凉。阿里的面试一般来说你自己觉得挺好的,问的挺简单的,说明面试官不愿意挖掘你,大概率凉凉,但是每一面你都面的艰难,有几个问题答不出来,面试官很多问题都深挖都你说不出话,也不一定凉,可能能过。HR 面 看其他面经都说阿里 HR 面是闻味,看你有没有阿里味,我面的 HR 面倒是没有太多奇怪的问题,首先让你总结下前面的面试表现,我从我的表现和面试官的提问水平两个方向来说的,顺带引出了我为什么要去阿里做技术。接着问了我对面试部门的了解,我面试的是口碑,主要做线下商家这块,对标美团,因为前几天刚在虎嗅看到美团财报的新闻,因此自己尝试对比分析了下口碑和美团。最后就是常规问题个人缺点,这个自己准备过,主要说的是公开场合演讲紧张,从自己写博客 yy 以后参加架构师峰会做演讲意识到自己的缺点,然后就是针对性改进缺点,常规套路问题,其他就没了,HR 面结束。
后记
本硕非科班,无实习,无对口项目,华为软挑赛区 64
- 开源项目 https://github.com/daydreamdev
- 个人技术博客 https://gongfukangee.github.io
书单
Java
- Java 编程思想
- Java 并发编程的艺术
- 码出高效:Java 开发手册
- Java 并发编程实战
- 深入理解 Java 虚拟机
- Effective Java
数据库
- 高性能 MySQL
- SQL 必知必会
- MySQL 技术内幕:InnoDB 存储引擎
- 数据库系统概念
- Redis 设计与实现
- Redis 开发与运维
- Redis 深度历险:核心原理与应用实践
Spring
- 精通 Spring 4.x 企业应用开发实战
- Spring 实战
- Spring 技术内幕
- 跟开涛学 SpringMVC
架构与中间件
- 设计模式之禅
- 大型网站技术架构
- 大型网站系统与 Java 中间件开发实践
- 深入分析 Java Web 技术内幕
- 架构探险:从零开始写 Java Web 框架
- 微服务设计
- 分布式系统:概念与设计
- 分布式 Java 应用:基础与实践
- 实战高并发程序设计
- 亿级流量网站架构核心技术
- 分布式服务框架:原理与实践
- 从 Paxos 到 Zookeeper:分布式一致性原理与实践
- Dubbo 用户文档
- Dubbo 源码导读
- 深入理解 Kafka:核心设计与实践原理
极客时间
- 并发编程实战
- 从零开始学架构
- 趣谈网络协议
- 深入拆解 Java 虚拟机
- 如何设计一个秒杀系统
- Java 核心技术 36 讲
- 左耳听风
- 微服务架构核心 20 讲
其他
- 淘宝技术这十年
- 不止代码:阿里巴巴技术经验选集
- 美团点评 2018 技术年货
GitHub & Blog
- 个人技术 Organization
- CS-Notes
- JGrowing
- 后端架构师技术图谱
- 美团技术团队
- Holis
- 阿里中间件团队博客
- 阿里技术
- ApacheCN 布客
- 占小狼
- 程序员 DD
- MIT-6.824 学习之路
- 架构师之路
- 梁桂钊的博客
- 徐靖峰
- 芋道源码
- 朝闻道
- 朱小厮
- 闲鱼技术
- 老钱
- 饿了么物流技术团队
- 石杉的架构笔记
- crossoverJie’s Blog
公众号
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。
《Java 面试突击》: 由本文档衍生的专为面试而生的《Java 面试突击》V2.0 PDF 版本公众号后台回复 “Java 面试突击 ” 即可免费领取!
Java 工程师必备学习资源: 一些 Java 工程师常用学习资源公众号后台回复关键字 “1” 即可免费无套路获取。