查看: 16102| 回复: 45
跳转到指定楼层
上一主题 下一主题
收起左侧

[找工就业] FLAG湾区大厂面经Onsite指南!

   
全局:

2019(1-3月)-CS硕士+3-5年 | 内推|BayArea湾区 码农类General全职@meta

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
最近因为之前的工作室关门,准备跳槽,高强度刷了一个月的LC跟各种电面(日均2-3个HR call和phone screen),最后两周安排了连续9天的各种Onsite,从FLAG到湾区小公司跟startup全部走了一遍,大部分也都有拿到offer。这几天尘埃落定了就讲一下onsite的一些经验,希望能帮到要跳槽的小朋友。LZ本身有5年工作经验,之前也当过几次面试官,所以大概对整个流程比较了解,不过这次从游戏公司转到大厂也学习到了很多很多经验。
1. Onsite Prep:
要去的公司,高频题一定要都能做出来,无论medium或hard,而且要的不是单纯能做,要能够理解不同implementation之间的trade off,和在不同的情况下选用不同的implementation。. From 1point 3acres bbs
如果该公司有相关的news page,tech blog之类的,也要看一下他们的focus是什么。
面试之前会收到每个round的面试官名称,要去Linkedin找到每个人的背景,思考要问他们什么问题。这个部分非常加分,我会在面试官那个section介绍。


2. 面试官的心态:
面试官要看的,不是你会不会做题,而是你在碰到困难的时候是如何解决问题的。
会做题的人很多,好的engineer != 会做题的engineer。你要做的是在最有限的时间里展现这点。即使题不会做,也要展现出一个好的engineering thought process跟technical communication。
大多数的小工作室和startup,在面试结束的当天就会debrief,如果有结果很多时候当晚就能有一个move forward的update。一般如果过两天也没有那么不是凉了就是feedback比较两极化,他们要等其他的candidate。大厂一般都会在1-2个工作日只能发feedback给recruiter,如果feedback positive就能move on to management review或者HC。这种大厂一般要2-3天才能有最快的消息。也就是说,在绝大多数情况下,面试官都是半天-一天之后才开始写feedback的。这个时候他对你的reference只有你代码的照片,和他对你的印象,你在解题的时候思路的清晰度,沟通能力,问的问题等等就会组成最后的一步。一般情况下能差不多掌握到解题的思路,就能过,但是要拿到好的offer,拥有能够negotiate的空间,就要靠面试官的印象来觉得你有没有这个价值。

3. Coding Round:
绝对不要秒做!绝对不要秒做!绝对不要秒做!.google  и
上面说了,要有好的thought process跟communication,拿到题要先思考所有的edge case,input形式,需要的run time和space complexity,逐一跟面试官沟通。当然,绝大多数的情况下,他们会说yeah assume XYZ,但是要他们说了才可以,你自己瞎assume肯定会挂的。
然后尽量不要像是背的。太极拳的精华在招意,不在招式,同理,解题的精华在思维,不在代码。
最好的方式莫过于现场跟面试官先讨论逻辑和数据结,然后写出一些common test case,然后代码一边写一边说。写完以后开始跑test case。找到bug立刻修复。会比闷头写码秒解好很多。而且秒解非常容易招很难的Follow Up,因为面试官不确定你是否真的理解还是只是做了题。就算是一题你做了十几次的LC题,你也要从头开始摸索,说“我的第一想法是brute force,怎么样怎么样做,这样的complexity是什么,但是我觉得有更好的解法,接下来我要尝试DFS的solution。。。。”,让对方有一种你是现场figure out的感觉。
如果你能像张无忌一样,把招式都忘了,然后现场摸索出思路,这样效果会最好。
还有互动非常重要,写代码的时候尽量同时解释自己的思维,为什么这儿要加一个storage variable,为什么选择这样的subroutine,为什么用这个library里的数据结构等等,然后写完别等他们问,直接说这个Runtime和Space complexity是什么,还有什么其他的方法,那些其他方法的complexity是什么等等,显示出自己是经过考虑才选择出这样的代码结构。很多国人小朋友都觉得沟通有障碍就不说话,但是这样不是明摆着自己承认不会交流吗?要记得,花这么多时间刷题的同时也要同时在沟通上面下功夫。
最后最后,要想想test case要怎么写,这个现在经常问。谁都会在刷题的时候会被test case卡到,要多想为什么这些test case会卡到我,写这些test case的人当时是怎么想的,思想不同的edge case和boundary,会很有帮助。

