当即以为二〇一九年得到H1B的成功率差不多能有个六七成,GitHub 页面及面试邀约函

http://blog.csdn.net/ithomer/article/details/8774006

背景

兴许由于自己 GitHub 较为活跃,国庆中间如故收到了 Facebook的面试约请函,既然有那机肥,当然不能够浪费,试试那就摸索啊,下边是本身的
GitHub 页面及面试特邀函。

http://www.myvisajobs.com

准备

一年多前,出于强烈的原因,下定狠心肉身FQ。经过一番设想,甩掉了读书那条路径,决定直接找工作,通过H1B签证出去。于是二零一八年六月份从百度辞职,早先出手准备。当时以为二零一九年获得H1B的成功率大概能有个六七成,加前七天围朋友们的穿梭鼓励,可以说依然出色自信的。不过,时至后天,在历经谷歌(Google)、亚马逊、非死不可三家商家未来,那首先次尝试却可耻地失利了……

电面流程

在和HR调换前自己也查阅了无数关于 非死不可面试相关流程,正所谓知己知彼,所向无敌。HR是在新加坡共和国的,和他交换仍旧用中国话,简单调换完事后就给我发了面试相关邮件,可是随后的电话机面试当然得用英文了。邮件中介绍了电面相关流程,总时长45分钟左右,前5分钟自我介绍下并回应多少个简易的
Android 难点,接下去的35分钟就是 coding
了,最终5分钟就是你可以问面试官多少个难题。

 

LeetCode

面试FLAG(非死不可、Linkedin、亚马逊(Amazon)、谷歌(Google))那样的民企,数据结构和算法肯定是要过关的,并且可以退出IDE编写代码,也就是所谓的白板编程,非死不可是用 CoderPad
在线coding,标题标话器重推荐
LeetCode,所以我引进把难题拷贝到
CoderPad 上,然后在 CoderPad
上全部地写出AC代码,固然某些APIs不熟稔的话,那就去IDE上边查一下,确保自己写出的代码等同于IDE格式化后的代码。下边附上一首诗。

明有科举八股,今有LeetCode。
八股定格式而取文采心意,LeetCode定标题且重答案背诵。
美其名曰:”practice makes perfect.”
为啥今不如古?
非也非也,
科举为国取士,LeetCode为Google筛码工,各取所需也。

那上边来说,幸好我大学是ACMer,数据结构和算法相关的仍旧有点底子的,为了有利于大家,我在
GitHub 上开了
awesome-java-leetcode,其中囊括了
Java 语言的 LeetCode 相关题解,觉得不错的话给个 star
吧。说句题外话,我一向都觉着数据结构和算法是用作一名程序员必须控制和擅长运用的,固然我没那几个机遇面试
Facebook,我也是仍旧会去刷 LeetCode 的,今后也会不断更新 LeetCode 题解。

以下是和HR沟通之后他发给我的部分面试准备内容。

其中也有提及 LeetCode 相关内容,可知其重点。

战绩概览:

简历

面试国有集团一份英文简历是必备的,我花了二日时间做了份 马克down
通用的简历,利用
Pandoc
可以很便宜导出种种格式,至于缘何花了两日,当然是为了将来能分享给你们哈。

事先写过一篇小说:为跳槽的你献计献策(Android)
有许多伙伴想要查看自己的简历,而马上自我只提供了模版。如若现在伙伴们还不精通怎么写简历或者觉得温馨的简历不够完善,那你们能够借鉴我的亲善去修改修改,我已把它上传到了
GitHub,此地是传送门,喜欢的话记得
star 哦。

  • 谷歌(Google):仓促作战,HR电面一轮,技术电面一轮,日本首都onsite两轮,惨败;
  • 亚马逊(Amazon):技术电面两轮,在面试官反馈出色的情景下莫名挂掉,详情见下;
  • 非死不可:HR电面一轮,技术电面两轮,Menlo Park总部onsite五轮,惨败;
  • AeroFS:因为是startup,临时告知不能提供H1B,于是告终。

注意点

Facebook 更为敬爱的是团队精神,即便你 coding
水平顶尖,在面试的时候你声也不吭地敲完了具有代码,固然是 bug-free
,那面试官心里也毫无疑问会想:“wc,老子肯定不愿意跟那种人做同事!”。所以coding
的时候要和面试官举办交换哈,不要闷头就敲代码,而是要突显得是在和面试官在一道座谈难点,比如要问明了数据的境界,你要用什么方法去解决这么些标题,时间复杂度,空间复杂度等等,做完事后并非忘了测试用例,当然,最后目标自然是亟需
bug-free 的。

