我的四次facebook面试经历FB2019DSSummerIntern首轮电面新鲜面经

我在FB工作了近三年。在此期间,我学到了很多东西并且成长很快。一切似乎都在有序进行。但是回想起来,加入FB的过程是一个曲折。查看邮件记录,我总共遇到了四次FB:在前两次面试之后我被拒绝了,第三次获得要约,但我拒绝了。直到我第四次同意加入。

第一次面试 当研究生刚毕业时,社交网络正在正常化。对于诸如FB和Twitter之类的更受欢迎的公司,他们将收到很多简历,因此对于New Grad,申请门槛要高得多。我也尝试在线申请,但所有人都陷入了困境。

在线节目测试平台Interviewstreet(该网站现已更名为HackerRank),仅得到了采访。当时,Interviewstreet上的问题库很小,但非常困难。只要完成8个问题,网站上的公司应用程序功能就可以解锁。当时,我只是认为做上面的问题很有趣,所以我一直在研究。我也要感谢一位资深人士给我很多有关解决问题的指导,以便我可以快速理解各种算法的真正含义。完成8个棘手的问题后,我只是单击了网站上的一些知名公司,包括FB,然后提交了申请。我不认为会出现以下情况,而只是继续做上述问题以尝试提高排名。

在去西雅图采访亚马逊的途中,我收到了Interviewstreet给FB招聘人员的推荐电子邮件。这让我感到非常惊讶,立即表达了我的浓厚兴趣,然后顺利地安排了电话采访。电话里有两个问题。第一个问题很快就解决了,但是二分查找的第二个变种被困在条件检查中。最后,最终答案通过电子邮件发送。在电子邮件中,我还发布了指向博客的链接,在其中写了二分法以表示我了解算法。幸运的是,面试官给了我一个现场的机会。

由于当时我正忙于毕业,并带着家人去美国玩,所以采访定于一个月后进行。因此,我无法为面试做充分的准备。



采访前一周,我再次乘飞机飞往西雅图。由于上一次面试的表现可能不是很好,所以他们改了另一组。周三飞行,周五飞回,毕业周末与朋友见面,周一前往SFO,周二面试。由于锡拉丘兹(Syracuse)没有直接飞往两个城市,飞机花了很长时间,而且体力消耗很大。现在考虑一下您应该从西雅图直接飞往三藩的事实,这样您就不需要在东西方之间来回走动了。

现场面试问题是相对基本的。关于二叉树存在一个问题。当我第一次去亚马逊时,有人问我完全一样。尽管我研究了解决方案的想法,但是这次我没有给出最佳的解决方案。它只是“挂在树上”。其中之一是行为面试,因为我以前对Facebook不太了解,我用得很好,刚毕业的时候我也不了解,而且英语也不会流利。面试官。请记住,最深层的问题是“您想更换Facebook什么?”从那时起,我一直在思考这个问题。

第一次采访已经结束,但是我也觉得在2012年加入Facebook并不是很困难。那时,他们刚刚公开上市并获得了巨额资金,因此他们会疯狂扩张。实际上,这是加入的最佳时机。不幸的是,我没有抓住。

第二次面 我在2013年7月试用了它。我在第一家公司工作了一年,感觉很舒服。我还遇到了一些人来帮助我推荐它,因此我又接受了Facebook的采访。而且由于我已经在海湾地区,所以电气接口也可以现场形式直接安排,但是只有一轮算法。

实际上,当时提出的问题并不困难,但是有点棘手。只要这个想法得以实现,就可以对其进行简单地分类然后计数。但是我一直陷于困境,想知道应该满足什么条件,所以我无法完成。最后,面试官告诉我解决方案的要点。听到此消息后,我突然意识到,但为时已晚。那时,最好提出更多问题以获取提示。

第三次面试 Facebook的过程特别引人注目。 2014年底,距离我第一次在Twitter上加入Android小组仅六个月。 Facebook招聘人员主动与我联系以提供机会。我想尝试一下。第一次安排电话会议后,由于某些个人原因,我无法参加会议,因此我要求将其推迟到半个月后,他们非常乐意帮助我安排中午12点的面试时间。

然后,那天我安排了请假去电话采访,还告诉我妻子那天我有空。结果,我的妻子在中间预约了牙医咨询。那天我似乎还是想去家里看牙齿,而牙科访问是在中午。所以那天我去看牙齿,完全忘了采访。直到我躺在牙医的躺椅上时,我才隐约想起我还有其他东西待在家里,突然我从椅子上站起来,向医生告别开车回家。更不幸的是我的手机没有关闭电源,所以在路上我无法接到面试官打来的电话来解释原因。

