Twitter 电面面经

原帖地址:一亩三分地

第一次发面经,不周到的地方望大家见谅
两轮电话面试,每轮45分钟,听声音好像都是中国人。比较走运,问的基本是leetcode上见过的或者类似的题

第一轮:
1. The sentence breaking problem Given a string representing a potential sentence and a dictionary, check if the string can be split into words that are in the dictionary. Example:
‘dogandcat’, [‘dog’, ‘cat’, ‘and’] => true
‘dngsandcat’, [‘dog’, ‘cat’, ‘and’] => false
Leetcode上有非常类似的题,我就不赘述了

2. Clone graph。 Graph node 结构如下
GraphNode {
int value
list[GraphNone] neighbors
}
Leetcode上唯一一道graph的题(至少我做的时候还没有第二道),记得创建新graph node的时候要存好新node和旧node的对应关系,这样才能知道每个新node 的neighbors这个list里每个pointer该指向哪个node。记录方法不止一种,不过思路类似。

一轮结束之后几天就有消息了说要第二轮

第二轮:
1. Check if a sudoku board is valid. Input is 9*9 2-d array with each element being a digit (1, 2, .., 9)
Leetcode也有,不过这里问的是填好的数独是否正确,但是判断方法还是一样的
2. Sudoku solver。 时间不多没有让我写code,不过思路基本就是模拟法,每到一个格子就试每个数字,如果可以放就继续试下一个,不行的话就backtrack再试下一个数字。 不知道大神们有没有更厉害的解法

总体感觉twitter面的并不难,基本功过硬的同学就不怕,当然我这次算是运气不错。另外熟练一下常见思路(BFS/DFS, DP,recursion, etc.) 的code的具体写法,这样真正写的时候不耽误时间想code的结构,也不容易出错,也给面试官一种你写起code来风生水起的感觉……