村办背景参见此地(原小编,本文系转发

结语

以上便是自个儿的面试计算,不论我后来还有没有机肥面试下一轮(Facebook应该是起码四面),我或者会一而再巩固数据结构和算法,不断更新我的
awesome-java-leetcode,毕竟面试
脸谱 的机肥年年都有,即便不为
脸书,那也是本身作为程序员应该持之以恒的,落成,撒花。

 

破产的原故,一句话来说就是四个字——自大。在百度四年多,技术下边长进不少;纵然并未以做管理为对象,却也阴差阳错地干了两年管理,从零带出了一支二十几人的研发队伍容貌,同样收益颇丰。再加上离职时恰逢耗时一年之久的首部译作正式出版,自我感觉良好,信心爆棚。周围的对象和同事们听说了本人的安顿之后都鼓励说“肯定可以”,于是我也就称心快意地认为“肯定可以”了。这种自大心绪使得我未曾及早将对象公司的面试方式商量透彻,也得不到及时运用极端卓有成效的章程弥补自己有理能力上的欠缺。

不顾,那段经历依旧相当难得的:经历了第四遍匈牙利(Magyarország)语面试、第几回办签证、首回出国、第几回倒时差,还有第三遍误机……
纵然求职未果,但如故受益良多。本文便是对这一次求职全经过的笔录,一方面警醒自己,一方面也为其它有类似打算的恋人们留一个参照。由于几家公司的面试是交错开展的,下文并没有完全依据时间种种进行描述。别的,出于NDA协定等原因,本文不会表露具体的面试题。

 

面试准备

纵然二零一八年八月份就曾经正式离职,但实质上前多少个月都忙不迭其余业务,做了部分事先一向想做只是并牛时间做的非正式项目。时期纵然也持续补习各类基础知识,但一向隔靴抓痒,进程甚缓,效果堪忧。于是一向以为没有未雨绸缪好,迟迟不敢真枪实弹地举办面试。真正进入状态应该是十十二月份之后了。面试准备当然少不了看面经,其中最有率领意义的几篇分别是前同事Cat
Chen
GoogleMicrosoftYahooFacebook司空眼惯面经和新浪上的那篇拿了9个offer的传奇面经。其中,后者给出的各类参考资料越发有价值,我自己中期真正实用的面试准备基本上也是随着那篇面经的框架来的。

 

算法基础

明确,湾区的商店在面试时非凡尊重实际编码能力,需要间接在线或在纸上、白板上写代码,并且须求是可编译的零bug代码,因而有ACM背景的应聘者会那些占优。当然,分歧商家在从严程度上也不完全一样,比如亚马逊(Amazon)对无伤大雅的手误或API细节记不清等意况相对宽容,Facebook次之,谷歌(Google)最严厉。反观国内的互连网商家,即使面试时也会问算法难题(越发是对应届生),但貌似不太会须求手写达到可编译运行品质的代码(必要写伪码的很多);同时考量的知识面也会更广、更开放部分。一初叶自己觉着湾区的那种面试方式并不得法——毕竟实际工作中没人会须要您在不体贴调试器等工具的动静下几次性编码成功。而且,竞技类算法题的代码和工业界的代码完全就是二种套路(在工业界干过几年的前ACM选手们应当足够清楚)。但转头一想,自己周围可以完毕这几个水平的,无一不是牛人。而且以此格局中度统一,易于判定,在广泛面试中更有益统一面试官的评定标准,从而完成严俊把关面试品质的目标。简而言之,那种面试手段跟高考有点类似——它可能不是但是合理的遴选手段,但对此大商厦来说,为了有限支撑更大范围内的公平性和品质,就像也不曾进一步客观的手法,因而似乎今而言它也就是最为合理的招数了。

就自我个人而言,在校时顶多也就到位过ACM校赛;无论刷题速度依然数学和算法基础都远逊于正式选手,纯粹是玩儿票水准。工作六年多越发基本告别基础算法,顶多也就是算个时空复杂度,偶尔用三回微积分都会惊叹原来那玩意儿还真有用得上的时候。再者就是平日写程序的习惯。经过严峻陶冶的ACM选手得以做到解题时整个连成一气,当年ZJU校队神人们一向在交付框里写码提交几回AC的神话见惯不惊。我常常自知是个粗心鬼,写程序一定是先搭架子后填肉,边填边调;借使妄图一次得逞,那最后多半是错得没边儿。所以,算法基本功以及编码不够快、准、狠,就是我最大的弱项。

为了弥补那几个不足,我最早拔取的点子是啃Algorithms、The Algorithm Design
Manual等大部头。可是实践注解这几个法子收效甚微。当然不是书不好,而是情怀问题。这一个一大半头行文严峻,事无巨细悉数记录在案,最符合作为教材或是当作手册日常翻阅。对于目标重若是查漏补缺的我来说,从头到尾看四遍太慢,而且一不小心就陷入细节或许一些自此验证完全没有要求钻的难关;跳着看又不通晓到底何地是上下一心缺漏之处,言之无物。

要想搞了解缺漏之处究竟在哪,最有效的艺术仍然实际做题。做不出去的本来就是缺漏,重点补习;做得出来的则尽量争取两次到位,追求编程速度。在那条路上先后尝试了CareerCupZOJTopCoderLeetCode。三个站点的优缺点比较如下:

  • CareerCup

    用作举世码农应聘者沟通面试经验和真题的基地,其独到之处自然就是真题充裕。缺点也很备受关注:很多题材叙述不战战兢兢,边界情形模糊;没有OJ,自己的代码不易与否难以得到客观准确的论断;参考答案仅限于用户贴出的代码和思索,而且CareerCup论坛的代码排版效果恶心得让人难以置信,你大致无法贴出一份缩进正确的代码!

  • ZOJTopCoder

    ZOJ实在是太熟知了,本科时闲来无事就在ZOJ上切题。TopCoder交相互比复杂,但流程基本上差不离。二者都是OJ,因而自己的代码不易与否、作用如何,都得以长足判断。TopCoder相对于ZOJ的一个亮点是足以搜寻指定难度和档次的题材。缺点则是那二者都是比赛平台,当OJ判定代码错误时不会输出额外的诊断音信,一旦沦为难以想到的界限景况就会开销大批量时刻。

    别的,就这一次的经历来看,ZOJ的题和TopCoder
    500分以上的题在平均难度上比实际的面试题要高不少。与其在难题上费用过多时间,多切一些大致题拉长写代码的熟知程度可能更有赞助。

  • LeetCode

    LeetCode可以说是构成了CareerCup和ZOJ、TopCoder的亮点:既有真题,又有OJ。而且当OJ判定代码错误时,会同时输出对应的测试用例,大大有利于了调剂。在面试准备的末尾,我一心转向了LeetCode,磨练效果明显。对了,如今LeetCode后台的C++编译器已升任到g++
    4.7.2
    ,帮衬半数以上C++11特点(尚不帮助lambda),写起C++来舒心不少
    🙂
    就这一次的阅历来看,实际面试题的难度跟LeetCode的平均难度相差无几。缺点则是题量较少,如今仅有100多题,覆盖面较窄(例如二叉树的题有一大堆,而图论题则大概从未)。

此间引用Cat在他的Facebook面经中说的一段话:

让自己「大开眼界」的是面试题,原来真的好的面试题并不在于它有多难,而在于它有多简单,简单到了解那一个小圈子的人眨眼之间间就知晓到您在说怎么以及想问怎么。可以进入
Facebook的人应当都以为面试简单,至少跟中国的面试比较起来如此,那是因为
脸书把觉得面试有点难的人都过滤掉了,而中华这一个很难的面试反而没什么区分度。

就自我要好的经验来看,的确如此。从难度上说,至少在电面阶段,谷歌、亚马逊(Amazon)、Facebook的算法类面试题都是入门级的题材。给自家的感觉有点像是考研——题不在难,而在区分度,考的是基础是还是不是丰裕扎实。标题获得手会做的话立马就能入手,固然不会做也会以为那道题很熟识。Facebookonsite面试题的难度基本上也在那一个水平。谷歌(Google)和亚马逊(Amazon)两家都未曾展开到终极阶段,不理解后续的难度是不是会有升迁。从其他面经上来看,谷歌(Google)的算法题在难度上要更胜一筹,亚马逊(Amazon)则会有部分面向对象类的系统设计题。

 

塞尔维亚语沟通

尽管如此对协调的韩文还算有信心,但本次面试前差不离并未跟老外面对面调换过,所以首先次匈牙利(Hungary)语电话面试的时候紧张得语无伦次,寻常听不清面试官在说吗,好在从第二次先河就全盘无压力了,窍门很简短:提前公告让面试官说慢点……说的时候不须求操心语法错误之类,正如某篇面经所说,人脑的纠错能力依然很胆大的,即使一个词一个词往外蹦,老外一般也可以清楚。

跑题说一说口语操练,那上边好像无法长时间突击,只好靠平日多磨刀。意国语口语,一是口音,二是顺理成章程度。口音的难题,我是中学的时候靠听克罗地亚(Croatia)语歌并矢志不渝模拟歌唱家的失声解决的。至于流利程度,自然是靠多说。但四周没有说希伯来语的人如何是好吧?我的方式相比较偏门——自言自语。之前在该校和商号里的时候,出于各样原因平日索要做技术分享,必须适度知道地把东西讲精通。久而久之逐步发现判断自己有没有把一个定义搞精晓,最直接的主意就是看能否够把那些定义跟新手讲了然,于是日常学习的时候也不时在脑部里做模拟。就那样,逐渐染上了自言自语的病症,即面对假想的听众把自己的笔触讲出来,一边讲一边探讨听众可能的反射并屡次调整说辞,直至表述准确易懂截止。再加上近日看的文献基本上都是斯拉维尼亚语,很多术语根本找不到适合的中文翻译,脑子里多少个locale切来切去太勤奋,逐步就养成了用泰语自言自语的习惯,无意间变相训练了口语。当然了,那种手段只好锻练到正式技术上面的内容,平日关联是覆盖不到的。可是对此面试来说,刚好够用。

 

面试进程

1) Google

