从去年年中一直到今年年初,我面阿里总共面了5-6次,经历了三次完整的4轮技术面 + 1轮HR面,目前将面试过程和常见题目记录一下,供参考。
面试流程
面试轮次
阿里社招一般都是P6级别以上,技术面4轮以上 + 1轮HR面。
阿里校招一般都是P4、P5级别,技术面3轮 + 1轮HR面。
面试侧重点
以社招P6为例,来看看每轮考察的侧重点。
一面
一面面试官一般是你组内师兄或组长,主要考察Java基础、中间件原理以及项目经历;面试时长30-60分钟。
Java基础和中间件考察范围会在文末附上。
项目经历这块,选择一个具有代表性的讲解即可,这里指的代表性,建议选择和应聘岗位相关度稍高,难度稍大的项目,保证讲解时长处于10-15分钟左右为宜。若项目讲解时长较短,其他考察点(Java基础和中间件原理等)会涉及的非常深入,加大面试难度。
二面
二面面试官一般是团队负责招聘的技术或其他组组长,有时甚至就是一面面试官,主要考察算法,算法这块的背考就刷LeetCode或牛客网即可,保证刷完300题较为保险,至少要刷完100道。
LeetCode:https://leetcode-cn.com/problemset/all/ (中文版)
牛客网:https://www.nowcoder.com/ta/coding-interviews?page=1 (剑指offer)
算法这块的考察一般是面试官发送面试链接,面试者进入链接然后写代码即可,一般题量在1-3道,面试时长30-60分钟。偶尔需要开视频哦。
笔试代码一般不强制要求100%可运行,但是尽可能保证自己的代码可顺利运行,包括main方法的测试用例。这里切记,不会写的地方,宁可写思路,也不要写存在重大bug的代码。
三面
三面面试官一般为你所在部门的主管,侧重考查项目难点、中间件底层实现以及场景题。从三面开始,考题就比较宽泛了,一般45分钟左右。
这里一定要准备好项目中遇到的难点问题,如果准备的不好,面试官会diss你,甚至面试评价中会写上几笔,影响你最终的录取。
有的同学可能会问,我们参与的很多项目都是偏业务,基本没什么难点。如果业务量比较大,如QPS达到万级别及以上,