Monday, February 9, 2015

面试经历

发信人: goodluck0 (goodluck), 信区: JobHunting
标  题: 分享面试经历
发信站: BBS 未名空间站 (Sun Feb  8 03:23:38 2015, 美东)

fresh phd找工,最近面了几家公司,分享一下面试经历,希望对近期找工的同学有所
帮助。Disclaimer:下面针对各个公司的描述是基于自己的经历,不一定可以
generalize。

Google

题目:这几个公司中相对最有挑战性的,但其难度也远没有超过leetcode,leetcode原
题少,变体多,代码量相对大。
要求:可以有bug,但尽量自己指出或者被指出后能立即更正,最终代码需要保证100%
正确。
安排:无电面,onsite 5轮(4轮coding + 1轮phd thesis)。部分coding换成system
design也有可能。
特点:1. 题目常常条件不足,需要自己问清楚。2. 需要检查输入是否有效。3. 考了
一点很基础的物理和数学知识(嵌入在了题里面)。4. 写完代码喜欢进行一些有意思
的讨论,比如code的某个分支在什么情况下会被调用,比如已知输入的范围哪些语句可
能出现buffer overflow以及如何解决。

Facebook

题目:多leetcode原题,难度一般,代码量不大
要求:尽量无bug,特别是简单题,但有bug也不一定就会挂
安排:电面一轮,onsite 4轮(2轮coding + 1轮system design + 1轮聊天/coding)
特点:1. 需要检查输入是否有效。2. 每个题目代码量不大但尽量多做几个

Twitter

题目:一半leetcode原题一半变体,难度一般,代码量有大有小
要求:可以有bug,感觉不太严格,我自己觉得还有bug的时候面试官说这样就可以了
安排:电面一轮,onsite 5轮(全coding)
特点:1. 题目well defined,可以假设输入有效。2. 问了好几个关于数据结构以及涉
及到interface design要求写clean code

Airbnb

题目:难度一般,很多字典和字符串的题目,多leetcode变体,代码量相对大
要求:在电脑上写,能把给出的不算刁钻的test case跑对
安排:电面一轮,onsite 6轮(3轮coding + 1轮project deep dive + 2轮culture
fit)
特点:1. 面试官把标准答案记得很清楚,需要在写之前把思路细节讲清楚并优化到最
优,能少用一点空间就少用一点,即使不能在数量级上产生影响。2. culture fit很独
特但也没有十分刁难,喜欢了解他们商业模式,爱学新东西,有common sense的人

Uber

题目:难度简单(取决于组和面试官)
要求:按照面试官喜好,有让电脑上写也有白板的
安排:电面一轮,onsite 3轮(2轮coding + 1轮system design)
特点:面试难度方差很大

Quora

题目:题目跟Google的难度差不多,一半leecode原题,代码量有大有小
要求:可以有bug,但尽量自己指出来或被指出后立即更正
安排:电面一轮,onsite 4.5轮(4轮coding + 0.5轮聊天)
特点:1. 题目well defined,可以假设输入有效。2. 算法题居多,每道题都要分析复
杂度。3. 有一轮practical interview,关键考点是能否较快用grep扒一个不熟悉的
code base

Square

题目:难度一般偏简单,glassdoor上原题重复率高。
要求:在电脑上写,能把给出的不算刁钻的test case跑对
安排:电面两轮,onsite不知道因为最近不招人
特点:code写好就行,不关心复杂度

Dropbox

题目:难度一般,有的题目很tricky
要求:据说很高,做对题目也会挂
安排:电面两轮,onsite不知道因为第二轮电面挂
特点:1. 偏重系统。2. 有tricky题目。

高频考点
请参考leetcode和本版面经对号入座

- LRU cache
- 各种花式数据结构的Iterator
- Trie。实现hasPrefix()和getWords()
- 字符串字典题目
- 各种数求和,three/permutation/combination/subset sums,考虑是否可重用,是
否unique
- DFS/BFS
- 2^n iteration + bit operations

No comments:

Post a Comment