当我到家充电并打开电话时,采访时间已经超过15分钟。我打电话给招聘人员,并要求面试官再次给我打电话。面试官也非常友好。我打电话后不久,我们正式开始了面试过程。因为时间的关系,我记得我没有打开计算机来做问题。我只是简单介绍了我的技术背景。我为什么要加入Facebook?面试问题只是谈到了这些想法。采访随后按时完成。

尽管这次电话面看起来不合理且不合格,但我仍然有机会上门服务。一个月后,我开车去了Facebook总部,进行了四轮采访,两轮编码,一轮系统设计和一轮行为。除了一轮编码外,其他基础知识都在与我的水平相对应的水平上发挥。

那轮编码是二进制搜索的一种变体。面试官回答完问题后,我首先给出了一个线性解决方案,即时间复杂度O(n)和空间复杂度O(1)。不久,面试官问是否可以对其进行优化。我认为空间已经达到极限。它只能及时优化,但不可能达到O(1)。它只能是O(log n)。在此时间级别,只能使用两个点,而问题恰好是一个数组。总体思路是正确的,但是我在条件判断方面遇到了麻烦,未能理清逻辑,最后未能完成代码。

一周后,招募人员打电话通知结果,还反映这轮编码还不够好,希望再增加一轮。由于11月底和12月的假期更多,该轮采访定于2015年1月上旬。尽管只有一轮面,但也有现场。面试官在经理的位置。研究的重点显然在于编写代码的能力。因此,为了简单明了,我问了所有三个问题,并且我也轻松完成了这三个问题的代码。

不到一周后,招聘人员发送了一封电子邮件,确认录取通知书。仅仅是我从Twitter的Android核心小组中学到了很多东西,并想继续在Android上学习。 Facebook提供的立场仅仅是,通用工程师会对产品偏见,所以我道歉,不接受该提议。

此后的每个月,招聘人员都会发送一封电子邮件,询问我的情况和意图。我们一直保持沟通。甚至在另一方离开Facebook加入另一家科技公司之后,我们也一起吃了晚饭。当然,他们想招募我。在那之后,我的案件被转移到Facebook上的另一名招聘人员,而且我仍然不时发送电子邮件来关心我的情况。

第四次面试 Twitter于2015年底解雇了员工。尽管我没有丢掉工作,但那次事件的任务进行得并不顺利,而且我担心还会再裁员,所以我开始寻找新的机会。与Facebook招聘人员联系后,他们说以前的报价仍然有效,只需要重新确定入职时间即可。但我表示希望能担任Android工程师。由于这是Facebook的不同方向,并且面试过程不同,因此他们帮助我转到了Android招聘人员,因此我需要重新面试。只是因为我通过了编码部分,所以没有电。现场只有两轮,一轮用于Android Design,一轮用于Behavioral。

面试也很令人满意。面试官非常友好,可以感觉到Android上的知识和技术很丰富。他们中的一位还给我留下了一封电子邮件,并在我进入Facebook后保持沟通,并从选拔工作到后来的工作适应为我提供了很多指导。

这样,我正式加入了Facebook。回顾面试过程并结合成为公司面试官的过程,我真的不能感到Facebook对初级工程师的招聘要求并不是特别困难。它们是比较基本的问题,主要是检查编写代码的能力。当然,有时能否获得要约取决于当时职位的需求量,这在一定程度上取决于运气。例如,近年来,对Android的需求很大。最近,AI和ML的工程师招募了很多人。如果您想获得更高的水平,则对编码的要求仍然是相同的,但是调查的主要内容集中在设计和行为上,并且调查的要点将更加广泛。

在成为Facebook面试官后,我在面试过程中也坚持了Facebook面试官的友好态度和重点。例如,有一个人因为时差给我打电话。我不得不在面试室里等了半个小时。招聘人员重新建立联系后,我也很高兴在当天晚些时候重新采访了另一方。另一方尚未准备好使用该算法。此外,最后一轮很累。第一个简单的问题根本无法回答。我停止添加问题,坐下来回答对方的问题,然后灌输给了Facebook。很好

facebook电面没回复

在美国东部,我两天前刚刚完成了第一轮技术电气联系。感觉更加复杂。面试官非常好,他是斯坦福大学的毕业生,刚刚在DS组完成了一年的学习。