谷歌的面试机会是师兄推荐得到的。事后来看当时通通没有备选好,实在是荒废了三次大好机会,对不住师兄。被推荐后赶紧,谷歌上海的HR联系自身。电话聊了大概半个多小时,了然了有些背景情况,然后便下手帮我安插电话面试和onsite面试。

电话面试的面试官是美利坚同盟国的华人工程师,全程说的是中文。由于时差,面试时间是新加坡时间清晨八点(对方的早上四点)。简单问了有些事先的干活背景就从头做题,几乎是写一个类,模拟TCP栈的收包逻辑。写完之后又须要改为多线程版本,类似于一个劳动者消费者模型。谷歌电话面试时是在GoogleDocs上在线写代码的。头四回写,动作比较慢,总体上超时比较多,而且首先次给出的解法即使尚未错但并不敏捷。三二十四线程版本快写完的时候SSH隧道竟然断了(谷歌Docs直接访问不稳定,保障起见是FQ访问的)!由于面试已经超(英文名:jīng chāo)越预定时间,面试官就说算了,面试截至后发到他邮箱好了。最终是例行的问答时间,不记得当时祥和问的是什么难点了。

即便面试官让自身把最后一个题材的代码用邮件发过去,他却从不给我留邮箱,事后是通过HR转载给面试官的。其它面试停止后意识面试官给出的多线程的规范有误,会导致系统死锁。于是写了封长邮件,解释了会导致死锁的时序,给出了二种可能的解决方案,并附上了详细的测试用例,顺便优化了一初步成效不够高的数据结构。当然,进程中没有翻动其他资料,完全是独自思考的。

