令人难忘的腾讯 WXG 七面面经
前言
年前通过内推途径投了微信支付部门的岗位,前前后后经历了七轮面试,历时三个月之久。
前几天终于拿到口头 Offer,然而我却放弃了,不知道多年以后,是否会后悔做出这样的决定。
更新:后面我在各种安利之下,经过又一次的头脑风暴,还是选择接受了 Offer。
面经
内推
在 V2EX 上看到腾讯员工的内推帖,通过帖子的链接投了几个岗位,其中一个是机器学习平台的研发,一个是微信支付的高级 PHP 开发,还有几个不记得了。
微信支付的反馈比较快,很快就邮件通知我「已经通过 HR 和面试官的初步筛选」,让等待后续面试安排。
一面电话面
内推后一个星期左右,我收到了腾讯面试官的电话,约周三晚上面试。
面试内容不多,自我介绍之后问了下项目,接着问了两个前端相关的问题。一个是 Event Loop,一个是 Macro Task 和 Micro Task 的认识。
我对前端没有系统地学习过,所以两个问题没怎么答上来。后面回来补了下知识,恍然大悟!
PS:面试官也说了,这两个问题答不上来也没事。
HR 沟通岗位
一面过后就一直没有动静了,大概是两周后的一个下午,接到了腾讯 HR 的电话,和我沟通岗位信息。
当我告知已经经历过一轮面试之后,她是比较懵的,说是会去核实情况。然后就没有然后了,一直到过年放假都没有再通知。
二面电话面
阿里最后面试结束之后,大概第三天左右,我收到了来自腾讯的面试电话。
一开始我是拒绝的,我表明了已经快入职新公司,按照腾讯的流程应该很难在入职前定下来。
面试官的意思是,腾讯不介意候选人已经入职,而且表示试用期辞职其实不影响,没有必要愧疚或者不安。在一顿安利之下,我选择了继续面试,想看看传说中难度极高的 WXG 面试流程。
根据个人面试情况来看,腾讯的面试比较务实,没有太多的花里胡哨,基本是围绕简历上的项目聊。后面聊到我接触 PHP 开发也有 5 年之久了,就聊到 PHP 开发过程中比较影响效率的地方,以及一些不安全的操作和预防手段。
面试过程中,感觉对方是一个思维缜密的程序员,而且擅长总结,也希望我在描述项目时,能通过一些话术把内容精练地表达出来。
通过这次面试,我还是有不少收获的,起码把过往项目复盘了一次。快结束时,面试官告诉我后面起码还有四五轮面试,让我耐心面着。
腾讯会议三面(面委一面)
面试 WXG 部门的岗位,基本都要经历两到三轮的面委面试。面委全称是面试委员会,由 WXG 的各个大佬组成,大佬们的面试风格各异,感觉也难总结出套路。正因为有面委的存在,所以 WXG 的面试通过率一般是很低很低的。
在福州准备搬家的那几天,另一个腾讯 HR 联系了我,约面委面试时间。因为我时间也比较着急,所以请 HR 把面试安排在明后天,准备直接接受面试轰炸。
第一面通过腾讯会议进行,因为我和面试官都比较早登陆了软件,所以面试提前了半个小时开始。面试官上来让我自我介绍,然而我还没背完简历就被打断了,示意我挑简历上技术相关的点着重介绍。
看得出来是个练家子,所以我就挑技术重点快速把简历 BB 完了。然后面试官好像很为难,感觉好像没有很多交叉领域,一时不知道问我啥比较好。
所以特别基础的内容就直接略过了,问了几个架构设计相关的问题,比如怎么设计一个秒杀系统、Redis 的分布式部署。
秒杀系统基本都是有相当标准的解决方案,从用户端到服务端,把相关的点都提到基本就 OK。至于 Redis 的分布式部署,我一开始讲的是分片存储机制,面试官认为这不是分布式,直接就很犀利地指出来。
当然,我也不能就这样怂了,我就表示要看怎么样去定义「分布式」,如果按照严格的定义,那一般得提主从机制。然后面试官没有争论,估计是得到了他想要的答案。
至于算法题,有一定的难度。其中一道题的大意是,在一个像素矩阵中有一条封闭曲线,给出一个点的坐标,怎么判断该点在曲线内。另外一道是在一棵二叉树中找三个数的最小公共祖先,尽量只用一次遍历实现。
我也没有算法题的标准答案,感兴趣的自己实现吧。
电话四面(面委二面)
面委二面是电话面,我从声音判断,感觉面试官相对年轻。
本来他想面 C/C++ 相关的,但是考虑到我面的岗位不是 C/C++ 相关,所以就没问这方面的内容。于是就让我从过往项目中,挑一个认为最「值得」的项目进行介绍。
于是我挑了一个时间跨度最长的「奶油葡萄」项目,从建站到现在一点点介绍我的付出和收获。讲完之后,面试官对我这个项目的必要性、完整性,以及项目带来的个人技术成长都比较肯定。
我在阐述过程中,面试官一边欢快地敲着键盘做面试记录,同时给我写评语之类。总体来说,面试体验还算是不错。
微信五面
这次与其说是面试,不如说更像笔试。
面试官(也是岗位的直接组长)和我加了微信好友,然后出了一道题:用 PHP 语言实现 N 的阶乘。题目和我的答案在之前的博文中有提到,这里就不啰嗦了。
面试官给人的感觉比较随和,也会给我的答卷提出修改建议,比如加上一些图表数据,可以直观地表示出各种方式的优劣。
在面试结束之后,也偶尔和我聊人生、聊工作方向以及 FaaS 的前景,可惜缘份不够。
腾讯会议六面
这次是老板面,从老板说话的语气来看,我觉得也是比较 NICE 的人物。
第一次约面,才知道老板想听我介绍项目,而且是需要用 PPT 介绍,然后老板就让我回去准备好再面。
下来之后,我把之前做的一个项目重新梳理了一遍,套用了网上买的一个模板,做了一个简洁版的 PPT。又在五面面试官的建议下,润色了部分文字表达。
第二次面的时候,开了屏幕共享,算是比较顺利地介绍完项目。之后老板只是问了个职业规划的问题,便结束了。
HR 面
老板面完的第二天,我就接收到了 HR 面的通知邮件。
HR 面主要是综合面,考察个人的综合素质能力。不过讲道理,其实真考察不出来什么。
那天我有提到下周一就得入职了,希望能尽快给结果。HR 表示会尽快走流程,我也是抱着这样的希望的。
面试后续
面完后第一天没有任何消息,倒是组长一直在问我情况。
第二天早上,我觉得不能再拖了,所以就问了 HR 情况,然后得知面试通过,并且会在当天发邮件。
本来以为是 Offer 邮件,一直满怀期待地等待着。然而,我一直等到下午也没有收到任何邮件,所以我又追问了几次。
快下班时间,我才收到索要薪资证明的邮件。我填完一个个表之后,HR 似乎已经下班了,就问我能否延期入职,争取周一沟通 Offer 方案。在我表示无法延期之后,HR 没有再回复我,于是我也不知道发生了什么,就这样干等着。
因为创业期间薪水发放比较异常,我让之前的同事帮开了证明,然后以此为契机再次向 HR「催单」。由于经常没有得到回复,我对此开始「心灰意冷」,基本决定放弃了。
某天晚上,在一边看美食节目一边吃面的时候,我收到了来自 HR 的口头 Offer 电话。然后,我陷入了纠结。两天之后,我通过微信拒绝了 Offer。和以往一样,HR 这次依然没有给我回复,就好像我从来没有拒绝过 Offer 一样。
如果有如果
拒绝 Offer 那天,我发了个朋友圈,记录了这次的骚操作,朋友说我疯了。
理性地思考,我确实可能是疯了,才会做这样的决定,放弃了名厂光环、可观的年入以及聊得来的直接领导。
选择向来有得有失,那么我得到了什么呢?我也不知道,我好像一无所有。