主持人是美国数学专业的毕业生,目前正在福特汉姆数据分析学院读研究生的第一年。由于本科生的能力更强,因此很容易从FB DS获得推荐,然后再从常规HR咨询员那里获得推荐。等待面试后等待5天。

人力资源回合中无话可说。这很一般。这就是为什么要进行数据科学?描述您之前做过的数据项目。还有一些高级sql(左外连接,数不清…),我想进行机器学习之类的工作,重点是您完成了哪些分析项目。

人力资源部在同一天给了答复,以安排3周内的第一轮联系时间,并且还给我发送了一封电子邮件,告诉我如何准备(实际上,考试的内容与她的电子邮件有很大不同,稍后再讨论)。 SQL +产品,因为期中关系安排在三周的最后一天。

尽管房东说他没想到会有任何结果,但是毕竟面试经验并不多。老实说,人力资源部给了我一次采访。我很高兴,但是房东仍然花了很多功夫做准备。这些材料是:
SQL:完成了Hackerrank中的所有SQL问题,总结了有关地理位置和Glassdoor的所有SQL问题
产品:在阅读了精益分析中的重要相关章节之后,阅读了基础书籍和地面摘要,完成了关于胆性的A / B测试课程。对于没有任何产品经验的房东,改进幅度很大。

然后在面试的那天晚上,面试官是一个白人小兄弟,他非常好,并不感到非常紧张。首先,双方介绍了自己。然后,我描述了一个数据项目。这部分被认为是熟悉的,感觉还可以。案件评估:

