Appearance
阿里内推与社招面试注意事项
本文为转载节选(原文为 GitChat 付费专栏),末节内推事宜原文截断。
内容来源:本篇为学习整理,转载自网络技术博客(版权归原作者所有):
- 原文链接 结构与表述有编辑加工;勘误与更新以原文为准。
看在前面
- 以下内容节选自 GitChat平台 阿里内推邀请:If not now, when? If not you, who?
1 社招新动向及岗位选择建议
在今年六月之前,阿里社招职级 P6 (高级工程师) 起,一般要求工作经验不少于 3 年。六月份集团新规出台,社招职级提升为 P7 (技术专家) 起,工作经验要求不少于 5 年。这与去年华为宣布不再招聘低于 18 级员工的做法如出一辙。阿里的社招政策也在演进 —— 提高社招门槛 (变相减少社招),加强校招。同时,选拔优秀的应届生作为“青年近卫军”。
1.1 关于新动向的一些看法
在笔者看来,社招新动向与互联网行业进入“下半场”,增长放缓密切相关。互联网高速增涨红利已消耗殆尽,几大互联网公司用户数量增长也进入瓶颈期。
目前,互联网公司不遗余力的采取各种手段拉新、促活、提升存留。拉新即拉新用户。促活即促进老用户的活跃度,如各种优惠、个性化服务。提升存留即增加用户粘度,如持续提供更新、更优、更炫的服务或产品。即便如此,增长空间有限已是不争的事实。
举个例子,微信、支付宝用户规模已达 10 亿级,增长空间有限。正是考虑到这个因素,几大互联网公司目前正加紧向海外扩张。以某头部金融科技集团为例,其通过连续收购海外支付机构进军国际金融市场。但由于金融领域各国管控严格,部分收购也遭遇过监管挫折。
此外,几大互联网公司近年来鲜有推出 “爆点应用”(如支付宝、微信、花呗这类应用)。国内业务发展基本处于守势。用户和业务增加空间某种程度上决定了公司(行业)的规模增长余量。这进而决定了公司对中低层人才的需求规模。在此大背景下,对于低职级非紧缺人才,培养校招优秀应届毕业生的成本低于社招。同时,通过校招培养的人才对企业的文化认同度普遍更高。
1.2 社招 P6 的大门尚未关闭
提高社招门槛已然是大趋势。目前,公司大部分技术岗位社招都是 P7 起。但是,在实践中也遇到很多现实的问题:1. 招聘门槛提高,符合要求的应聘者自然就少。2. 符合要求的应聘者往往有很多选择空间,不一定会接受 offer。
如是一系列因素导致一些团队几个月都招聘不到合适的人。为了顺应业务发展的实际需求,很多部门仍然社招 P6 职级的工程师。不过,总体来看,社招 P6 的 HC 少了许多。
鉴于此,有意向应聘阿里而尚不足以应聘 P7 职级的朋友们,请抓住机遇。P7 是技术专家,一般要求不少于 5 年工作经验。不要盲目投递简历,可联系我内推 (内推联系方式在文末)。
1.3 岗位选择建议
由于不同部门的业务侧重点存在差异,即便是同样类型的岗位,具体的要求往往也相差甚远。最新的招聘信息可以参照boss直聘和脉脉上最新的BAT招聘信息。在选择岗位时必须仔细阅读岗位描述和岗位要求,结合自身的特点选择最合适的岗位。
- 什么岗位算是合适?
根据岗位介绍能够洞见的关键信息并不多。基于有限的信息,所谓合适通常需满足以下几点。1.自身的核心竞争力与所应聘的岗位具有较高的匹配度。2.对岗位的工作内容感兴趣,至少不排斥。3.岗位所在的业务具有良好的前景。4.工作地点可接受。
在招聘中常遇到这样的应聘者:所选择的岗位与其工作经验相去甚远。例如,之前做后端开发,应聘的却是算法工程师。问其原因,答曰:我对算法特别感兴趣,自学了 XXX 算法,上过 XXX 的课,做过 XXX 项目,我觉得自己可以胜任。
这类应聘者忽视了一个重要的问题:自身的核心竞争力与岗位要求是否匹配。毕竟兴趣不等同于能力,社招不同于校招,不可能花大量的时间来培养你。
- 关于工作年限要求
阿里的社招岗位通常是 P6 起步(P6 对应高级工程师,P7 对应技术专家,P8 对应高级专家)。而校招应届硕士也只能给 P5 (特例除外)。因此,社招岗位对工作年限要求通常是不少于 3 年。P7 通常不少于 5 年,P8 通常不少于 8 年。
工作年限要求只是一个概数,因人而异。对于优秀的应聘者,只要能力达到岗位要求,工作年限是可以适度放宽的。我曾经成功内推过一个只有 1.5 年工作经验的应聘者到 P6 岗位。他具有以下属性:国内一流高校硕士学历,国内大型互联网公司 1.5 年工作经验。作为核心成员参加过较大项目开发,基础扎实,沟通能力良好。
- 关于学历和专业的要求
目前,阿里的正式岗位对学历的要求以本科及以上为主。这个要求并不高,出发点是避免因学历限制而错过优秀的人才。
经常有应聘者向我咨询:专科学历或者非全日制本科是否可以应聘阿里?对于这个问题,我无法给出准确答案。不过,据我所知,少数学历低但特别优秀的应聘者也成功加入了阿里。作为一名应聘者,你要相信一点:只要你足够优秀,“世界” 没有理由不对你和颜悦色。
2 社招应聘者被回绝的常见原因
应聘如考试,却又不同于考试。考试至少可以通过回顾试卷知道自己哪里出错,并有针对性地订正,从而避免再犯同样的错误。然而,应聘失败往往只能得到一个 “被回绝” 的结果,甚至是“石沉大海”,没有人会跟你解释原因。
关于回绝应聘者的原因,我与同为面试官的很多同事探讨了。总结得出的普遍因素有 5 个:基础差、项目经历简单、无思考、无沉淀、无亮点。
2.1 基础差
在应聘的过程中,基础考查安排在 “一面”,面试形式通常为 “电话面”。基础考查由浅入深,起初,面试官会根据岗位要求问一些技术相关的基础问题。当然,“基础” 二字的含义并不是简单,如果没有充分的准备和足够的积累,也容易挂掉的。根据我的面试经验,超过一半的应聘者在这个环节挂掉。
表现特别差的应聘者可能会被面试官打上一个 “基础不扎实” 的标签记录在案。再次应聘阿里时,面试官会参考之前的面试记录。有这样的“差评”,成功率就低了。
基础知识的考查有一个心照不宣的规则:回答正确不会加分,错误则会减分。某种意义上,这是一个 “粗筛” 的过程。如下图所示,是一个 Java 工程师岗位的要求。可以看出,基础考查涉及的内容广泛,“裸考” 并不可取。此外,基础考查的题目大都是常规的,网上有大量的面试 “刷题” 攻略可供参考。正是基于这个原因,对那些连基础问题都回答不好的应聘者,面试官通常会以 “基础差” 回绝掉。
任职要求 1、具备扎实的Java基础,对JVM原理有扎实的理解;对Spring、IBatis等开源框架熟悉,并能了解它的原理和机制,具有大型分布式系统设计研发经验; 2、熟悉基于Mysql关系数据库设计、开发和优化;对元数据的设计有一定经验的优先,熟悉大数据处理经验的更佳; 3、熟悉底层中间件、分布式技术(分布式数据库事物、缓存、消息系统等); 4、思路清晰,有良好的业务需求理解、分析、抽象能力和软件设计能力; 5、对技术有强烈的兴趣,喜欢钻研,具有良好的学习能力; 6、具备良好的沟通技能能力,团队合作能力以及推进工作执行,拿结果能力;
2.2 项目经历简单
所谓简单与复杂都是相对的。对于阿里、腾讯这种用户规模达十亿级的互联网企业,工程师要面对大规模分布式环境。环境中的问题包括高并发、海量请求下的安全、稳定、高性能。
为了应对这些问题,工程师要有娴熟的业务研发技能。此外,还需要业务建模、架构设计、框架研发、技术攻关这类能力。这些能力几乎不可能通过刷题、看书、培训获得。它们需要在实际的项目中不断地学习、实践、思考、总结才能逐渐形成。正是这个原因,在面试中,项目经历是必问内容。面试官据此可以评估你是否已经具备相应岗位所需的能力。
经常听到同为面试官的同事感叹:这个应聘者其它方面都挺好的,就是项目经历太简单了。这并非面试官有意 “装 X”。大多数应聘者过往的工作经历可能都是一些小公司的项目,或者大公司的小项目。这类项目的系统复杂度普遍较低,同时鲜有设计上的亮点。因此,在评估应聘者的工作经验时,这样的项目经历是不会加分的。
不过,有意向应聘阿里系(或者其它大型互联网公司)的读者也不必过分担心。毕竟面试是一个综合考量的过程,面试官不会仅仅因为项目经历简单就直接回绝应聘者。很多时候,项目经历简单并不是应聘者本身能力的问题,而在于机遇。优秀的设计、独具匠心的思考也可以通过简单的项目承载。
2.3 无思考
无思考可以说是工程师的 “大忌”。互联网行业不同于传统行业。一方面,技术变化快,不同领域技术之间的边界正逐渐模糊、走向融合。埋头搬砖而无思考的工程师将难以跟上节奏。
另一方面,大型互联网公司时常会面临一些前所未有、无可参考的问题和场景,只能自力更生。这些年阿里打造了很多著名的开源项目,例如 RocketMQ、Dubbo、Ant-design、arthas、Fastjson、Druid、Ice。阿里已成为国际顶级开源组织核心成员。这背后凝聚着大量工程师的思考和创新。
回归正题,在面试的时候,面试官通常会问一些“观点型”问题。这类问题一般是没有明确的答案的,主要看应聘者是否有自己的思考。比如,可以问应聘者对于一些常见的编程和软件工程理念的看法,例如 OOP、SOA、API、SPI、微服务。目的在于考察应聘者平常对于这些问题是否有思考和总结。也可能是对于最近的一些技术热点的关注。
对于这类问题,合格的面试官不会期望应聘者的回答与自己的观点一致,更不会同应聘者争论。面试官会尽量引导应聘者完整地表述自己的逻辑,了解其观点背后的内容。面试官借此考察应聘者对于概念的理解和实践的程度,判断其逻辑是否严密、能否自圆其说。
诚然,在判断应聘者是否属于“无思考类型” 时,面试官的主观意志是重要的因素。他很难做到绝对客观,也会出现误判,进而影响应聘者的面试结果。因此,作为应聘者在面试之前必须做足功课,须知 “求其上者得其中”。
2.4 无沉淀
工程师在经历一系列项目实践的洗礼后,通常会形成自己的一套 “方法论”和 “最佳实践”。具体而言,拿到一个新项目,在很短的时间内便能勾勒出一个大概的系统框架。之后结合应用场景填充细节。对于这样的工程师,我们通俗地称之为 “有沉淀的人”。
在大、中型项目中,一名工程师通常只负责某个模块的设计和实现。这样的分工协作模式在提升效率的同时,也容易让人产生惰性,逐渐退化成 “螺丝钉”。“螺丝钉” 只关注自己的“一亩三分地”,囿于局部,缺乏对项目全局的洞察。随着时间的推移,只会做自己擅长的,或者只被安排做擅长的。缘于这类因素,很多工程师虽然参与过很多项目,但趋于同质化,技术视野局限。这给人一种 “没有沉淀” 的感觉。
回归实践,显得 “有沉淀” 的方法如下。首先,要转变观念。优秀的工程师即便只负责项目的某个模块,也应保持对项目全局的好奇心,并投入时间去琢磨。这样的项目经历才能助力于形成体系化的 “方法论” 和完整的“最佳实践”。
其次,要善于总结,将自己从实践中得来的经验经思考加工后 “持久化”。具体方式因人而异,个人推崇技术博客的形式。通过技术博客,用文字、图片记录实践经验,分享技术思考,日积月累,也就 “沉淀” 下来了。
2.5 无亮点
应聘者各方面都不错——基础较好、有思考、有沉淀、项目经验尚可,但没有特别突出的点。这是最令面试官纠结的类型。如果应聘者在各方面都不错的基础上能有一个亮点加持,通过面试要容易得多。
通常可以作为亮点的因素包括以下 6 项:1.过往工作经验与所应聘岗位强相关。2.上家公司在业界有一定知名度。3.在所应聘岗位相关的领域有一定成果,例如专利、论文、书籍。4.教育背景良好 (一流学校,高学历)。5.英语口语水平优秀(阿里正在走向国际化,很多岗位涉及国际合作)。6.沟通表达能力特别好,性格好(自信、乐观、谦逊)。
3 面试指南:面试前、中、后需注意的事项
面试并非单纯的知识点问答,它也是一场交流。面试官通过提问考查应聘者是否符合岗位要求,应聘者也可以通过提问了解公司的一些信息。某种程度上,这是一个双向选择的过程。对于应聘者,面试有一些事项需要注意,它们会影响面试官对你的判断,进而影响面试结果。
特别说明:此面试指南主要针对社招,校招可作为参考,注意事项基本都涵盖了。
3.1 面试前的注意事项
时间约定:
每一轮面试,面试官都会通过电话与应聘者约定面试时间。在接到面试官电话时,不要紧张。如果自己尚未准备好面试,或者时间不方便,可以将时间约靠后一点,留下足够的时间缓冲。
基础复习:
基础考查安排在 “一面”,考查面通常广泛,切勿 “裸考”。应聘者可以根据岗位要求列一个复习提纲,然后有针对性地查漏补缺。同时可以参考网上的面试 “刷题” 攻略来 “恶补”。但是要注意,即便是 “刷题” 也要 “刷” 出水平,知其然且知其所以然。在我看来,“刷题” 攻略提供的是知识点的集合,是领域知识的精华,完全可以作为一个复习提纲。据此深入了解知识点背后的原理,思考、总结,形成自己的理解。
项目梳理:
对于那些写在简历上的项目经验,必须提前整理好,确保面试时能有条理、重点突出地介绍。参考以下原则:1.从整体到局部,先介绍项目系统架构,再介绍局部。这一点重要:如果是现场面试,可能会让你画出系统架构图。2.重难点突出,包括项目所采用的优秀设计,遇到的困难及解决方法。3.重要指标参数明确,例如 QPS、DAU。4.提前试讲,让自己的同事、朋友提提建议,力求完善。
阅读与思考:
工程师并不意味着整天埋头写代码,也有自己的业余爱好和兴趣点。面试官通常会通过两个问题来观察应聘者的学习方式、兴趣和习惯:1.最近有看什么书吗?如果有会让你介绍印象深刻的章节,并谈谈自己的看法;2.工作之余都做些什么?一个技术狂的业余生活也很有可能和技术有很大的关系,比如做些开源的软件,DIY 一些设备。
最差的回答是:最近没看书,业余时间没干啥,这个话题也就没法继续了。建议应聘者提前准备,阅读几本书(不局限于技术相关书籍),写点自己的思考。建议保持阅读的习惯,不是为了面试,而是为了让自己不要太无趣。这句话也许会冒犯到你,但并非我的本意,请见谅。
关心的问题:
面试过程中,通常会有一个应聘者提问的环节,应聘者可以向面试官问一些自己感兴趣的问题。建议提前想好感兴趣的问题,不要浪费提问的机会。福利待遇、加班安排、团队氛围、个人成长这类话题都可以问,不必担心什么禁忌。
3.2 面试中的注意事项
如果面试前做好了充分准备,面试过程会顺利很多,但还是有一些需要注意的问题。
为什么要换工作
没有无缘无故的离职,既然应聘者选择离职,一定有一个核心原因,这通常也是面试官感兴趣的。大多数情况下,导致离职的原因是令人不悦的,甚至是糟心的。如果面对的是朋友,你可以尽情地吐槽、宣泄。但是,当你面对的是面试官时,请收起你的负面情绪,心平气和地叙述。离职的真正原因只有你自己最清楚,至于要不要和盘托出,需要你慎重考虑。笔者并不是鼓励说谎,只是建议应聘者把握好一个度,“直言有讳”。
知识盲点
即使应聘者做了充分的准备,仍然可能 “万有一失”。如果面试官的问题完全不在自己的知识域内,毫无思路可言,就不要勉为其难了。不妨直接如实回应。通常,面试官也会根据应聘者回答问题的表现调整提问方向,避免就应聘者不知道的领域提问。毕竟认知型的问题不是能力决定的,而是经历决定的。
开放性问题
有些面试官可能会问一些开放性问题,这类问题一般是没有明确答案的,比如对 DDD、ServerLess 的看法。这考察应聘者对于一些设计思想、热门技术是否有思考和总结。
遇到这类问题,应聘者无需过度紧张。面试官不会期望你的回答与自己的观点一致。更多的是考察应聘者对于概念的理解和实践的程度,看看应聘者是否有严密的自圆其说的逻辑。鉴于此,不妨先整理思路。如果是电话面试,甚至可以拿出纸笔简单地拟定要点,以便更有条理地回答。
思路卡壳
算法题并不是算法岗的专利。很多面试官喜欢在面试的最后问几个算法题(笔者也有这个 “不良” 习惯)。算法题通常具有以下的 “题效”:
应聘者完全不知道如何解决,思路卡壳,这时候必须冷静。不妨先试试 “暴力解法”,而后再去想复杂的、效率高的解法。实在想不出,至少还有个兜底的。
应聘者大概知道怎么解决,有思路,但是想不出具体的解法。在过往的面试中,我发现很多应聘者就 “杵” 在那里转着眼睛思考。我实在看不下去了,会提醒他们——拿出纸笔"划一划",不要凭空想。建议应聘者,在面试算法题的时候,准备好纸笔,不要一紧张啥都忘了。
3.3 面试后的注意事项
不要急于问面试结果
在面试结束后,尽量不要急于向面试官询问面试的结果,没有什么意义。其一,面试官通常是不会直接告诉你结果的,避免违规之嫌。其二,根据面试回答问题的表现,应聘者完全可以大致预计结果。
不妨听听面试官的建议
如果是电话面试,在面试结束后,不妨向面试官寻求一些 ”建议“。这其中隐含了面试官对你的评价,特别是在他看来你有哪些不足需要完善。这些建议通常是相对客观的,对你提升自己也许会有指导作用。对于应聘者,不妨谦逊一点,把每一次面试都当成一次 ”客观看待自己“ 的机会,知不足而后勇。
关注自己的应聘进展
如果应聘者是通过 “内推” 应聘阿里,那么,可以向推荐人询问应聘进展。当应聘者的应聘状态发生变化,推荐人会收到邮件通知。状态例如:简历评估中、简历评估通过、第一轮面试中、...、待发 offer、...、已入职。此外,推荐人也可以直接查看应聘进展。
准备下一轮面试
通过推荐人可以准确地获取应聘进展,如果顺利,应抓紧时间投入到下一轮面试的准备中。强调准备下一轮面试的原因如下:第一轮电话面试通过后,第二轮面试通常不是电话面。一般分为两种情形。其一,如果应聘者在岗位所在的城市,则会安排现场面试。其二,如果应聘者不在岗位所在城市,可能通过视频面试。其三,如果应聘者定级(应聘岗位的职级)较高,不论应聘者是否在岗位所在城市,都会安排现场面试。