约莫一周过后,HR协理敲定了位于五道口的onsite面试。两轮面试各45分钟,都是算法题,要求在纸上写代码,面试后纸张由面试官回收,就像要誊写到面试反馈中去。首轮的标题很经典,不难到今天一向不佳意思说自己一度做不出来……假若是一个月后的本人的话,毫无疑问可以秒杀,但当时却严重卡壳。第二轮的难点稍有一对纵深,DFS搜索加字典树加接口设计,也不是很难;面试官持续需求优化,最后一个优化点我在终极一分钟才想出来。面试末尾依旧是例行的问答环节,由于往日做了几年即时通信,我便问了须臾间谷歌在实时网络选取方面有没有啥样规划,但由于面试官不是这一天地,不可以提交什么实质性的内容,互相嗟叹了瞬间谷歌(Google)Wave此前边试截止。

两轮onsite下来,自我感觉杂乱无章,事实上这也是自家这段面试经历中显现最差的两轮——没有一道题可以在确定时间内交付完整、无错的代码。回看起来,这些结果跟自己霎时的复习策略有很大关系:当时自家还地处看算法大部头,辅以ZOJ/TopCoder做题的阶段,基本上是何等题难做什么样题,后果就是每道题都钻很久,解题时间很长,完全没有达到陶冶编程熟习程度的目标。再增进纸上写代码一涂改就杂乱无章一团,越写越紧张……就面试中写代码的点子来说,我以为用CollabEdit或GoogleDocs在线编程最自在,因为跟日常写程序差不离(当然若是是平时被VS/VA、Eclipse宠坏了那就两说了);白板上写代码次之,因为写错的、不如意的地点可以每日擦掉,保持全体干净;纸上写代码最难,一不小心就涂涂改改搞得一团乱麻,既影响自己的情怀也影响面试评价。

就算谷歌的面试只举办到第二轮onsite,但足以看看谷歌(Google)的面试要求或者比较高的。面试官在关怀代码的没错的还要,也会关心编程风格仍旧接口的注释。其余,谷歌(Google)的HR工作做得很到位,面试前给我发了详细的准备资料,邮件回复也很及时。最后电话通告面试结果的时候HR先是问了自身要好的觉得,然后结合面试官的褒贬委婉地交给了定论。

 

2)
Amazon

