招聘|面试经验:Facebook 喜欢什么样的人?

_原题为 面试经验:Facebook 喜欢什么样的人?
招聘|面试经验:Facebook 喜欢什么样的人?
文章图片

Facebook是很多人梦寐以求加入的公司 , 自然它的招聘也是非常严格 。 不过严格是有道理的 , 一位伦敦的女程序员讲述了她成功应聘Facebook的心路历程 , 希望对你有帮助 。
招聘|面试经验:Facebook 喜欢什么样的人?
文章图片

我刚开始求职那会儿 , 真的不敢想象能去Facebook工作 。
但是五个月后 , 我拿到了Facebook的offer 。
我的这次求职过程既有惊喜也有意外 , 本文将与大家分享我的经验和心得 。
我之前在三星电子做了两年的软件工程师 , 想换个工作了 。 7月份我开始准备求职海投——所有那些热门的科技巨头公司我都准备去申请——只除了Facebook 。 我当时很没底气 , 想先去其他公司面试 , 磨炼一番 , 如果表现出色 , 自然会大大增强我的自信 , 然后我再去Facebook碰碰运气 。
大海捞针
我利用上下班通勤的时候以及在准备面试的休息时间 , 开始在LinkedIn上建立人脉网络 。 我那会可执着了 。 我搜索找到想应聘的公司的招聘人员 , 给他们发邮件(如果他们在LinkedIn上的Contact Info下有留邮箱的话)或发站短 。 我并不期待会发生什么实际的结果 , 但这个联系招聘方的过程使我觉得很受激励 , 能够让人保持乐观 , 帮助我度过了求职的准备阶段 , 相信我 , 这需要巨大的努力 。
招聘|面试经验:Facebook 喜欢什么样的人?
文章图片

Tip:LinkedIn是一个很好的平台 , 真的能够收到招聘方的回复 , 但需要坚持 。 不要犹豫 , 去接触陌生人 , 寻求他们的帮助 。 通过LinkedIn的站短 , 我联系上了亚马逊、微软、Snapchat、彭博社和苹果等公司的招聘人员并收到了他们的回复 。
更幸运的是 , 我在8月份给Facebook的招聘人员发了邮件 , 他们真的打电话给我了 。
Tip:接到第一个招聘方的电话(建立初步接触)是我找工作中最耗时的部分 。 尽管我感觉自己还没有准备好 , 但我还是去应聘了 。 在安排第一次面试之前 , 你可以向招聘人员要求几个月的准备时间 。
希望之光
第一次面试是电话会议的形式 , 我期待能有好结果 , 同时也做好了最坏的心理准备 。 面试官来自Facebook的AR/VR部门 。
一点信息:Facebook分为多个部门 , 每个部门都独立招聘 , 它们分别是Facebook工程部、Facebook AR/VR部门和Facebook AI部门 。
面试官问了关于我现在的工作岗位和工作经验的问题 。 在我职业生涯的大部分时间里 , 我一直是一名C/C++开发人员 , 我没有做AR/VR的经验 。 我担忧的是自己并不符合招聘方心目中的候选人要求 。 我被告知 , 只有当我在电话面试中表现得非常出色才有机会 , 因为我的工作技能点与他们团队需要的并不完全一致 。
我的分析:当时Facebook工程部有一个招聘条件限制:只考虑有7年以上工作经验的候选人 。 可能8月是Facebook招聘季的尾声 , 这时全年的HC已经招得差不多了 , 空缺较少 。 我觉得在10月份之后 , 新的招聘季刚刚开始的时候 , 应聘会比较容易 。
志在必得
技术面试安排在两星期后进行 。 面试有两道题 , 要求在45分钟内解决 。 题目很基础 , 代码也很简单(数组和字符串问题) 。 我想强调的是测试运行 , 这非常重要 。
测试运行:面试时你编写的代码没有编译和执行过 。 因此为了验证代码的结果是否正确 , 面试官要求进行测试输入 , 并展示代码如何运行 。
Tip:测试运行是面试时调试代码的好方法 。 在面试准备中一定要加入测试运行哦 。
对于面试官的第二个问题 , 我想到了两种解决方案 , 并向面试官分别解释了它们 。 然后 , 他让我比较两种方案 , 分析一种方案相对另一种的优势 , 最后会预留5分钟向面试官提问 。 我认为这5分钟对面试者的结果评估作用不大 , 所以不用担心 。
Tip:众所周知 , Leetcode是一个非常好的准备面试的网站 , 我觉得它非常有用 。 Leetcode上有一个鲜为人知的好工具——Leetcode Discuss , 大家在这里分享自己的面试经验(和问题) , 相信我 , 很多问题确实都是重复的 。
现场面试
招聘|面试经验:Facebook 喜欢什么样的人?
文章图片

Facebook的面试过程相当快 。 我在两天内就收到了他们的回复 , 然后飞往伦敦进行现场面试 , 一共安排了4轮 。
编码面试(2轮)
共有两道题 , 需要在45-50分钟内解决 。 涉及的领域有二叉树、字符串、栈和列表 。 面试者需要先和面试官讨论解决方案 , 然后在白板上写下你的代码 。
Tip:代码中总有一些极端情况需要处理 , 在临场发挥压力很大的情况下 , 要处理好这些极端情况并不容易 。 有一个技巧帮助我度过了难关 , 那就是测试运行 。 编码完成后 , 我马上告诉面试官 , 我要在一个通用的例子上测试运行我的解决方案 , 先自己调试一下 。 第一次测试运行我就找出来了代码中明显的错误——自己找出来总比被面试官指出来的好 。 通过测试运行我也有更多时间去思考极端情况如何处理 , 然后可以将其合并到代码中 。


推荐阅读