中级农民
积分 105
大米 颗
鳄梨 个
水井 尺
蓝莓 颗
萝卜 根
小米 粒
学分 个
注册时间 2016-10-30
最后登录 1970-1-1
2017(10-12月) -CS 硕士 +1-3年 | 猎头|BayArea湾区 码农类General 全职 @meta
注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
TL, DR.
[size=14.6667px]签了NDA,具体题目不能透露。授人以鱼不如授人以渔, [size=14.6667px]地里给了我很多帮助,谨以此文, [size=14.6667px]回报地里。
Timeline: 2017年8月底HR联系,9月底确定面试流程,11月3日一轮技术电面,11月14日正式通知进入onsite,12月11日onsite,12月26日拿到电话结果和邮件offer,E4标准包。
总结:沟通最重要。BQ靠准备故事和自我解剖,coding靠刷题和临场发挥,design靠日常积累。总体来说,FB的面试难度不大,coding题几乎是leetcode原题或者变种。最重要的是跟面试官沟通和交流,把面试当做同事开会来看,千万不要拿到题目就闷头写。
. From 1point 3acres bbs
一个重要的Github:https://github.com/yangshun/tech-interview-handbook ,大家去star一下,认真学习姿势,你们会回来感谢我的。
BQ基本套路:
必须熟悉自己简历上的项目。每一个细节都要熟悉。
结合FB核心价值观,提前准备几个自己的真实故事。
Be yourself。
coding基本套路:
确认问题是什么。面试官期待你问很多问题,比如数组大小、越界怎么办、是int还是double、有重复吗、入参是什么、返回值是什么、按什么排序、边界条件有哪些,等等。同时,举几个简单的例子,与面试官互动,确保你真正理解了问题。
尝试一个暴力解法并分析时间空间复杂。但是切记,暴力解法说明即可,不需要写代码。
用最优解法来解并分析时间空间复杂度,得到面试官同意后,动手写代码。一边写一边记得与面试官沟通,确保在正确的道路上。如果面试官有问题打断你,绝大多数情况下是因为你的代码有问题,应该停止书写,并且与面试官沟通,及时解决。如果实在不知道怎么沟通,可以直接口述你手上写的代码。记住,一旦下笔,手速一定要够快,FB比较看重move fast。
写完后,自己检查代码,并确认边际条件有哪些,你是怎么处理的,最好是自己写几个test case来跑。然后,说明一下,如果再给你一些资源(比如更多时间,更多cpu,更多存储),你会怎么改让你的代码效率更高。
把写好的代码交给面试官,听并且回答follow up。
. 1point3acres
design基本套路:
确认问题是什么。面试官期待你问很多问题,比如这个架构的应用场景是什么,有什么功能(涉及到具体的业务场景),有什么限制(cpu,gpu,存储,RT,QPS等等)与面试官互动,确保你了解了问题。
把提纲写在白板上,然后每条提纲逐条深入来讲。最重要的不是你用了什么,而是你为什么要这么用。
多与面试官沟通并察言观色,进一步了解面试官想问你的问题是什么,他期待你能回答到什么点上。这个除了经验,基本也是靠猜了。
画架构图的时候不一定要求专业、美观,但一定要有理有据,条理清晰。
结束后,向面试官说明,如果再给多一些资源,你会从哪几个方面去提高。
面试官一般会问一个问题:你的架构优缺点是什么,在什么时候会出问题,你打算如何设计来更好的解决这些潜在的问题?
. 1point3acres.com
好了,说完了理论,接下来是实践。
. .и
电面:. Waral dи,
-baidu 1point3acres 一面:HR面,25分钟. ----
聊天:聊最近工作,聊未来期望,聊FB的项目,问几个计算机基础题,秒,然后安排面试。
. .и 二面:coding,45分钟.1point3acres
双方自我介绍+聊天。
三道计算机基础题:内存泄露是啥,内存抖动是啥,如何debug代码。
算法题。一般而言两道题就可以过,但是我做了3道。全是leetcode题,难度easy。
我提问题,面试官回答问题。
昂赛:
三面:BQ,45分钟
双方自我介绍,聊天气。
Your current job, current team, current company? Why fb? Your weakness? Your most successful project? What you did to make it successful? Why you did these? What do you expect from working at fb? How did you solve conflicts with your teammates?. Waral dи,
写一个easy的LC tag原题。3分钟clarify,2分钟秒。.
我提问题,面试官回答问题。
四面:coding,45分钟. check 1point3acres for more.
双方自我介绍,聊最近工作。
两道计算机基础题:DB的分库分表设计,多线程并发脏读问题。
两道题,都是leetcode tag变种题目,难度为medium。秒。
我提问题,面试官回答问题。
五面:design,45分钟
双方自我介绍。
架构设计。重点是服务端的DB、cache设计,restful api设计;客户端的DB、cache设计。重要思想是precomputation和cache,如何在time和space之间找到一个权衡点。trade off牢记心中。
我提问题,面试官回答问题。
. .и
六面:coding,45分钟
双方自我介绍。
一道计算机基础题:CPU和GPU如何通过协作来绘制UI。. 1point 3 acres
两道题,都是leetcode tag变种题目,一题难度为medium,一题难度为hard。两道题的时间复杂度和空间复杂度我均有推导错误的地方,被面试官无情指出。可以看出,并不是一定要bug free,只要能和面试官充分沟通后做出题目,你的得分一定不会低。. .и
我提问题,面试官回答问题。
七面:HR,10分钟.
讨论薪水,讨论期望,讨论团队,等等。
[size=14.6667px]准备了三个月,找工告一段落,非常感谢地里各位同学的帮助。马上就要抽H1B了,心里在真切感受到个人命运被上天支配的恐惧和无助。最后,祝大家都能通过个人奋斗,在合适的历史进程里,突破自我,拿到理想的结果!加油!祝我们大家都好运!. Χ
上一篇:VMware的最新OJ,以及谈谈OJ的感想体会 下一篇:请问现在湾区大公司对待需要h1b sponsor的跳槽人士啥态度?