亚马逊(Amazon)的面试机会是同桌推荐得到的。和HR全程邮件联系,反馈速度极慢,一个往来足足七天。和我关系的HR的干活时间跟亚马逊总部差了多少个小时,不亮堂是否外包。

亚马逊的率先轮电面是本人先是次跟老外电话联络,起头觉得没啥,但靠近面试时却紧张得乌烟瘴气——面试官语速太快,听不明了啊……由于联系不是很顺遂,在此以前的工作背景介绍得相比较败北(从前有预备过,可是一紧张全忘了)。面试官的神态尽管很nice,但听语气就好像相比失望。之后,面试官对自身申请的AWS组做了一个简练介绍,然后便用CollabEdit在线做了两道字符串的题,进程还算顺遂。面试截至之后review自己的代码,发现有两处小错误,再增长一上马联系不顺,沮丧地想应该是没戏了。

没悟出过了大体上两周多,在吸纳Facebook的onsite面试公告将来,亚马逊(Amazon)的HR发邮件过来说打算再开展一轮电话面试,向我征求可用时间。回复之后又过了大体上一周,才好不简单敲定了面试时间。

以此时候自己早已有了Facebook三轮电话面试的经历,LeetCode也切了无数题,纸上写代码固然还欠,但在CollabEdit那样的在线编辑器上几分钟切一道简单题对付电话面试已经完全不是难题(早点知道LeetCode就好了)。于是第二轮电面极度顺遂。一上来面试官问我选数据结构的题仍然算法的题,我选了数据结构题,半小时多一点切完两道。做第二道题时我把一个尺度精晓错了,面试官提议后像自己道歉说是自己讲述不够了然,好在算法全部上差别不大。做第三道时,面试官鼓励说能不负众望第三题的候选人不多,因为日子所剩无几,就不须要写代码了,给出思路即可。第三题琢磨落成还剩几分钟,欢腾地进入问答环节。最后,面试官给了很庄敬的评说,大概是说不太会有负面反馈,HR后续应该会布置到Seattle的onsite面试,当然他并没有把话说死。

唯独,接下去的内容发展就比较坑爹了。

亚马逊(Amazon)第二轮电面甘休之时,去Menlo Park加入非死不可onsite面试用的B1签注已经搞定,但实际里程还未规定。本想假使亚马逊(Amazon)的HR可以及时跟进后续安顿的话,就四次搞定两家的onsite。可是亚马逊的HR迟迟不见回复。由于是首先次出国,担心忙中出错,便决定脸书面试截止后迅即回国,大不断亚马逊的布置下来未来再跑一趟。于是跟非死不可部署的旅行社沟通,将行程定为面试后第二天回国。又过了大约七天,亚马逊(Amazon)的HR来信说对不起,经过相比较大家挑选了其余的候选人云云,具体原因则统统没有提及。这么莫名其妙地挂掉实在是令人恼火,但登时对Facebook抱的冀望还比较大,并没有太在意,失魂落魄地回了封thank
you了事。现在想来应该尤为追询一下被拒的缘故的。可想而知,亚马逊(Amazon)的面试官给我的感觉到很好,但HR的跟进速度和质料实际心有余而力不足让人看中。

 

3)
Facebook

非死不可的面试机会均等是校友推荐得到的,那也是这一次求职经历中走得最远的一回。正如Cat在她的面经中所述,Facebook的HR邮件回复相当及时,而且平常在非工作时间回复,整个进度中国和澳国常认真负责,不得不赞一下。Facebook的首轮电话面试是由HR举行的,时间是亚马逊第一批次电话面试的第二天早晨,而亚马逊(Amazon)第二轮电话面试那天,非死不可方面业已展开到委托旅行社替我布署onsite行程的等级了,其工作效能一叶报秋。

HR电话面试

后面从Cat的面经中看到脸书会在HR面的时候问一些基础的难题,并留一道作业题。但自我的HR面试却只问了千古的工作背景。后来询问到Cat所说的处境是前者工程师招聘流程特有的,而我申请的是Infrastructure组,就从未这一环节了。如前所述,FacebookHR面的后天就是亚马逊(Amazon)的率先次电话面试,有了前天挂钩不畅的训诫,面试前自己将想取得的题材和事先的工作背景等新闻全体写了下来,实践注脚万分实惠。对方询问到自身有保管经验但依然期待做一线工程师之后就好像很好听(那诚然是本身的实在意思)。最终预订了下一遍电话面试的时光。这一次面试进行了大约半个钟头,就关系顺畅程度而言比亚马逊的第五回电话面试要好多了。

技术电话面试

