刚面完 Facebook,趁着记忆还比较新,把面试题目写一写,总结一下。
作者 : E同学

编辑 : Afra Tao
专栏:九章算法
面试流程
FB的面试分为两个部分,一个是电面(phone screen),一个是现场面(on site)。我电面只进行了一轮,现场面一共四轮。
面试全部是coding为主。
01
电面
电面的时候其实有点小紧张,不过题目还是做出来了。
1
Coding: 实现具有基本队列属性的循环队
02

OnSite 

电面之后就是 onsite, 这次的面试是在FB Menlo Park 总部进行的。整个过程中,感觉面试官都很nice。
但是感觉他们的工作非常忙,我面试的时候就遇到频繁有电话打进来的,极大的影响了我的思路。
所以培养抗干扰能力也很重要。
1
Coding: 归并排序
纯粹的归并排序,么有其他额外条件。
这是一道 Lincode easy 的题目,做出来并不难,但是要做到 bug free 还是要小心一些。
LintCode原题链接:
http://www.lintcode.com/zh-cn/problem/sort-integers-ii/
Solution链接:
http://www.jiuzhang.com/solutions/sort-integers-ii/
2
Coding: 哈夫曼代码实现
3
Coding: Number of Islands 岛屿个数
给定一个二维网格地图,1代表陆地,0代表水,计数岛屿的数量。
LintCode原题链接:
http://www.lintcode.com/zh-cn/problem/number-of-islands/
Solution链接:
http://www.jiuzhang.com/solutions/number-of-islands/
4
Coding: 买卖股票
这道题我做了无数次了,lintcode上面一共有3道相关变形题,我都做过了,所以比较顺利。
LintCode原题链接:
http://www.lintcode.com/zh-cn/problem/best-time-to-buy-and-sell-stock-iii/
Solution链接:
http://www.jiuzhang.com/solutions/best-time-to-buy-and-sell-stock-iii/
面试感想
整个面试下来,感觉题目不是很难。
可能面试官不仅仅是根据是否做对题目来判断一个人能否通过面试,而是通过一个人在做对前提下表现出来的素质来进行判断吧。
但是无论如何,做对是必须的,所以在面试前还是建议多刷 LintCode
更多精彩内容
  • 回复“简历”,查看简历撰写指南,获取“简历模板”
  • 回复“冷冻期”,查看北美各大IT企业冷冻期信息和注意事项
  • 回复“Career”, 查看Caireer Fair 攻略 check list
  • 回复“薪资”,查看北美各大IT企业New Grades Engineer 薪资水平;
  • 回复“项目”,查看7-14天可以搞定的小项目推荐
  • 回复“评分”,查看系统设计评分指南
  • 回复“behavior”,查看behavior interview指南
  • 回复“晋升”,查看Engineer晋升机制 
《系统设计班》| 本周免费试听
什么是系统设计 
系统设计中常见的问题是什么
怎样回答系统设计问题
系统设计的 4S 分析法
系统设计的知识点构成
设计推特 Twitter
2017年秋招备战进行时
赢在起跑线!
报名登陆官网 www.jiuzhang.com
或点击文末“阅读原文”
继续阅读
阅读原文