4. System Design:. Χ
这个也是沟通的环节,个人倾向是先把所有的Use Case写出来,然后写出所有会需要的component,schema和大概的API,然后在开始做设计。
重点是根据每一个Use case做出相对的实现,比如这个A Use Case需要high availability,所以我选择这个技术实现,这个B Use Case需要Atomic transaction,所以我要做这样的实现。跟Coding一样,要确定好scope和其他supporting的系统,比如Facebook/Linkedin经常问News Feed,你要问我需不需要考虑Relevance,sorting,context等等,大概率是不需要,但是你要展示出你在思考这些问题。. 1point 3 acres
然后Scope也要问清楚,这个东西的User是谁,deliverable是什么,我们需不要handle infrastructure scaling,需不需要handle各种UGC storage,后台的partition tolerance和load balancing和data duplication等等。. Waral dи,
一般情况下main design部分都会让你不用担心,然后最后挑一两个环节问follow up跟specific implementation,所以当你问这些scope的同时,心里面也该有个大概的底应该要如何实现。

5. BQ/Manager round
BQ应该是最重要的环节,前面说了,会写码的人很多,能解决问题的人很少,能带领团队解决问题的人少之又少。这里所有BQ的问题都是为了验证3点。
a)你有没有problem solving skills?你解决问题有没有一定的策略,有没有办法确保相同的问题不会发生,有没有办法确保其他人不犯相同的错误,碰到自己没法解决的问题如何处理,自己直接导致的问题会如何处理,如何面对多个stakeholder不一致的方向及要求等等
b)你有没有leadership skills?团队有问题的时候你会怎么帮忙?遇到bug你是只修bug还是能深究问题并且surface给management,能不能在团队有困难时go above and beyond,能不能有效的沟通并且解决矛盾,在沟通的时候有没有对他人立场的认知和理解,并且就这个理解给出对他人最有用的答案等等
c)你有没有self awareness?你对自己的期许是什么,你最强的能力是什么,你在什么情况下会under perform,你明不明白自己在这个group里能起到多大的作用等等
. check 1point3acres for more.
面试官问的所有傻屌问题想要的答案都是你有没有一些上述的quality,而你要做的就是好好嗦发。一个好答案分成起承转合。 ..
起:历史背景,为什么有这样的情况,其他人为什么没管,这个情况的consequence是什么. .и
承:讨论自己的思考过程,为什么最后选择了这种方法解决问题,其他没有选择的方案有什么pros and cons
转:具体解决问题的时候遇到了什么样的困难,如何克服,学到了什么
合:最后结果,问题是否完美解决,后续有什么follow up,是否给你的org或者group带来了正面的影响等等
. Waral dи,
要记得,BQ是最最最重要的一轮,其他round确保的是你有没有基础的技术能力,BQ是确定你有超越技术能力的其他价值,和你在工作上的待人处事态度。一个好的BQ round可以弥补一个technical thumbs down,但是一个坏的BQ round是无法挽回的。面BQ的大部分都是稍微资深的hiring manager或者product manager,好印象也能体现在offer的过程中,好的BQ round也能把你推到下一个level,negotiate起来也会容易很多。
. 1point 3 acres
讲的时候多观察面试官,感觉他有问题的时候可以停一下,如果有什么笑点的时候也可以停一下缓和气氛(例如策划经常该需求,android native各种坑,samsung的OS多他妈傻逼之类的)。
自己要准备好一些适用的use case,如果自己真的没有类似的经验,也可以观察周围的其他人,被面到的时候也可以说“我自己没有这样的经验,但是我看过同时面临这样的XXX情况,如果我遇见相同的情况这样会是我的处理方式,因为。。。。”

6. Time to ask questions-baidu 1point3acres
一般情况下,能把问题答完都至少会pass,但是要有strong feedback你短短的几分钟问答就会很重要,如果能想出specific问题问interviewer最好,争取留下最后的好印象,如果没有的话也可以借鉴我的题。
我个人喜欢的问题是问Tech culture,比如我在用别的组的系统,发现不能实现我想做的功能,如果要加入这个功能会否给我这样的自由度,其他组会不会不高兴,将来的ownership和maintenence会如何分配,或者我会问有没有一些centralized的文档库或者central services org。
还有就问面试官之前碰到过的问题,如果花了很长时间才找到答案,那我将来如果入职也遇到相同的问题会不会也需要花一样久的时间去找这些答案。
如果对业务熟,就问他们相关的事宜“你们如何解决这个feature上的latency问题,你们用这个framework碰到过什么样的问题”之类的。
如果对他们的业务不熟,也可以就问面试官他的经历,他来这儿几年,在那些组干过,具体业务是什么,觉不觉得有继续学习的深度和广度(要凸显自己热爱学习新技术),如果跟management提出想要跳出comfort zone会不会有阻力等等。尽量开始一个问答对话,尽量让对方感觉亲切。. Waral dи,