接下去的电话机面试是技术面,面试官是位女性,看名字觉得是神州人,事后果然在LinkedIn上查到是毕业于北大的同龄人,仰慕。纵然面试官是中国人,但照旧是用意大利语交换的,因为言语调换能力本身也是洞察环节之一。其它,由于那是该面试官的第一面试,还有一人旁听。一上来仍然是粗略介绍下背景,介绍期间面试官通过邮件将CollabEdit上面试用的白板地址发送给我。点开之后CollabEdit戏剧性地报出500
Server Internal
Error。然前面试官如同比我还要心中无数,经旁听的工程师指导后转战Stypi持续面试。第一题要求表达下大端序、小端序,并写个函数判断当地字节序,秒杀。然后是一道二叉树相关的题,写了一个递归版本,途中犯了一个小错误,经提示后改正;通过前面试官须要再写一个迭代版本,写了大体上有点卡壳,面试官提醒了五次我都没能走上正轨,直至面试时间截止。

面完事后相比窝火,因为那道题并简单。结果如厕时意想不到察觉到事先错在哪里——马桶和浴缸果然是灵感喷发的绝佳场合……由于面试进程中面试官曾给我发过一封邮件,我就便捷复原了一封邮件,给出了一份包涵测试用例的可编译的代码。之后边试官很礼貌地回信说那是她首先次面试,我在面试时交由的解法和他熟习的套路不平等,由此不通晓该怎么提醒和指导,同时表明已在面试反馈中提议再找一名更为资深的工程师对自己进行面试,“可能”还会有四遍机会,并祝我幸运。

从此便是焦急地等待。求职进程举行到那几个时候,Google方面现已被拒,亚马逊(Amazon)的首先次电话面试让自己很失落,Facebook的本次面试前景就像也很惨淡。等了少数天没有回音,一度令自己至极低落,每日只是名不见经传地在LeetCode上切题。不想接近春龙节,Facebook的HR发来邮件预定第二次技术电话面试,没多长期亚马逊的HR也发来面试预定邮件,师弟@mikeandmore2又经过邮件帮自己推荐了AeroFS的一位元老(AeroFS是一家YC投资的做P2P文本同步/共享的startup)。那大约就是所谓绝处逢生吧……

脸书第二次技术电话面试的面试官依然是炎黄人。走到这一步,此前的锻练效果早先展现,基本上找到便捷搞定这类入门级算法题的窍门和感到了。这一轮面试也相比较顺,和后来进展的亚马逊(Amazon)第二次电面类似,四十五分钟连切三题,第三题也是因为日子涉及只需讲思路。面试官听上去比较满足。面完事后很开心,心想那下至少能去Menlo
Park溜达一圈了,即使面试没通过,也权当是参预电话竞猜中了个加州八天游了——没悟出最终真被自己乌鸦嘴说中,唉!第二天便接到了HR的onsite诚邀,然后便起初办签注。

 

签证

Cat曾经在某群内说过一句话,大约是说“某些人从早到晚说要出国,却连个旅游签注都不肯办”。好啊,看到那句话的时候自己就有种躺枪的痛感——以前本身还未曾办过签证。收到onsite约请时早已是十月首旬,为了赶上一月1日的H1B申请,HR敦促我无法不尽早做到面试。收到Facebook用于办理B1商务签证的特邀信后,紧张的签证准备干活就从头了:准备资料、填写DS160表格、预约面签,各类头大,按下不表。

杰出幸运的是,我预定到一个老大近的面试时间,那样一来一月中便足以抵达Menlo
Park。由于二零一八年5月份已于百度去职,我情不自禁担心会否因为眼下尚无雇主而招致面签被拒。为此,准备了户籍本、结婚证、过往聘用合同、银行贸易记录、学位证、结束学业证等林林总总一大堆材料。不想面签当天那几个素材一份都尚未应用,雅观的女子面试官只精通了赴美目标和本人所申请的岗位的劳作地点,时期在处理器上肯定了一下自己事先的工作经历,最终微笑着说了一句“Good
luck”便放行了,整个进度不到30秒,连Facebook的约请函都尚未看。

 

Onsite

HR告知外国候选人的onsite面试一般配备成周天出发周二面试,中间隔一个周末,以便休息和倒时差,同时也尽量裁减在职候选人请假的命局。我的onsite时间表也是那般。那一个布局依旧相比人性化的。然而事实注明短短一个周末是相对倒不苏醒16个钟头的时差——在美之间天天夜间都清醒得跟打了鸡血一样,完全没有睡意,以至于面试前一晚我只睡了不到三个小时,周天五场地试狂灌了四杯咖啡。今后再参预国外onsite恐怕得提前一个礼拜在家就从头倒时差才行。