与经典的指标,新功能,A / B测试,功能的健康状况以及其他在玻璃门上的脸书中的问题不同,第一个问题可以说是非常详细并询问instagram,可以说是新问题如下:

  • 为了方便用户,Instagram启动了一个按钮,可以快速切换帐户。以前,如果要切换,则必须先注销当前帐户,然后再登录。现在,此步骤已简化。您可以通过点击屏幕右下方直接进行切换。您如何知道这些帐户是否来自同一用户?
  • 我的答案是:设备号,IP地址,地理数据,人口统计数据。我很快被面试官抓住,他问我如何使用人口统计学来区分。我考虑了一下,发现很难区分,因为我使用了它。函数的用户通常希望获得不同的内容,并且最有可能希望在另一个帐户上匿名。我直接表达了我的意思。然后他问是否有人不想成为匿名者? (房东此时正在挠头,原本以为这次面试更偏向于测试逻辑,我没想到要问这样的细节)

    我对这个后续措施的回答是:有些人会创建很多帐户来点赞帖子,因此他们的目的不是获得内容,而是参加人气竞赛。 。

    然后进行后续操作:您如何判断哪些帐户属于该类别?

    我:它可以基于点赞的时间间隔。通常,此类点赞的时间间隔会平均分配,因为如果用户想要立即单击所有点赞,则会连续切换帐户。

    (说完这些之后,我陷入了沉思。幸运的是,访问者暗示我们拥有用户名,关注者和关注数据。)

    然后我继续前进,说我们可以通过关注和关注者部分来判断这些帐户可能来自同一帐户,并且也采用user_name的模式

    然后进行跟进:追随者将分为哪个部分?

    我:因为它是海军帐户,所以在跟随者中将没有真正的人,可能是一些广告,销售或色情帐户

    (这一部分结束了,问了下一个问题,仍然期望下一个问题,这是一个反制问题)

    *完成测试后,我们发布了此功能,但只看到了用户的增长,而不是花费时间的增长。为什么?

    我:数据正确吗?测试中是否存在错误,是否存在总体选择偏见?

    (很快打断了,他说测试没问题,并直接说明了原因)

    我:新颖效果。在一种情况下,该数据是短期的。我们可以等待一段时间,看看是否会由于网络效应而增加时间。 (他似乎不了解我在说的网络效应,但是我没有过多解释,只是下一个问题)

  • 向所有用户推广而不进行测试?
  • 我:不好,风险太大,可能会受到用户的抵制,这会导致用户流失。

    后续行动:哪些用户会抗拒?哪些用户不喜欢该功能?

    我:(叹了口气,我感到自己完全被沟渠淹没了,然后面试官也笑了很久,想了很久)我说我的父母会抵制并阻止生活中的刷牙女孩花很多时间刷牙。

    (然后我陷入了沉思。考虑是否还有其他可能性。我很长一段时间都没有考虑过。欢迎在此处添加。)

    我:(问面试官)您还不喜欢谁?

    The:不喜欢变化的人。 。 。

    (我想提起桌子,我没有先说明显的答案)

    然后是最后一个问题:如何判断花费时间的增加不是由于此新功能?

    我:同类群组分析,以筛选出使用此功能的用户,然后再深入研究其进展。

    SQL部分:(可能记不清了)
    表格:只有一个表格的一列为content_type,content_id,target_id(如果为注释,则目标为content_id)
    1)一计,一计,小偷很简单
    2)请找到内容评论的分布:(房东还没有写完这个问题。我发现我可能再也不能写了。我直接与面试官讨论了这个想法。他说您不需要写。口头,我说过要进行自我联接,请使用左联接,然后说联接条件,最后进行分组
    ,他说是的,它将带领您到达那里)

    然后就是提问环节:
    我问FB DS的最大挑战是什么,他说了新的观点,然后我理解了为什么案件部分的细节如此详细,所以地理学的朋友在准备时必须更多地考虑某个问题,所有可能的原因这个问题越好,越有创意,越好,最好是别人没有想到的。

    我说我只有一个问题。他是认真的吗?我们还有两分钟,然后在他的逼迫下,我再次询问FB的着装风格。他实际上说这是一个好问题,然后他问我谈论了一些公司文化,并说这是个人的意愿,就像有些DS使用python,r和某些使用sql(这是免费的)一样。

    实际上,我觉得整个过程都比较冷淡,沟通也很顺畅,但是如果我能活下去,我只能仰望天空。我很满足于这一步骤。 。

    希望您能给我更多,谢谢! !!

    Facebook Electric +现场

    刚完成Facebook工作,虽然记忆还比较新,请写下面试问题并进行总结。

    作者:E同学

    编辑:AfraTao

    专栏:九章算法

    面试流程

    FB的采访分为两个部分,一个是电话屏幕,另一个是现场。我只在电脸上进行了一轮,当场进行了四轮。

    访谈主要是编码。

    01

    电面

    当我打电话时,实际上有点紧张,但是问题解决了。

    1

    编码:使用基本队列属性实现循环队列

    02

    OnSite

    致电后,现场采访在FB Menlo Park总部进行。在整个过程中,我觉得面试官非常好。

    但是,我觉得他们的工作很忙。面试时,我经常遇到电话,这极大地影响了我的思维。

    因此,培养抗干扰能力也很重要。 1

    编码:合并排序

    纯合并排序没有附加条件。

    这是一个Lincode容易的话题,要实现它并不难,但是您必须小心以获得免费的Bug。

    LintCode原始标题链接:

    http://www.lintcode.com/zh-cn/problem/sort-integers-ii/

    解决方案链接:

    http://www.jiuzhang.com/solutions/sort-integers-ii/ 2

    编码:霍夫曼代码实现

    3

    编码:离岛数

    给定二维网格图,计算岛屿数目时1代表土地,0代表水。

    LintCode原始标题链接:

    http://www.lintcode.com/zh-cn/problem/number-of-islands/

    解决方案链接:

    http://www.jiuzhang.com/solutions/number-of-islands/ 4

    编码:买卖股票

    我已经无数次地解决了这个问题。 lintcode上存在3个相关的变形问题。我已经完成了所有步骤,因此相对而言比较顺利。

    LintCode原始标题链接:

    http://www.lintcode.com/zh-cn/problem/best-time-to-buy-and-sell-stock-iii/

    解决方案链接:

    http://www.jiuzhang.com/solutions/best-time-to-buy-and-sell-stock-iii/ 面试感想

    面试后,我觉得头衔并不难。

    也许访调员不仅根据一个人是否做对了问题来判断一个人是否可以通过面试,还可以根据一个显示出正确前提的人的素质来判断。

    但是,必须正确执行此操作,因此建议在面试之前先刷LintCode。

    更多精彩内容

      回复“简历”,查看简历写作指南,并获取“简历模板” 回复“冻结期”以查看有关北美主要IT公司的冻结期的信息和说明 回答“职业”,swe Career Fair Raiders清单 回复“薪水”并检查北美主要IT公司的新职工程师的薪水水平; 回复“项目”,然后查看可以在7-14天内完成的推荐小型项目 回复“评分”以查看系统设计评分指南 回复“行为”并查看行为面试指南 回复“促销”并检查工程师的促销机制

    “系统设计课程” |本周免费试用

    什么是系统设计

    系统设计中常见的问题是什么

    如何回答系统设计问题

    4S系统设计分析

    系统设计知识点的组成

    设计推特

    在2017年秋季准备期间 赢在起跑线!

    报名登陆官网 www.jiuzhang.com

    推荐阅读

    tags

    最新发布