自我介绍
首先简单自我介绍一下,我叫陈映平,花名叫做小卡,2011年校招进入腾讯,是腾讯课堂B侧的前端技术负责人。2015年响应总理的号召,跟朋友一起出来创业,跟前面一位讲师的经历有点像,然后2018年回到腾讯,主要负责NOW直播相关的业务,包括NOW商业化、NOW独立版等。
今年的三月底,因为家庭的原因来到了杭州,加入了阿里巴巴CBU技术部-前端体验技术团队,职级是P8,目前负责的主要是内容跟营销方向,包括采源宝、淘卖,以及现在风口上的业务,1688电商直播。
接下来分享一下我是如何拿到阿里P8的offer,以及面试过程中的一些思考。分享主要会分为几个部分。
- 第一个是整体的面试流程,以及面试过程中的一些内容。
- 第二个是面试过程中所做的一些准备。
- 第三个是针对面试过程的一些建议。
- 第四个是作为前端在进阶路上的一些修炼以及思考。
面试流程
首先我们来看一下面试流程,以及面试过程中可能问到的一些问题。
这里大概列了一下我当时去面试阿里巴巴的流程,一共分为五面。一面是我的直属主管,二面是前端团队的负责人,三面是部门的总经理,四面是跨部门交叉面试,最后一面是部门的HR负责人。
整体的面试流程其实跟前面几位讲师讲到的差不多,里面有一点小小的区别。
第一,就是面试官的层级必须要高于候选人的预估层级,因此从一面开始,所有的面试官都必须是P8或以上。
第二,终面面试官的层级必须大于候选人两级以上,也就是说终面的面试官需要是P10以上,在阿里内部叫研究员。
最后,就是P8及以上的候选人需要跨BU的交叉面试,来保证面试的公平跟客观。
接下来我们来看一下面试的内容,具体的面试题目属于敏感信息,这里不是很方便透露,就简单的列举一下每一轮大概考察了哪一些内容。
首先我们来看一下主管面,他一般会考察你的项目经历、技术深度,来确认你的基本能力是过关的。
接下来是前端团队的负责人,一般会看你过往的作品以及个人的一些影响力。比如说有没有比较成功的项目,对外的一些技术分享,以及一些开源作品等。
然后第三个是部门的总经理跟HRG,一般会看你的项目经验,你对所从事的业务以及该业务所在行业的一些思考,以及你的人才调性跟匹配度。简单的说,就是看你是否是部门所需要的人才。
跨BU交叉面试,面试官是随机的,面的问题跟前面的面试官可能会有一些差异,但整体上是类似的。
可以看到,五轮面试下来,考察的内容其实是各有侧重的,当然也有不少重合的地方,这里简单概括为四个方面。
第一个是项目经验与成果,第二个是方案设计与实施细节,第三个是对业务以及行业的一些思考,第四个是人才的调性以及匹配度。我们逐个来拆解一下。
项目经验与个人成果
首先是项目的经验与成果。这个比较简单,主要看的就是你在过去的几年里做了什么项目,取得了什么成绩,有没有取得一些突破。
不管是技术上的还是业务上的,在取得突破的同时,是否有对外进行沉淀输出。比如说比如说输出一套标准化的解决方案,是否在公司组织以及业界具有一定的影响力。
方案设计与实施细节
第二个是方案设计与实施细节。作为一个P8,对架构能力以及技术视野也是有一定的要求的。
这里同样是针对项目经验进行考察,因为架构本身是为场景服务的,不存在脱离场景的架构。你在项目当中是如何进行选型与决策的?我们的简历里面通常呈现的是一个具体的方案,但面试官他更关心的是你在这个方案背后的思考以及决策的过程。
比如说方案主要关心哪些点,是优先保证上线,还是重点保证后续的可维护性。方案是否闭门造车,有没有跟集团或者业界的方案做对比等。
方案很难做到完美,最后总会存在这样那样的问题。这些问题都是面试官他可能挑战到的。
我们的方案里面存在的问题,其实很多时候是在有限的资源以及理想的设计之间取得的一些权衡。面试官他其实也有丰富的项目经验,一般都能够理解,你只要能够自圆其说就可以了。最重要的是让面试官看到你在具体细节背后的一些深入的思考。
行业以及业务的思考
第三个是行业以及业务的一些思考。到了P8,除了在技术上带头冲锋之外,也需要在业务上有更多深入的思考,体现出业务上的决策力跟影响力。
比如说你当前所处的行业现在是什么情况,是处于上升期呢?还是稳定期?还是已经进入了衰退期?
第二个,团队业务的现状。在行业中处于什么位置?他是领头羊,还是一个挑战者?当前有哪些竞争对手?主要面临哪一些挑战?要如何破局?
也就是说,你要有更多就是业务以及全局的视角。
人才调性与匹配度
最后是人才的调性跟匹配度。简单的说,就是看你是不是岗位所需要的人才,你过往的经验能力跟当前的岗位是否匹配,最后,是否符合阿里的人才观跟价值观。
其中有一个非常重要的一点,也是大家经常忽略的一个点,就是个人的预期跟团队的预期是否匹配。比如说你只是想专心做技术架构,但是岗位想要的其实是一个偏管理的人才,就很有可能会产生预期上的冲突。
这个时候你的落地就会比较困难。哪怕部门最终给你开出来一个比较高的职级,其实也是价值不大的。
面试准备
前面讲了面试的整体流程、面试的题目,以及面试过程中主要考查的一些点。接下来讲一下我在面试之前做了哪一些准备。主要包含三个部分,其实跟大家差不多。
第一个是了解岗位,第二个是准备简历,第三个是准备面试过程中可能问到的一些问题。
首先,了解岗位,主要就是了解这个岗位是做什么的,他对应聘者有什么要求,比如说年限,比如说技术栈,比如说项目经验、部门的大致情况。
第二个准备简历,这个大家基本上都有经验了,主要就是介绍自己的个人专长以及项目经验,同时针对项目专长跟经验进行能力的举证。也就是说,证明你所你说的是真的。
第三个是面试,准备面试的问题。
根据岗位职级的不同,面试的问题跟侧重点也不同。通常来说会围绕技术能力、业务理解、综合能力三个方面进行展开。
接下来我会简单讲一下这三个步骤,以及大概有哪一些注意事项。
了解岗位
首先是了解岗位的职责要求。很多时候我们看岗位的描述就可以了,一般用人单位会发布一个招聘的JD。如果是部门的情况,可以通过社区或者朋友来进行了解。
比如说,我去面试的时候,对应聘的职级有要求的话,需要重点了解什么呢?
主要就是了解一下,对应职级对人才的要求,以及能力模型大概是什么样子的。
这里贴一下阿里巴巴对于P8的能力要求。有两个主要的关键特征点,第一个是领域突破,第二个是业务增值。
怎么理解这两个关键词?
领域突破
首先是领域突破,也就是说你需要在自己所擅长的领域里面,通常是技术,要有所突破。
比如之前在做直播的时候,在技术上通过webassembly+ffmpeg的方式,实现了在web端播放H.265、降低带宽,并支持更多的视频编码。
业务增值
业务增值怎么理解呢?简单的说,你需要通过技术突破、系统化数据体系建设等,给业务带来增量价值。
举个例子,在做1688直播的时候,项目组当时通过数据分析,发现早上开播的商家比较多,但买家比较少,晚上开播的商家较少,但是买家比较多。
开播的商家跟买家的数量明显是冲突的,这个时候就可以调整一些运营策略,引导商家在晚上人流多的时候进行开播,提高业务的DAU以及转化率。
这就是领域突破跟业务增值两点的简单阐释。
能力要求
在岗位特征之外,下面是三点具体的能力要求。比如说业务理解与实现,技术的沉淀与传承,团队的建设与发展等,字比较多,这里就不一一念出来。
归结起来其实主要就是三点。
- 第一个就是具备较强的技术影响力以及业务影响力。
- 第二个对业务有深入的思考,参与业务决策。
- 第三个是参与团队集团的人才建设。
准备简历
接下来讲一下怎么准备简历。
首先最重要的一点,就是要充分展示自己的能力,以及自己能力跟岗位的匹配度。也就是说告诉面试官,你是他们想要的那一个人。
第二个就是要注意能力举证的逻辑,最好是数字说话。比如说介绍首屏性能优化,你必须要告诉面试官说你通过哪一些关键的手段提升了哪一些性能。在过往的面试中经常会遇到,有些候选人,他在简历里面可能写了上千字,说他做了什么事情,但是他最终通过哪一些关键的步骤,取得了什么样的成果,没有体现出来。这对看简历的面试官来说,也是一个比较头大的事情。
最后一点,就是要谨慎挑选你的简历素材。简而言之就是不要给自己挖坑,写进简历里面的每一句话,每一个数字都要经得起面试官的挑战。被问倒的话是其次,千万不要弄虚作假。因为弄虚作假,不管是在哪个企业里面,都是红线,不能触碰。
准备面试问题
最后一个就是准备面试的问题。我自己也做了挺长时间的面试官,也经常面试别人。所以在面试之前,我通常会进行自我模拟面试,主要问自己以下几个问题:
- 如果我是面试官我会问什么问题?
- 如果我是面试官,我希望听到什么样的回答?
- 我的优势、不足在哪里,如何扬长避短?
模拟面试的话,需要对岗位的能力模型、岗位的要求、自我的能力特长 以及 产出有比较清晰的认识。如果没有什么底的话,建议可以找比较有经验的朋友帮自己把把关。也可以借助搜索引擎去网上看一下,需要哪些知识和能力。
面试建议
接下来就是具体的面试过程中的建议。这里是长者说过的一段话,我自己挺喜欢的,跟大家分享一下。
一个人的命运当然要靠自我的奋斗,同时也要考虑到历史的进程。
为什么这么说呢?因为面试本身是一个充满了不确定性的事情。七分看实力,三分看运气。
面试的不确定性
抛开个人的能力,以及面试的临场表现,不确定性它主要体现在哪里呢?
首先是面试官的个人偏好。比如你自己比较擅长vue,面试官它是angular的铁粉,并且是排他性的铁粉,大概率你们两个人是聊不到一块去的。大概在去年底,社区也发生过这么个事情。这种情况虽然比较极端,但的确的存在。
其次就是岗位人才的稀缺性。比如说2010年时,随着iOS以及安卓的流行兴起的终端开发浪潮,以及2015年兴起的人工智能浪潮。在这个时间点里,这两个岗位的人才,他是供不应求的,做这块开发的同学比较容易拿到自己想要的offer以及职级。
最后一个就是面试的时机。比如说现在你去面的这个团队,他只招P6,但是你自己心目中的理想职级是P7,那就是时机不对,跟你个人能力其实并没有太大的关系。
最前面提到了,面试三分靠运气,听上去有点像撞大运的感觉。但事实上,通过自身硬实力的增加,是可以让面试的结果变得更加确定的,这里有几点小建议。
功夫在日常
第一点,就是功夫在日常,提前规划、做好积累。如果你事先已经有了换工作的打算,你可以提前了解一下你要面试的岗位,你所要的职级有哪一些硬性要求,提前做好准备。
因为有一些东西是没办法临时抱佛脚的,比如说团队管理经验。在过去的几年时间里,我一直在做团队管理,还包括一些项目管理的事情。因此在这一方面,我简历里是有东西可以写的,也不怕被面试官问到。
个人品牌建设
第二个,是个人品牌的建设以及影响力的提升。
面试的时间非常有限,通常会在四十五分钟到一个小时之间。坦白的讲,作为一个面试官,他很难在这么短的时间里对你做出非常全面以及准确的判断。因为我做过面试官,我也知道这个。因此你需要花非常多的精力,来证明理你的能力能到能够达到岗位的要求。
个人品牌的建立,以及影响力的建立有什么好处呢?他会让你面试的过程变得顺利很多。比如说过去的这些年,我基本上每一年都会在社区做一些技术分享,同时也会持续更新我的技术博客。通过这一些,面试官在面试之前就可以对你的个人能力有一个基本的判断。加上我本身从大公司里出来的buff,以及阿里朋友推荐的背书,在能力举证这一块可以省掉非常多的力气。
保持平常心
最后的一点,就是面试是一个双向选择的过程。前面堂主在分享的时候其实也提到了,这个过程,很看缘分跟运气,要保持平常心。
面试不通过,有可能是你的能力达不到,也有可能是没有发挥好,需要认真的总结跟反思,制定规划,进一步提高自己。
但反过来,如果面试通过,当然是一件非常值得开心的事情,但你也要怀着感恩的心,感谢这一路过来帮过自己的朋友,包括自己的面试官。能够成为面试官,通常他的能力上都有过人之处。这种1v1将近一个小时的面试,是一个非常好的学习探讨的过程。你能够在这个过程中学到非常多的东西。因此要怀着感恩的心。
能力修炼
接下来,是scott让我加入的一个技术修炼的章节。很多同学都觉得,到了P8之后,基本上就只是做做管理的事情,不做编码了。但事实上不是这样的。
我们先来看一下,到了P8之后,日常工作是做哪些事情呢?其实主要就三个方面,第一个就是技术管理,第二个项目管理,第三个是团队管理。
技术管理
技术管理这一块,因为P8属于集团的技术中坚力量,他负责的技术域跟业务域会越来越大,很多时候其实并没有太多精力参与具体的编码。日常主要做的工作是参与方案的评审,技术架构的设计以及特定领域技术难点的攻坚。
不是说不写代码,而是说要站在更高的视角,深入业务输出合理的方案和设计。简单的说,就是从原先的自己编码,变成带着别人去合理地编码。
项目管理
第二个是项目管理,做好项目管理主要要做好三个事情。
第一个就是目标管控。当前的项目处于什么状况,想要在什么时候达成什么目标。
第二个是资源协调。资源总是稀缺的,不管是人力、时间还是经费。按照既定的目标将资源协调到位,也有可能会根据资源的限制,调整实际的项目目标。
最后一个是过程的管控。确保项目按照既定规划的路线实施,并达到目标,包括进度管理、风险管控以及质量管控等。
团队管理
最后一个是团队管理。前面的讲师也提到了,主要做四个事情。
第一个是带人做事。这一个是最基本的要求,就是带着小伙伴高效、高质量地完成部门、团队安排的工作。
第二个是看方向。比如说最新的技术趋势,以及未来的业务走向等。
第三个是定规划。比如说团队未来半年、一年的技术规划,团队小伙伴的成长规划等。
第四个是团队建设。比如说未来团队的人才梯度划分、培养计划、沟通等工作。
团队管理是一个非常重要的事情,哪怕你现在没有管理者的头衔,因为它是在为业务的未来打基础。
技术修炼
这里就简单的三句话:扎得更深、看得更远、始终编码。
首先是扎得更深。也就是说,你在技术领域要有就是更深、更透彻的理解,而不是片面的随着社区去追星追潮流。
第二个看的更远。你在技术上、业务上必须有更远的视角。你要能够看到技术、业务的远景,做好规划。
第三个是始终编码。现在其实有非常多的技术专家,已经脱离了一线的编码,他已经没办法理解现在越来越复杂的前端研发环境,以及我们的业务变化。阿里内部现在也在推一个亲码活动,所有的P8,甚至P9,每个月都需要提交代码。也就是要保持对代码这块的敏感度。
推荐书籍
接下来推荐一本书,这本书叫做影响力。从职场的角度来看,影响力能够让自己的工作开展、目标达成更加顺利。其实包括求职也是一样的,在前面的分享的各个章节里面,已经反复反复提到了影响力这个词。
影响力的重要性,基本上不用怎么强调了,如何提高自己的影响力呢?包括技术影响力、团队影响力、组织影响力,甚至是业界影响力。在这一本书中你都可以找到你想要的答案。
比如说互惠、承诺与一致、权威、短缺、喜好等,整本书的内容还是是比较通俗易懂的,尤其建议刚刚工作一两年的同学看一下,会有非常大的帮助。
团队简介
接下来是关于 CBU技术部-前端体验团队 的一点简单介绍,我是今年三月份加入的体验技术团队。
整个团队现在有六七十人,在集团内部也有比较大的技术影响力。我们致力于链接商业与设计,给客户提供专业的人机交互解决方案。作为B端的业务,我们通常比较低调,但是我们的技术团队在集团内其实也拥有多个领先的技术产品。比如说像奇美拉搭建系统、JUST研发平台、lighthouse数据分析平台、柯南前端录制反馈平台等。
我们的团队技术栈以react、nodejs为主,此外,在serverless、webide、跨端、工程化、智能化、搭建等领域,都有比较多的工程实践与沉淀。
下面是团队今年的重点技术方向,主要有下面几个,下面伐总会对这一块做进一步的阐释,这里就简单提一下。
加入我们
晒一下我们团队的照片,这也是我加入CBU体验技术团队的一个非常重要的原因。最右边的就是我们腿长一米八的美女主持人,霸天小姐姐,她也是我们团队的,现在就坐在我的隔壁,我们每天都有面对面交流的机会。
大家不用太羡慕,只要加入我们团队,你也可以获得同样的机会。这里的话是几个二维码,最右边的二维码是我们的团队跟岗位的介绍,大家感兴趣的话可以了解一下。
最左边是刚刚建的阿里巴巴CBU的技术交流群,大家可以用钉钉扫码加入。我们已经把我们团队的技术专家、高级技术专家都拉了进去,大家有什么技术问题,有什么困惑都可以扫码进去交流。
最后,中间是我自己的个人二维码,现在我们团队招聘大量的P6跟P7,简称海量HC,欢迎加我微信,然后一起交流。加之前最好把自己的博客跟github的地址附录一下 :-)
Q&A
谢谢大家。就是今天的分享主要就到这里。然后大家看一下大家有什么问题。
Q:好,小卡。接下来进入提问环节,请问从公司层面来看,腾讯与阿里哪一个更适合上升期的前端工程师发展。
A:这一点的话其实比较难回答,就是片面的比如说究竟是腾讯适合,还是阿里适合。刚好前阵子我跟阿里、腾讯、拼多多的几位专家还有大佬一起面基,然后我们也探讨过同样的问题,该去什么样的公司或团队,是技术好的,还是说钱多的。
其实答案都不对,重要的是加入成长性比较强的团队。比如说,我们部门做的是B侧的电商,然后风口上的1688电商直播,这个就是属于公司、部门今年重点布局与规划的业务,属于成长性,爆发性比较强的业务。
我们在看应该加入哪个公司、团队的时候,主要看的是这个部门、业务它的成长性,而不是说是阿里巴巴或者说腾讯哪个更适合。不管是腾讯还是阿里巴巴,在众多的领域都有它的布局和规划,也有很多具备成长性的一些业务,大家如果经常在社区逛,其实都会看到。
也就是说,主要看的是业务的成长性以及行业的成长性,公司倒是其次,基本上在大公司你都可以找到一些成长性强的业务和团队。
比如说我们团队,欢迎扫码加入CBU技术交流群,然后一起来探讨这个问题。
Q:好的,打下卡。第二个问题,大场对候选人的要求,或者说候选人面试准备,阅读源码是否是重要的一项。
A:怎么说呢?对于有源码阅读经验的同学,其实我们是非常欢迎的,比如说读过react源码、vue的源码、webpack源码等,我们基本可以判断,就是这个小伙伴他对这一块的技术有比较浓厚的兴趣,以及比较深入的钻研。
可能在不同的阶段,对人才的要求不是特别一样。举个例子,比如说在14年,我当时去面阿里的时候,当时我主要讲的是我在工程化以及模块化的一些积累。当时我的面试官石破当场问了我这个问题,就是有没有看过某某某的源码这一块。
为什么呢?因为对于P6的同学来说,他更重要的是执行、对方案研究的深入程度,以及标准化方案的输出。如果你阅读过源码,说明你对这块有比较深入的研究。对于比如说像P7、P8的话,可能对于你的比如说团队管理能力,你的技术视野等会有更高的要求。
不同的阶段它的要求不一样。但如果你读过源码这一块,我们都是非常欢迎的。
Q:好的,好,还有第三个问题请教小凯,你在前端中是否有遇到过瓶颈期,然后你是怎么突破的呢?
A:怎么说呢,就瓶颈期,我分享一下当时我在创业时候的一些经历跟历程。我是在15年跟着朋友一起出去创业,然后当时做的是期权做市交易系统。整一个团队其实做的是金融类的业务,并且是以后台技术为主导的。我当时作为一个前端,其实就孤零零的带着可能两三个前端同学,然后就比较孤独。第二个就是技术上,其实在前端那块要求并不是特别的高,也没有太太多人跟我一起交流。
我在创业公司一共待了三年,如果按照当时的那个现状下去的话,可能我就废了,也不可能说今年来到阿里拿到P8。我当时是怎么做的呢?第一个就是始终要关注业界的动态,知道当时最流行的技术趋势是什么,我们的业务可能会需要什么。比如说,我之前提到的Notejs学习笔记,那一本书就是在创业的那个期间写出来的。
当时创业其实是非常累、非常辛苦的,可能创过业的同学都知道,我当时写这本书的时候,基本上都是在晚上,可能十一二点下了班,回家之后,然后在那里翻源码,看博客,自己总结输出。
第二个的话,就是当时团队的重心是在后台的金融交易系统,前端的东西比较薄。这个时候,其实就是按照像阿里对人才的要求一样,不要给自己设限,大胆突破自己的边界。
比如说像当时,我的本职工作是前端,但我还做了非常多的事情,比如说像项目管理、团队管理的事情。在技术上当时就是在node的那一块做的相对比较深,我们金融系统里面的一块,我把它用notejs 接过来。
团队需要我做什么,我基本就去学什么。比如说当时做的最杂的时候,前端、php、notej s,甚至最后连C++、iOS都会去接触。
遇到瓶颈的时候,可能就是问自己,第一,我想要往哪一方面去发展。第二,当前业务团队部门、甚至集团需要你去做什么。
思考这两个问题之后,基本上你就会得到你想要的答案。
作者:程序猿小卡
链接:https://juejin.im/post/5ed9a606518825433139fb9c
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。