查看原文
其他

面试阿里,看这一篇就够了!

微观技术 2022-11-10

The following article is from 程序猿石头 Author 石头老哥

大家好,我是Tom哥~,阿里P7技术专家。
给大家分享一篇阿里云大佬写的如何准备阿里面试的文章,想去阿里的同学也可以找他内推~

背景

大家好,我是石头哥。

今天给大家分享下阿里面试攻略,声明一下:本文内容仅代表石头哥个人观点,仅供参考

对于想加入阿里的同学,或者想了解阿里面试流程(其实,很多公司,特别是 BAT 等大厂,有很多问题是相通的),一定不要错过本文。

作为候选人,从毕业到现在,参与的面试没有上百场也有大几十场了,也算是个面霸,不管失败和成功,积累的经验也都还不小。

作为面试官,不管是社招还是校招,也都面试过很多人,也算久经沙场。在我参与的所有面试中,我都尽量期望能让候选人有所收获。(当然也期望自己在面试中也有所收获)

本文主要分为以下几个部分:

  • 面试流程

  • 简历投递及注意事项

    • 投递渠道

    • 注意事项

    • 没有主动投递简历,也会接到面试邀请?

  • 在线笔试怎么进行?

  • 面试过程注意事项

    • 技术面会涉及哪些方面?

    • 遇到不会的题目怎么办

    • 某些问题能拒绝回答吗?

    • HR 面要注意什么?

    • 一个部门面挂了还能继续面其他部门吗?

  • 背调注意事项

面试流程

阿里巴巴的面试流程,一般而言,会遵循如下如下图所示的流程进行:

阿里面试流程

具体而言,不同业务线、不同部门、不同人可能有或多或少的差异(差异不大)。

但对于整个阿里集团来讲,图中红色部分是必选的,在面试官考核流程里面有讲到。

即面试官的构成必须遵循 1 OVER 1 + HR 原则:

  • 1:用人方直接主管
  • OVER 1:二级主管(主管的主管)
  • HR:一般是部门的 HRG;

且终面的面试官的层级需要高于招聘岗位层级至少2级。举个例子招聘P7,终面面试官职级必须>=P9,可能 P10 也会面。

比如我当初加入阿里时候的面试流程中,最后终面就是P10+HRG一起进行的面试。

一般而言,P7及以上的岗位都会要求进行交叉面(虽然公司招聘手册中并未强制要求)。交叉面一般是其他跨二级主管业务线的面试官。

另外,技术同学面试过程中,必须要有至少一轮代码测评(笔试),具体测评工具和流程见后文详述。

下面我将分别按照上文流程分别阐述其中的注意事项。

简历投递及注意事项

投递渠道

投递简历无外乎就以下几个渠道:内推,猎头,官网投递,招聘平台(某聘、某 Boss 之类)。

如果能找到内推渠道,当然内推更好,且尽量找自己目标岗位对应部门的人内推,同部门的人肯定比其他人了解得更全。没有的话,就可以找我哈。

为什么内推更好以及其他内推注意事项,建议你应该看看我之前写的这篇文章 —— 互联网大厂内推求职的正确姿势?

注意事项

说说简历投递的注意事项。

请确保简历中有如下基本信息:姓名、出生年月、邮箱、手机号、学校。

投递相关岗位前,请一定确保自己了解目标岗位职级和要求。各个公司的岗位职级可以直接在网上搜索清楚,市场的职级和薪资水平大体上是对齐的。

大厂职级薪资对应关系,图源见水印

上图可以简单参考,确保自己打有准备之仗,不要再闹这样的笑话:比如曾经就有刚毕业 2 年的 Java 开发投递简历应聘“资深技术专家”(P9)。

其实阿里的职级从岗位名称上一般都能看出来,详见这里。实在不行,对照这个薪资水平也能看嘛,比如现在我年薪 20W,却试图找 P7,按照上图 P7 最低不得60W+呀,跳 2 级,薪资翻 3 倍?一般来说不太可能吧?

另外,简历信息,请对自己负责一点,比如曾经收到这样一份简历:

“反例”简历

一个工作4年经验的同学,写着 “社会实践经验”?

