11/27: Meta的HR在Linkedin上找到我,因为我下周休假,约到了12/7打电话。\n\n\n12/7: Recruiter call。没有问任何面试题,只是介绍了一下职位,面试流程,以及了解一下想跳槽来Meta的原因。当天就约了店面。因为接近holiday,约到了今年的1/5.\n\n\n1/5: 店面。面试官是个L4中国小姐姐,面的都是原题,但不推荐完全按照面经回答。SQL是经典题video call,问法也都一样,所以过得很快,最后因为我用union把caller和receiver搞到一起,她问了我union和union all的区别,总的来说比较简单。case面的是group video call,也是先问了用SQL table里面的哪些data来看market size,这部分可以照着面经回答:看每个人每天打电话的数量,画频率分布图,取80-90%。之后问engagement metric,比较详细让我定义了active user 和 time spent,然后是ab testing,最后是tradeoff。具体问题不太记得了,但一定要随机应变,别死记硬背。\n. 1point 3 acres\n1/8: 转过来的周一收到VO邀请,约到了今年的1/24,一天完成。\n\n1/24: VO 四个部分 面的内容跟recruiter描述的有出入。尤其是SQL部分,小心点!!!下面我按顺序来说 -\nAnalytical Execution:一个中国大姐姐,说好的面统计。统计部分很简单,没有conditional probability,没有ab testing,也没有骰子小球扑克牌算概率。倒是考察了几种简单的分布,他们对于data的假设,期望和方差公式,然后又加了一个经典广告题(90% high intent,10% low intent,期望是0.3什么的)最后让画了exponential distribution以及样本足够大时的极限。这个部分最多用了25分钟吧。后面那部分我就不太理解了...问了一个如果把广告都给high intent user,会有什么pros and cons,姐姐很“贴心”的说这部分跟统计一点关系都没有哦,就是个product sense。我开始有点懵,没想到统计这轮还有case,不过还是根据自己理解说了一些,面试官马上给我总结了一下写到了白板上。其实她总结的都是很high level的东西,所以可能只是想看看我往哪个方向去考虑吧。 ..\nAnalytical Reasoning:一个L6 ABC小哥,面的餐厅推荐。先问了我如何定义他的business goal,如何定义engagement metrics。有了一面的教训,我把DAU和time spent说的很详细。然后直接开始建模?!我特意问了他是只想让我描述一下我会考虑哪些feature,还是让我用ML建模,他说我两个都想要,但我偏重后者。果然我说的什么behavioral data,demographic data,friends activity之类的他秒过,但重点问了用什么模型(我用的logistic regression),为什么用这个模型,以及准确性。我开始以为还是说说大方向,就说了可以ab test或者给用户发survey,他说如果这俩都不行呢,我说dogfood找一百个内部员工试一试,他说我直接这么问吧,你怎么确定一个logistic regression准不准确,你要看什么accuracy metrics?我恍然大悟,说要用precision因为我们希望用户看到所有的推荐都是准确的,他马上让我复述了一下precision和recall的公式,还问了为什么不用recall和accuracy。这些东西虽说都不难,但一个product case花了好多时间问ML和统计的东西,着实又让我没想到。这还没完,后面AB testing一半时间问了clustered random sampling到底该怎么选用户(能说出用clustered,减少network effect,根据不同市场选sample这些都不够)最后一半回归正题,问了个tradeoff,大概35分钟就结束了。\nSQL:如果你不想像我和我的朋友们一样被坑,请留意这个part。L5中国小姐姐上来问我之前面了啥,我说了,她说困难的部分已经过去了,下面是简单的部分。SQL也是原题,但不是很常见,叫shop visibility,地里有分享过的。前三题第一个是group by having order by,第二个好像有case和join,第三个有window function,都很简单。结果第四题让自己define metric,是说over time新老用户哪个更活跃。我开始还是想简单了,说了visible day/duration,她说你咋比较两个group,我说得看这个change是突然的还是连续的,她说你先说说你想怎么test吧,我说那ab呗,自己定一个threshold,选一组新用户一组老用户,她说不行,咱们这个是gradual change(?),我说那我画个trend,看看同一组用户在还是新用户的时候和变成老用户的时候活跃度是不是显著下降,她说我们没这么多data(table搁那摆着呢咋就没有了...)我再说那看看每个月比较活跃的用户里面新老用户的占比,她说好你写吧,我刚写了个month的range,她又说算了,我们就看今天的data吧(?),我说只看这一个snapshot怎么能知道新老用户哪个更活跃啊,她说你把用户按照duration分组,然后算每个组的活跃度。那个时候已经30多分钟了,我其实觉得她这个metric根本就不对,只是为了让在规定时间内写出来,而强行simplify这个metric。我最后还是在35分钟的时候写完了,但当时脑子一片空白,对这一轮面试体验贼差,哪怕小姐姐全程都很和蔼,看着也不是那种要挂人的样子。早知道这么struggle,开始的时候何必说这是简单的部分呢。\nBQ:这轮才真的是“简单的部分”。一个中国小哥哥,感觉是从题库里抽了几道题,然后更多是为了听清楚我的答案以及里面有没有他想要的点。我之前准备了十几道BQ的题目,完全没问,简历相关也完全没问,why meta/why 跳槽也完全没问。20分钟就结束了,我又问了他十几分钟问题,还是提前不少结束了。真心奉劝大家少准备BQ,真的没用。\n\n1/31: 通知过了,下一步team match。我五年多经验只给了IC4。地里如果有熟悉这个过程的朋友,或者有什么team推荐,可以私信我~谢谢!