Facebook实习技术面试

连续两轮45分钟视频面试:

第一轮:

(1) 判断String[] words ⾥面的字符串是否是按照 char[] ordering 提供的字⺟顺序排序的. 讨论了下时间复杂度;

(2) 有两个数组, A = {1,2,3} B= {2,3,4}, 做点乘, 即对应位置元素相乘, 得到结果数组 {2, 6, 12}; 进⼀步问, 如果稀疏怎么处理(有很多零元素), 我说⽤Map把⾮零数字和index存起来, 面试官说不太好, 然后改成List<int[]>, ⾯试官表示同意; 最后⼜问为什么Map不不好, ⾃己感觉答得不太好.

第⼆轮:

(1) 合并两个已经排好序的linked list + 复杂度
(2) 判断一棵树是否complete + 复杂度 + 怎么写test cases

面试用视频 + coderpad, 面试官把题目贴到coderpad里, 所有的题都没有function signature, 什么都需要自己写, 这个和leetcode很不一样; 还有面试所有题都要求自己概括下题目, 面试官看你是否理解, 然后再说下自己打算怎么解, 如果描述不明白的话, 不会让你动手敲代码的.

请问楼主视频面试是打开coderpad的视频吗?还是用Skype?

视频用的是别的软件, 好像是BlueJean; 编程用的Coderpad, 两个软件用的都是网页版, 你不需要自己安装什么东西. 面试前你会收到HR邮件, 给你两个链接, 到面试的时刻, 你和面试官一起点进去, 一个带你们到视频, 一个带你到coderoad.

Coderpad是黑色主题, 有高亮, 不过没有任何自动提示, 甚至打左花括号, 右花括号也不会自动出现, 建议面试前用记事本练习试试. 还有, 面试官出下一题的时候, codeerpad界面不会更新的, 就是贴在你的第一题代码后面.

视频的时候, 有时候会卡个10秒, 不用紧张, 会自动再连的. 祝好运!

请问楼主面的是summer intern吗

是的, 明年夏天的实习

感谢楼主的分享!请问下有没有问简历或者behavior questions?谢谢~

我的情况是, 上来面试官就说这是场coding interview, 然后就扔了两个题. 最后5分钟, 让我做个简单的自我介绍, 然后问有没有问题问他.

ordering里面的字母会重复吗
第四题的test case自己输进去了 需要deserialize不?谢谢楼主!

字母不重复; test case口头带一下就行

感谢分享!我想请问一下楼主用coderpad写完代码后可以执行吗?另外coderpad有debug的功能吗?
我在网上没有搜到这个功能。谢谢!

不能执行也不能debug,就是一个有高亮的记事本