Onsite前后,HR和承担协调酒馆的非死不可工作人士都万分效忠,提供的新闻十分详实。预约的酒吧就是Cat面经中关系的Sheraton
Palo
Alto,地理地点极佳;缺点是互联网龟速,恍如置身墙内,当时心想要是全美都如此个破网速,肉身FQ又为哪般?

由于onsite是在总部举行,事先要签署一份NDA协议。协议内容相当严谨,其中规定在面试时期获悉的其余information都属于保密范畴,所以自己只会拣GlassDoor上涉及到的情节来写,面试中问答环节的情节就略过不提了(脸书方面曾发邮件说欢迎到GlassDoor上写面经,所以这么做应该是平安的)。

Sheraton Palo
Alto到非死不可总部大致20分钟车程。面试当天清晨在酒家门口打车过去,在前台签到时大概是9:30,然后便是静候HR。时期连入脸书的访客用有线互联网上了少时网,那才终于找回了对美帝网速的信念。十点钟帅哥HR准时出现,一番寒暄后便带我简单逛了眨眼之间间园区,灌了杯咖啡。其中我最口水的是站立办公用的案子和超大的显示器。其他细节种种面经都有介绍,按下不表。

面试在一个中号会议室举行,两面墙上都有答题用的白板。面试开端前,HR先介绍了各轮面试的内容和顺序。面试官分两种角色:

  • Ninja(忍者):面coding,白板写代码;
  • Jedi(星战里的绝境武士):面文化内容,诸如个人兴趣、职业规划等务虚内容;
  • Pirate(海盗):面系统规划。

我的面试部署是中午一轮ninja、一轮jedi加ninja、一轮pirate,清晨两轮ninja。每轮45分钟。

首先轮ninja是个中国人面试官。一共两道题,第一题先写出了一个不易但不太高速的解法;优化了少时,面试官勉强满足,进入第二题。第二题是道完全没见过的图论题,面试官标题叙述到一半的时候自己自以为想出一个很简短的做法,于是很快说了思路,结果面试官也飞快提交了一个反例……来回四次之后边试官告诉我此路不通,挣扎了会儿照样没思路,最终终于时间到,不得不屏弃。事后意识也是个经典难题,做不出来纯属复习不到位。那也是以前过于依赖LeetCode的苦果——LeetCode上的题材类型较窄,很多方面从未掩盖到。

其次轮是jedi加ninja,有多个面试官,一个承受面试,一个见习旁听。一上来第一jedi角色,聊了几乎二十分钟,还算比较投机。余下的时光做了道题,一遍性顺遂经过。最后提问环节的时候聊到园区内各样涂鸦,顺手在白板上给旁听的面试官画了个卡通像(那位是光头,好画……)。

其三轮先导在此之前有越发钟中场休息时间,HR再度出现,又带我转了一圈,再灌一杯咖啡(困啊)。然后发生了一件相比较坑爹的事体——面试官放鸽子了。大家回去会议室后,面试官并从未按期现身。又等了两分钟,HR出去打了个电话,叽哩咕噜了少时,然后一脸郁闷地骂了句“fuck”。原来面试官搞错了时间表,接电话时人还在家里……好在HR连忙找到一位临时面试官,得以勇往直前面试。即使面试发轫时间比预定时间晚了十五分钟,但那位临时面试官的变现却很标准。面完之后我自我感觉还不易。但今后才知晓这一轮我的表现并不太好。原因有三个:第一,那是自家本次求职进程中的第一批次也是唯一一轮系统规划面试,没有经验;第二,想太多了,一上来就往大数量上去想,从磁盘存储发轫,没有及时发现面试官给出的数据量完全可以放入内存,面试官提醒了五遍才意识想复杂了(明明从前自己驾驭试官的时候还给候选人下过那几个套的说)。

而后便是午饭。按老规矩是由推荐人领候选人去食堂,就算推荐人不在或没有推荐人,则由HR领去餐厅。我的推荐人当时正值国内,我本以为HR会过来,没悟出发现Cat等在会议室门口。原来HR按照自身简历上的背景材料给合营社内可能认识自我的人群发了邮件,希望找到熟人陪我吃午餐,而Cat在结尾一秒钟发先生现了那封邮件。由于自家的日程是面试截至后随即回国,没有时间玩耍,所以此前基本没有打招呼在加州的同校和恋人,能见到熟人实在是意想不到的大悲大喜,让自家对非死不可招聘工作的回想再次大大加分。午饭前后各一杯咖啡下肚,Cat又带我略逛了下园区,时期聊得那些兴奋,感谢感谢!