当然,结合学校信息能猜测出:这位同学17年毕业,前两份经验,应该算实习,后面才是正式工作。

但为何我们自己不在简历中写明呢,不然还以为有两份正式工作经验不足2个月?

说到这,如果你换工作太频繁,这绝对是大大地减分项(不管你是主动还是被动)。友情提醒一下,年轻人不要稍微有点不顺心,就想着换个环境,没有哪家公司、哪个工作环境是完美,事事如意的

上图流程中有写“5年3跳”(5年内换了3份工作),公司可能会考虑到你的稳定性。此时,如果你简历很一般,加上频繁地换工作,大概率简历筛选这一关就过不了。(如果熟悉的人内推,有人帮忙“背书”,可能会稍微好一丢丢)。

如果简历一般,学校一般,工作经验也一般,可能简历被拒的可能性比较大。因为大厂能收到的简历实在是太多了,如果没有自己的特色,很大众化的一份简历,确实不太容易通过。

“简历造假”(学历,工作经验等) 肯定是不能容忍的,哪怕你面试通过,后面背调也会揪出来的。

另外,不管做啥,期望我们能够站在对方的角度思考和做事。正所谓 与人方便,与己方便

比如曾经收到一份邮件,希望我帮忙内推:邮件标题 “内推”,正文无内容,附件“简历.pdf”。

此时,我又只能如下表情了:

这种情况下,我一般简历都懒得打开看。有时候我还会收到微信,询问,“我给你发了邮件,怎么没反应啊?” 。关键微信他也没改名,也没说ta是谁。我咋知道你是谁发了啥邮件?

这也难怪,很多时候,候选人发了求职简历后,石沉大海。这样的方式,不石沉大海才怪!

我们发送邮件最起码的“礼貌”还是要有的吧?简历命名格式建议“姓名-学校-岗位.pdf” 或 ”姓名-目前公司-岗位.pdf”,真的没必要太花哨,请用标准的PDF格式(或者Word),确保导入系统能正确被识别(一般花哨的pdf系统都不认识)。

在陈述自己的技能栈、工作经验时要做到逻辑清晰,描述工作成果的时候,最好是要有数据支撑,比如,经过系统优化,性能提高了20%等等。

另外,我们还是要注意一些“老生常谈”的细节,比如最好简历没错别字呀。也有遇到,一个人发个简历就发了两三遍的,要么忘了附件,要么简历发错了,岗位发错了等等。不是常说“细节决定成败”么?

我现在帮人内推,会直接给你一个标准(具体标准,公众号后台回复“阿里内推”),本来也是无偿帮忙提供一个内推渠道,但即便这样,也还是有很多人都不按照要求,不尊重别人的劳动成果。如果没按照要求的,一律拒绝。

没有主动投递简历,也会接到面试邀请?

不知道你有没有经历过这种场景,明明我没有投递简历,可为啥还是会经常收到电话说是否看机会。

我经常收到这样的电话,最多的肯定是猎头了;然后就是各大公司的 HR;在阿里的话,就是对应部门的技术同学(这一点可能和其他公司不一样)。

猎头不用说了,有自己的渠道来源,能拿到你的联系方式。

提醒大家,千万不要泄露同事信息,被揪出来,后果很严重。

大公司 HR,可能是你之前投递过他们公司,他们可能从公司内部系统里面捞到你,于是就问问。

阿里也一样,内部有简历库,只要你的简历曾经到过阿里(不管校招、猎头、内推等),系统都会有记录,每次面试记录都有。然后各个用人部门(一般不是HR),就会定期去简历库捞捞自己感兴趣的简历,碰碰运气。

因此,不要太频繁去投递简历,每次面试过程中实事求是,不要投机取巧,耍小花样。(点到为止,不能再多说了)

经常收到同一个公司不同部门的电话,肯定也很烦人。这一点,公司内部也在逐渐优化整个招聘系统的流程,能看到一些进步。

比如校招流程、内推流程,明显跟以前有较大的改进,对候选人更友好了,比如校招支持多个志愿。

在线笔试