7. Lunch
Lunch要多闲聊,问升迁,聊八卦等等,争取lunch buddy的好感,大多数情况下他们的feedback是没意义的,但是你如果一边吃饭一边吐槽面试官多傻逼多傻逼。。那。。。。就是个情商的red flag,一定会遭重的。还有一点,不管饭多好吃,都要控制饭量,尽量只吃5-6分饱。吃一点甜点保持供给大脑的糖分。下午的Coding round绝对不能有food coma的情况发生,哪怕只是稍微走神都会影响发挥。

这一波面试FLAG全部面完,出了亚麻都有offer,如果有根据不同公司想问的问题都可以问。最后希望所有同学都能找到自己心仪的offer!



补充内容 (2019-3-8 09:02):.1point3acres
最后要加一个神器,levels.fyi, 非常准的各种level的package,基本上用这个来衡量negotiate的边缘会很有用。

评分

参与人数 116大米 +493 收起 理由
一条小鳄鱼 + 2 给你点个赞!
Metaphu + 2 很有用的信息!
springbear + 1 给你点个赞!
Hhhuui + 1 很有用的信息!
jwangxy + 1 赞一个

查看全部评分


上一篇:Pinterest挂经吧
下一篇:一个公司投了两个职位,两个recruiter联系我

本帖被以下淘专辑推荐:

推荐
Malcol 2019-3-9 07:24:42 | 只看该作者
全局:
admin 发表于 2019-3-9 02:47
本文被选为03/08/2019全站置顶文章之一。
作者获得大米奖励。谢谢你的分享

求加个板块专门放往期置顶文章
回复

使用道具 举报

推荐
 楼主| doomdg 2019-3-12 10:58:01 来自APP | 只看该作者
全局:
rhizome 发表于 2019/03/12 09:09:35 ..
请问楼主,你做OA了吗?
. From 1point 3acres bbs
补充内容 (2019-3-12 09:17):
还要多问一句 --- 你带laptop去onsite了吗?
. .и
亚麻做了oa,没有phone screen,其他公司全部一轮phone screen。. 1point3acres

没有带laptop,我一般连包都不带,人到就好了。
回复

使用道具 举报

推荐
杨超越 2019-3-10 00:18:53 | 只看该作者
全局:
很同意楼主说法,我去面G家也是,他家要求就是写代码行云流水直接bug free最优解,但也运气好 不然也肯定挂了
回复

使用道具 举报

🔗
Bitdance 2019-3-8 09:04:07 | 只看该作者
本楼:
全局:
回复

使用道具 举报

🔗
admin 2019-3-9 02:47:39 | 只看该作者
全局:
本文被选为03/08/2019全站置顶文章之一。
作者获得大米奖励。谢谢你的分享
回复

使用道具 举报

🔗
huihuiyang 2019-3-9 03:46:03 | 只看该作者
全局:
游戏公司! 暴雪吗。。。

评分

参与人数 1大米 +3 收起 理由
东尼老师 + 3 哈哈哈听说最近裁了不少人,不知道是不是

查看全部评分

回复

使用道具 举报

🔗
xiaolele 2019-3-9 04:44:10 | 只看该作者
全局:
楼主好厉害,除了亚麻都有offer!
回复

使用道具 举报

全局:
多谢楼主分享经验
回复

使用道具 举报

🔗
dahair 2019-3-9 06:32:35 | 只看该作者
全局:
谢谢分享! 非常有用的信息!
回复

使用道具 举报

全局:
感谢楼主分享经验,真的特别有用!想问问楼主面试的时候印度Hiring manager好像对自己有点bias, 明显非常冷淡而且面试时间不到一半就问我有没有问题了,最后还提前结束..这种情况怎么应对呢。自己感觉挺委屈的其他几轮的现场feedback都不差..
另外最近在准备fb电面,想知道他们家对candidate写码要求怎么样,必须肉眼debug出来bug free? 还是“即使难题做不出来也可以先说自己简化的思路,然后讨论简化和原题的差异”这种也可以?还是说最重要的是思维过程和沟通呢。
谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表