中午是接连两轮ninja。第一批次是个南美洲乡音的美丽的女人面试官。第一道题在其次轮电话面试中问过,告知未来换了一道,结果喜剧地卡在那道题上。标题自己不难,我也有思路。写到一半的时候面试官说那个算法占得空间太多,不够好,于是自己打算根据他的思绪走,结果自己没太想清楚,越走越绕,小错不断。眼看时间所剩无几,决定仍然按照自己原本的思绪来,好歹先解出来,好坏再说。最终磕磕绊绊总算写出来。但这一轮只做了那样一道题,显明不雅观。最终一轮又是两个面试官,一个中坚一个旁听。这一轮的光景跟第二轮电话面试时大致,卓殊顺,45秒钟切了三道题,而且都写出了总体的代码。

第五轮截止前边试官间接将我送出了园区。本以为HR还会出现,打算再一次感谢(整个招聘进度中他的干活真正极度优良),但最终没有观察。早晨面试官放鸽子前就看她一副神色匆匆状,揣测别的作业也忙得够呛。当时自我还未曾发现到晚上最后一轮系统规划面试的评介不够高,心想除了上早晨首先轮表现不佳以外,其他三轮还不易,应该有胜算,于是心境还不错。

自此和Cat互换时精通到,一般onsite面试只布署四轮,假如四轮表现心神不定,最终会加面一轮。但本身的五轮面试是一早就规定好的,那一点相比较奇怪。我猜有可能是因为第一批次电话面试的下结论比较模糊的原故。

 

拒信

不亮堂是否因为时差导致神智不清,我依然将机票上的出发时间1200PM错看成200PM,然后华丽丽地以误机画上了个体第四回国际旅行的句号……还好改签免费,不然可就亏大了(来回机票、住宿、餐饮、地面交通花费都是由Facebook报废的)。人困马乏地回到日本首都未来,首都机场的Wifi死活连不上,回到家里立时查收邮件,于是就收取了拒信。不由得埋怨脸谱招聘工作未免太过快速了吗,各位面试官要不要再三思而行下啊?(哭……)不得不说立即要么杰出黯然的。HR在邮件中说可以另约时间联系一下边试反馈的细节。考虑到onsite时期那位HR就如工作不行艰苦,出于节约对方时间的设想,回复邮件时自己附上了一份用谷歌Docs做的在线问卷,其中列出了颇具想问的难题,并尽可能安顿成了增选题的方式。同时,考虑到一些难题或者不便民作答,所有难题都设置成了选答题。

之后,不光收到了HR对问卷的回复,还收受了onsite面试官的上报细节。由此我才得知系统设计面的反映不佳。其余jedi面的反映就像很好,看来就是换了门语言,嘴皮子功夫也如故过得去的。同理可得,在决定性的面试官投票中自我以一票之差落选。

 

小结

Facebook的面试从头到尾都如Cat所说的那样,没有高难度的题材,完全看基础是还是不是丰富扎实。我在电面和onsite面中出的场所全都是温馨复习不成就或不够熟知所致。即使是系统规划题,也大致不需求什么样工作经验,我的感到是相比较卓绝的应届生也不会有怎么着大题材,想得太多反而简单栽跟头。

其余,如果不是亚马逊反馈过晚,我应该还会在湾区再待上一两周,那样的话也许还赶得及再争取一两家onsite面试机会。当然,非死不可onsite甘休后我重新抱着侥幸感情盲目自信,没有下决心改签机票同样罪不可恕……

事后脸谱又发了一份在线调查问卷,对面试体验做调查,最后还提供了一份礼品清单,背心、帽子、鼠标、记事本等等任选一样。同理可得从头到尾非死不可的招聘工作给本人的痛感都很好,无论是工作质量、成效,仍然人文关切,都做得不得了到位甚至凌驾预期。

 

后记

从最早萌生肉身FQ的想法,到亲身实践五次,再到机会擦身而过,感慨良多。不过,至少这一次的阅历讲明了温馨就算功力还不够,但也差得不太多。我尚未舍弃,准备丰硕之后还会再试四回。面试是个经验活儿。此次求职经历中,首回电话面试、第三次跟老外沟通、第三次系统规划面试等等,都彰显不好。在此从前固然当了无多次面试官,面人没有一百也有几十,但轮到自己以候选人身份经历的求职面试却唯有两遍。要是从前不那么意马心猿,在试谷歌(Google)此前多试几家积攒经验,结果或者就全盘差距等了。

终极,跟同样有意向经过找工作FQ的爱人们说一句:FQ的趋向其实很高,只要技术和罗马尼亚(Romania)语那七个硬目的合格,且家人不反对,再加上胆大心细,就很有愿意。可惜我的例证不足以鼓舞人心,只好写点流水帐供大家参考罢了。

那篇面经欠了濒临一个月,一方面是因为求职不顺心生懒散,一方面是blog主机服务商接连故障,前二日才完全苏醒。今天算是把欠债补上了。

相关文章