下面,聊聊在线笔试流程。其实,早在这篇文章中,我已经给大家介绍过了。

需要说明的是,不同部门,不同面试官可能用到的工具或形式不一样。本文提到的是公司系统推荐工具。

一般笔试前,面试官会通过公司的代码评测系统中,给候选人邮箱发送一份测评邀请。

候选人收到的测评邀请

点击链接,会进入到在线编程系统,如下图所示:

阿里在线测评系统

该系统有内置系统题库(如下图,5000+道题目,不过我很少看),其实每个面试官基本都有自己的小题库的。

阿里面试题库

根据面试官的风格,可能会选择开启视频,进行视频面试。

候选人可点击左上角切换不用的编程语言,甚至可以切换到 "vim" 模式进行编程。

这里补充分享下石头使用的 vim 插件列表

另外,提醒下大家,这个系统只是实时在线共享编辑,并不像 leetcode 刷题网站那样能直接编译提交。

面试官其实也主要是考察思路代码编写风格等,并不是说非得让候选人写出能够 AC 的代码。

面试过程注意事项

面试时,在介绍自己的项目经验的时候,可以尝试用 “STAR行为面试法” 来回答:

  • Situation、Task:项目当时的背景是怎样的,自己的任务和目标是啥?
  • Action:要解决上述问题和实现目标,自己具体做了什么事情,怎样做的,为什么要这样做?
  • Result:最  终成功是怎样的?在描述成果时,最好有数据能够支撑。

技术面会涉及哪些方面?

整体来讲,不同面试官可能问到的问题都不一样,题目难易程度,就看运气了。

在线 coding 的笔试题必不可少,在前文也给予了说明。不过,整体来讲,我认为阿里在 coding 这块的难度(或者说在算法上的要求)还是比比如宇宙条等难度低一些。(以上基于石头哥面试后端开发岗,针对笔试环节的感受)

在线笔试不用多说,刷题训练即可,社招可能没有太多时间大量刷题,但面试前刷点题目练练手,还是有必要的。推荐一份不错的 leetcode 刷题笔记,在公众号后台回复 “leetcode01” 获取。

笔试过程中,多注意沟通。在 面阿里P7,竟问这么简单的题目? 中,我也强调了,面试官在考察某道笔试题目的时候,并不是仅仅考察题目本身。

是期望以笔试题目为契机,考察候选人在解决实际问题时候的沟通能力,逻辑思维方式等。当然最后也会看看实实在在的 Code,从编码过程中看候选人的编程习惯,编码风格等等。

另外,不管怎样,你自己简历上的东西肯定是重点考察对象。多整理,理清自己的思路,介绍项目时强调你自己的贡献(前文提到的“STAR行为面试法”)。

面试八股文会考吗?

可能会的,不同面试官可能风格不一样,有的可能不会很明显直接问你 “HashMap 是怎么实现的?”

在回答这类问题的时候,我建议你如果能结合自身项目的具体case 分析,肯定会有加分的。

举个栗子哈。涉及 "Java Full GC" 这个话题时,你能结合某次生产的 “事故” 讲讲这个问题发生症状,当时如何解决的,如何定位根因等等?

遇到不会的题目怎么办?

遇到不会的题目,不用紧张,可以尝试让面试官给予提示。多和面试官沟通,沟通能力也是在考察范围内的。

候选人有时候其实可以掌握主动权,比如“这个题目我虽然不太清楚,但类似的 XX,我很了解,……”。类似的套路,其实在我之前的推文中也多次说道,比如这篇中 —— 一个读者大佬精心总结的阿里、腾讯、宇宙条大厂 Offer 面经和硬核面试攻略

实在不行,直接回答 “这题我不会,换一道吧” 即可,也不用不懂装懂强行回答。

作为成年人,我们知道最好不要在面试过程中和面试官起正面冲突。

曾经,我在某家公司面试的时候,遇到过候选人怒怼题目,甚至还些许带些人身攻击,霸气离场。怼题目也就算了,还人身攻击。这种人,怎么说呢,素质堪忧。

因为,面试本来就是一个双向选择,面试官和候选人双方平等交流、互相尊重的过程。

