Meta E4 面试你将会面对什么?
买它到底面啥?流程几轮?哪些地方容易挂?需要准备什么?要写代码?要系统设计?要讲故事?HR 到底在意啥?奋笔血书 6 小时写出来的全流程经验总结,从 Intro Call 一直到 VO 的每一轮 Coding、System Design、BQ 行为问题,全都拆开说。
买它到底面啥?流程几轮?哪些地方容易挂?需要准备什么?要写代码?要系统设计?要讲故事?HR 到底在意啥?奋笔血书 6 小时写出来的全流程经验总结,从 Intro Call 一直到 VO 的每一轮 Coding、System Design、BQ 行为问题,全都拆开说。
Jim
Meta 软件工程师, 设计和开发基于服务器端技术 Phd candidate of UC Berkely
Yuxuan
AMD 全栈工程师, 开发和维护AMD 产品的前端和后端系统 M.S of UTexas, AustinLiu
Tesla 数据分析师, 收集分析和解释车辆及驾驶数据 M.S of University of Southern California官方微信
官方淘宝店铺
HR 一般会先 go through 你的简历,重点是确认一下你的工作经验,像我之前就被问到过在巨硬(Microsoft)的时候是 L60 还是 L61,这个问题他们就是在判断你该走 E4 还是 E5 的流程。
如果是小厂或者 startup,他们还会追问一下你在原来组里是干什么的,比如“你们组有多少人?”、“几个 senior,几个 junior?” 他们问这些就是在判断你的经历是不是“编”的。比如说你写了在 startup 干了两年 infra,但你连自己组有多少人都说不清楚、也讲不出你负责的模块,这个时候 intro call 的目的也就体现出来了。
但也有那种特别简单的 recruiter,上来就假关心一下给你吹一波彩虹屁的说什么在茫茫简历中找到了你,觉得你的背景很好很适合某某岗位的也有,然后让你简单介绍一下自己,接着就会问你什么时候能入职,有没有 timeline,然后就开始介绍面试流程了。
"噢对!在 intro call 的时候一定要和 HR 确认自己的身份,我了解到的情况是 OPT extension 小于 24 个月的他们是不招人的。所以一定要给 HR 说清楚自己的身份,避免 VO 走完拿不到 offer"
E4 的流程就是:
一轮 coding 的 phone screen,过了之后就会安排 virtual onsite,两轮 coding、一轮 sd、一轮 bq,可以分两天面完。如果遇到 Meta 内部培训 interviewer 这种会遇到加面或者一轮两个 interviewer 的情况,另外一个会全程 shadow 不会说话,不会影响评分。
整个 intro call 就 15-30 分钟吧,结束之后你就可以发邮件给 HR 确认时间,安排第一轮店面。
店面这一轮才是真正意义上的第一关,不夸张地说,超过一半的人都会 G 在这轮。
这一轮的意义是什么?对于公司来说,程序员你写代码在这轮都搞不定,那后面的 vo 就没必要安排了。 换言之如果你这轮过了,他们就是认为你有超过 50% 的可能通过 vo 并拿到 offer 的。
两道算法,不考 DP,45 分钟用 CoderPad 其他的大家都了解。
需要注意的是 Meta 是不要求跑代码的,所以你的 dry run 很重要,这点和其他公司不一样。他们给你的题里面有 test case,这时候你就得:
肯定第一点代码要跑得通,你如果写个半成品、dry run 讲得含糊逻辑都没跑通,那肯定 1 年冷静期给到你了。一看原题,低头一顿操作输出,写完往后一靠,是绝对不行的。讲清楚 + 写清楚,远比“写得快”重要。
这两轮其实和店面一样。之前店面怎么面,这里还是怎么面。题型差不多,难度差不多,环境也是 CoderPad。有些我在上面没说到地方结合下面的一起看。
不要等着面试官提醒你说:“Can you talk about time complexity?” 你得 主动讲。真的,不讲就减分。
这一轮是很多人最虚的一轮。尤其是面 E4 的时候,很多人其实工作中根本没真正做过什么系统设计,顶多参与过别人的设计讨论,但现在突然要你一个人从零设计一个系统,说实话,不紧张是不可能的。
谁tm会让一个 E4,E5 去做真实的系统设计?但是他要考,你怎么办?
准备建议:一定要看 Hello Interview
这一点我必须单独拎出来讲:System Design 的准备一定要看 Hello Interview。
你可以把它当成你的标准回答套路,一个系统就是:
一上来就开始画图,没 clarify requirements
面试官还没来得及把功能讲完,你已经在那画 load balancer 了。
对面都不知道你在设计什么,你就在图上加 cache,加 Redis,加 sharding,场面真的非常尬。
开口第一句话不是“我来画一个架构图”,而应该是:
“Before we jump into design, let me clarify the core use cases and constraints…”
只讲 CRUD,不讲 scale 你说你要做个 Facebook Post Search 系统,结果从头到尾讲的都是:
那请问:有 100M 个request来的时候怎么办?搜索怎么做索引?DB 会不会爆?
这些你一句都不提,面试官真的会怀疑你是不是以为这是在做个人 side project。
System Design是做大规模系统的,不讲 scale = 没在想实际工程问题。
讲得全是 buzzword你说你要加 Kafka,加 Redis,加 CDN,加 Rate Limiter,加 shard。
但你从来没说清楚:
面试官一听你全堆这些词,就知道你不是在设计,是在堆概念。
他们脑子里的画面大概就是: “哦,这哥们是在背模板。”
没讲 Scale,像是在做 side project
这一点必须强调一遍:你不是在面试做 demo 项目,也不是给自己博客搭服务。 你不讲 scale,人家会觉得你没有意识到自己面的是大厂。E4 也不是实习生,这种工程常识必须表现出来。
行为问题从来不是走过场,这一轮在 VO 重要性比 SD 还要大。
Positive 的按照 STAR 回答,Negative 按照 START 回答,一定准备 3 个故事以上。地里一篇 BQ 精华一定要看:link
以下是 Meta 常见的 BQ,我可以说一轮 BQ 里面百分百你会被问到至少 3 个问题来自这个里面。45 分钟也只够问你 3-4 个问题还有 follow-up,另外一个也可以套故事。
Follow-up question 会按照你的故事来开展,主要目的是验证你的真实性,就是说你到底做没做过这个项目。
需要专门练 BQ,或者整套 VO Mock Interview 的,欢迎联系我,按 Meta 标准给你反馈。