以下为室友撰写,他之前都是用我的号逛论坛,特此写一篇挂经,回馈地里。
两个小时前 才收到 HR 发的拒信,距离onsite 一个星期。原本以为过的概率还是蛮大的,结果还是没能上岸。
timeline:
10月中旬,hr面
10月24日,电面
11月12日, onsite
11月20日, 收到拒信
下面分别具体讲一下自己的经历:
Hr面: 和地里说的一样,就是20道coding基础知识,20道SQL基础知识。问答形式,只要回他一个数字,或者true or False。我之前完全没有预料到,但是题目确实很简单,所以正常过了。 题目,问的就是怎么用loop,SQL里面的null 怎么处理,什么时候用like 这种。具体题目记不清,但不是这种general的问题,都是一个简单例子涉及这些方面。
电面: 一个中国小哥,人很nice,我刚开始的时候还很紧张,听得不是很清楚。 一个小时的SQL + 算法。题目和地里的面经题重复率很高,SQL,就是几个销售记录的table,因为看过地里面经,所以看到这个题目上手很快。如果第一次看到,可能时间上花得长一点。唯一卡在了SQL 最后一题上,在小哥的提醒下 用 having + max解决了。(小哥真的超级nice,一步一步得提醒)
算法部分也很简单,和地里面经差不多,valid IP,list of friends,valid parenthesis。所以因为做出的题目数量不少,所以第二天收到了onsite的邀请。
昂赛准备:楼主因为学校的project 和 之间有一个别的面试,一直拖到了12号才去。之前也是请教了脸家的学长,加上HR的介绍,清楚了面试的大概内容。这点和传统的SDE不太一样,更多的是case interview,里面有一些 product sense,和 data modeling。我准备的时候是看了 一点 data warehouse的书和视频。重点准备了SQL,算法都是easy难度,所以问题不大。 Product sense我也不知道怎么准备,就把HR给的关于公司的材料看了看,找了个学长mock一下。
昂赛当天:
第一轮是behavior,印度小姐姐。自己刚进去就面behavior,感觉很紧张,一些情形说得不清楚,小姐姐问了我好几处,让我clarify。 感觉这一轮是面得最不好的,之前准备都是把这些问题的答案放在心里过一遍,和跟别人说清楚确实不太一样。然后自己resume里面有一两段经历准备得不是很充分,碰巧又被她拿出来一直问 (比如她问我一段big data project经历里面有什么和队友不合的事情, 我之前准备这个问题的时候是用另一段经历来回答,这一段就没有准备到)。还有最后一个问题,是对FB的产品有什么建议,哪些觉得可以改进的。这个我之前完全没有准备,犹豫了一会,她说时间也到了,就这样吧
第二轮是project sense,一个中年白人大叔,一开始问一些data visualization的东西,然后让我找一个评价steps in funnel里面的metric,他期待的答案是conversion time,我愣是没说上这个,然后他就直接告诉我了,然后基于这个metric,让我写了一些SQL和Python (Python是用来把stream改成real time的)。 后面倒是写得很顺利,唯一不足的可能就是变量定义得不是很清楚。我用string.split 变成一个list,然后后面直接用 list[0], list[1], list[2], list[3] 他检查我code的时候,在这种变量分别代表什么的时候有点晕,跟他解释了才清楚。
中间休息,我的HR来问问我情况,我说behavior面的不好,她一直安慰我,说后面面得好就行了,也给了我一些有用的面试经验。然后一个白人小哥带我去吃午饭,他很厉害,是个team的manager了,和我聊了很多FB文化,职业发展的东西,我也问了一些他们正在做的项目。这个部分不算分,所以就随便聊聊了。
第三轮是 SQL 和 算法, 一个印度小姐姐。大概就是给一些背景材料,让估计Daily active user的各个方面,比如哪些是连续用户,哪些是返回用户,哪些假设已经churn 了,然后用SQL 来计算每天的这些数据。她一步步带着我写,虽然最后的SQL还挺复杂的,但是她一步步带着我,循序渐进,所以也并不难。最后也是把这些东西用Python来写一下,处理一些dictionary, nested list, 几个嵌套循环就出来了。感觉她也很满意
第四轮是 data modeling, 一个白人小哥。我感觉我就是刚来的时候很紧张,然后之后越来越好,最后一轮的时候已经完全放松了。这一轮让设计一个类似于Uber的 FB ride。 主要是设计后台数据库的schema,我用的是star schema,一个大的fact table连一些具体的dimentional table。感觉非常顺利,小哥人也很nice。然后基于这个设计,写了一些SQL,也是他带着我循序渐进,写得也非常顺利,沟通也很好。最后写出来的SQL还挺复杂的,用了不少 电面考到的 having + aggregation function的 方法。自己中间稍微有几个typo,小哥一指出我就发现了。最后还有一点时间,用来问他几个问他,以及我之前一个关于推荐系统的project(因为小哥就是推荐系统组的)。 最后walk out。
总体感觉technical部分挺简单的,SQL熟练了就行了。 product sense还是要多看,对于new grad这部分也不太好准备。面完感觉整体应该过的概率比较大,主要担心就在behavior上 (因为听说FB的DE还是很重视 communication的),product sense也就conversion time没有答出来,别的也还好,后两轮感觉很不错。结果没想打今天还是受到了拒信。可能面得简单,所以大家表现得都不错吧。正在向 HR 要feedback中。 楼主12月就毕业了,感觉现在非常慌,还没有一份offer。祝各位一切顺利,早日上岸吧