一个优秀的面试官应该是要善于挖掘候选人的优点,而不是显示自己有多牛X,你提前准备的题目,就那么几道,换候选人提前准备还不是一样。

不过,程序员最基础的编码能力,我们还是需要具备的,这一点我在这篇文章中也多次强调 —— 从一道面试题谈谈一线大厂码农应该具备的基本能力

某些问题能拒绝回答吗?

遇到不能回答,或涉及商业机密的问题怎么办?

其实,面试官手册中都明确说明,面试官只能提问与岗位要求和候选人任职资格相关的问题。

比如,当面试官问你 “你们用户数多少?”

如果这确实是你公司相关商业机密数据,你可以直接拒绝回答。“不好意思,这一块数据,不太方便透露”。

技术面试官问你 “你工资多少?”

在面试流程中,其实是严禁面试官直接问你工资等个人隐私问题的。一般,谈薪流程都是由 HR 进行的。当然,这个你可以自己把握评判,比如在有的公司,这个面试官就是给你发 Offer 的人,他可能希望得到这数据进行判断。

不过,我们总不能啥问题都说 “这个数据涉及公司商业机密,不方便回答” 吧?

比如,你这个系统平时负载如何,QPS 大概多少?你拿这个回应,就有点牵强了。(确实是商业机密除外)

HR 面要注意什么?

据我所知,多数情况下,一般公司的 HR 面试不会刷人。即便 HR 面试没通过,也很有可能是用人业务部门在有限 hc 的情况下,发现了更合适的候选人。

但阿里的 HR 在招人这块,权利还蛮大的,也具有一票否决权。即便前面技术(业务)面试都通过,但 HR 面试可能还是会刷掉,具体原因不好说,比如不符合公司文化?没有阿里味?

这块儿,其实没有特别好的建议,就看缘分吧。

咱们在 HR 面试过程中,表现真诚,如实的回答相关问题,只要没什么硬伤,一般来说,问题不太大。

一个部门面挂了还能继续面其他部门吗

这是一个非常常见的问题。

一般来讲,面完一个部门后,可以继续面试其他部门的。

一个部门面试没通过,在另外的部门能面试通过吗?这个是有可能的。

之前在我的文章中也说过,一般而言,公司招聘都是一个萝卜一个坑,萝卜太大或太小都不一定合适。

因为每个部门/每个岗位对候选人的要求、能力、技术栈等需求是不一样的,且每个面试官可能看中的点也可能不一样(说白了,面试确实也有一定运气成分)。

当然,这并不能说明我们可以无限制重复下去。因为每一次面试记录,都会被面试官完整的记录下来。也许后面的面试官看到你前面的面试评价,就直接拒绝了。

你多一次尝试,且拒绝后,简历通过率(或者一面通过率)就下降,到后面,很有可能根据这个通过率数字就被拒绝了(甚至简历都不会被看到)。

因此,还是建议我们“打有准备之仗”,好好准备,珍惜自己每一次面试机会。

背调注意事项

如果前面的面试流程通过,HR 谈薪等也满足预期后面就是 Offer、背调、体检、入职了。

背调一般会让第三方背调公司进行,有的公司调查得还挺详细的。我在 XX 公司的时候招人有看过候选人的背调报告,不过整体上来,主要是核实:工作经历(包括起止时间),是否属实;之前是否有违规(违法)记录;可能还会问你在之前公司表现如何呀、离职原因呀等等。

开始背调一般需要你提供之前公司的直属领导和HR的联系方式,背调公司可能会说仅参考你给的信息,访谈对象可能不仅限于你提供的人的联系方式。

你也没必要“造假”,说担心前面领导说你坏话啊等等,大家都是打工人,不至于。

如实提供相应信息就好,若耍小聪明,被发现了反而不太好。只要你别简历造假,比如学历造假,工作经验造假等等。背调,一般不会有什么幺蛾子的。

后记

从投递简历到最后 Offer,整个流程算下来,耗时不短。比较快的,可能1个月之内能搞定,慢的就说不准了。我想,这也是招聘流程应该改进的地方吧。

关于面试相关话题更多的内容可以点击这里访问。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存