guangyi的面经和总结# JobHunting - 待字闺中
g*i
1 楼
**********************************
M:
phone interview (1 round):
why MS?
biggest challenge
why like coding and algorithm?
what is good code?
your longest code
biggest accomplishment
if you don't want some functions to be modified in java, what to do?
does java allow multiple inheritance?
what does synchronized keyword mean in java?
CEO wants a book, you find it in the system of a nearby bookshop. You went
to the bookshop but fail to find, you have 5 minutes, what will you do?
you have to test 10 features but you only have time for 5 features, what
will you do?
how do you priorize features?
what's your interest/ preferred group?
Onsite (university recruiting event, 4 round):
1. a file with unknown number of float number, how to sort.
2. some behavior questions and questions for my research
3. chess game: knight move from a starting point to an end point, find
shortest path
4. debug question and a mathmatical question
5. find words that appear twice in a book/string
4论面试分工明确,一轮sort,一轮graph search,一轮debug和数学不需要写code,一轮算
自然语言处理吧.程序没写完也没事,总体框架思路比较重要.
**********************************
A:
phone interview (2 round)
1.insert node in BST
2. find most frequently word in a file
3. 写了一个文件操作的程序
onsite (6 round):
1.find first unique character of a string .
2. How does hashmap work?
3.describe an algorithm to schedule jobs, each job depend on some other jobs
. How to detect cycle?
4.find intersections of two sorted/unsorted arrays? what if the sorted
arrays follows uniform distribution?
5.data structure for arithmatic expression? What OOD principal should you
use? What design pattern to use if you need to add many functions to your
data structure?
6. server client, back end server only accept 1 request/second. How to deal
with many clients with many requests?
7. level order print tree
8. string to integer
9. why amazon? what can you improve in amazon? what do you know about amazon?
还有几道和他们组相关的题目,问了我自己的research.
大多数题目要写code
************************************
F:
phone interview (2 round):
1.given a function which reads data from a data resource "int recv(char *buf
, int len)", implment a function readLine();
2. implment LRU cache
onsite (university recruiting event, 4 round for phd, 3 round for master)
1.remove duplicates from a list of numbers
2. password permutation (lowercase and uppercase change. E.g, abcd -> Abcd,
aBCD,... 顺序不变)
3. longest increase sequence for an integer list
4. LRU / search in rotated array / implement queue using stacks 这几题我要么
电面问过了要么网上看过,所以面试官换题目了,当时应该装一下的
5. find number of unique numbers in a stream input of integers. need
accurate number if the result is small, need rough number if the result is
large.
5. 一些和facebook相关的system design.网页上用markup language define了一些
object, how to store these objects, how to define relationship between
objects and users, how to search for relationship, how to find recently
listened song by one user, one song may be listend by the same user in
multiple times. etc.
addtional phone interview after onsite:
1.how to implement news feed in Facebook
2.how do you store user activies?
3.how to generate updates to facebook users who have just logged in?
4.new contents, how to store? if push to main databases, they will crash.
5.how do you rank top stories?
6.how to implement the like function
7.Memecache two strategies:look inside cache, write through cache,describe
pron & con
8.Search system has two strategies for inverted index,term shotting,document
shotting, describe pron & con
F家面试题目一般都不难,但是他们期望你写程序要快,准确,bug尽量没有.我onsite后又
被问了电面了一轮系统设计,这方面自己没有任何经验也没准备过,回答的比较差.朋友
说一般fresh不问系统设计的,可能对phd要求高吧.另外比较奇怪的是onsite的时候10点
到,然后听了2小时seminar介绍Fb的生活,1小时吃饭,半小时tour,下午2点才开始正式面
试,好多名校的本科生来面试.
*****************************************
G:
签了NDA并且准备去G,所以就不说题目了,可以看看尘埃落定的题目,难题不多.电面一轮
,onsite是4轮+lunch interview.
*****************************************
我走的是题海战术,主要看了:
interview exposed
careercup 150
mitbbs的面经,这里有总结
http://www.mitbbs.com/article_t/JobHunting/31827445.html
sureinterview
1337的网站
Hacking a Google interview
基本都看了2遍,第一遍学习,第二遍要求自己会做并对大多数题能直接写出code.写code
直接在textpad或者纸上写. interview exposed比较适合新手,解释的比较好.1337的网
站也很好,解释的特别细致,上面的题目稍微难点. mitbbs的面经很多没有答案,自己可
以去网上找找.
OOD和design pattern主要看了head first的两本书,design pattern就看了最主要的几
个,面试过程中问的不多.
Stanford CS Education Library也看了下 http://cslibrary.stanford.edu/
topcoder的tutorial看了一部分,在practice room练了少量程序.
wikipedia是个好地方,很多算法都有细致的讨论,源代码,应用.对系统学习某个topic和
数据结构很有帮助.
题海战术知识点容易有漏洞,板上前人总结的一些topic可以用来弥补自己的知识点:
比如jinfeng的总结: http://www.mitbbs.com/article_t/JobHunting/31716067.html
自己不熟悉的topic可以多google/baidu下,看看一些学校cs dept上课用的ppt或者国内
牛人的blog都不错.
我面试用的是java,花了1周多看了oracle的java tutorial,学了很多以前不注意的细节
和java的新feature,面试的时候也被问了几次java的细节问题.
作为非cs的phd我觉得这几方面光靠面经不够,要稍微花点心思:
1.多线程 2.海量数据处理 3.分布式计算的一些基本概念 4.OOD & design pattern
另外板上的讨论是非常有用的.每个时期都有些牛人在板上无私的贡献着,我准备的这段
期间有幸从牛人们这里学习了很多思路和写代码的方法,比如ihasleetcode,火鸡,
darksteel,han6, PixelClassic等等. 以前牛人总结的面经和复习方法等也是非常有用
的. 也建议大家多做笔记,对一些经常被问的topic做系统学习和总结,这些学习方法在
前人的总结里都提到很多次了,就不重复了.
最后说点非技术性的心得:
1. behavior question要准备下
2. 面试的时候要有自信,交流的时候语气语态都要给人一种正面的影响.我遇到一些女
生提问或者解题的时候声音很轻,明显不自信,这样给面试官的印象也不好.
3. 有些题目答的不好,也要尽量尝试多种思路,向面试官展示你思维的多样性. 如果能
逼问出正确的解法并且你对此解法有所了解,可以借机阐述你对这解法的理解(应用,复
杂度,优点,缺点等).总之抓住一切机会推销你自己.
4. 要放松,不要负担太重,不要老想着这是dream company我一定要把握住之类的东西.
把面试当作和同事的技术交流,这家公司不要我可以去下一家,有很多的IT公司,比国内
高考一锤定音要好太多了.
5.复习的时候如果能找到几个一起找工作的同学一起复习效果很好,大家可以交流看到
的好题目.
6.阿三确实比较刁难...... 大家以后要团结起来,多照顾华人同胞啊.我面试的时候内
推的素不相识的同胞,面试的同胞都很友善,非常感谢他们.
天道酬勤,祝福大家都能早日找到满意的工作.记得找到工作后来发面经和心得,也希望
能多报offer和offer细节帮助后人了解市场行情,我就是看了PixelClassic的offer受到
刺激才开始努力学习的.
M:
phone interview (1 round):
why MS?
biggest challenge
why like coding and algorithm?
what is good code?
your longest code
biggest accomplishment
if you don't want some functions to be modified in java, what to do?
does java allow multiple inheritance?
what does synchronized keyword mean in java?
CEO wants a book, you find it in the system of a nearby bookshop. You went
to the bookshop but fail to find, you have 5 minutes, what will you do?
you have to test 10 features but you only have time for 5 features, what
will you do?
how do you priorize features?
what's your interest/ preferred group?
Onsite (university recruiting event, 4 round):
1. a file with unknown number of float number, how to sort.
2. some behavior questions and questions for my research
3. chess game: knight move from a starting point to an end point, find
shortest path
4. debug question and a mathmatical question
5. find words that appear twice in a book/string
4论面试分工明确,一轮sort,一轮graph search,一轮debug和数学不需要写code,一轮算
自然语言处理吧.程序没写完也没事,总体框架思路比较重要.
**********************************
A:
phone interview (2 round)
1.insert node in BST
2. find most frequently word in a file
3. 写了一个文件操作的程序
onsite (6 round):
1.find first unique character of a string .
2. How does hashmap work?
3.describe an algorithm to schedule jobs, each job depend on some other jobs
. How to detect cycle?
4.find intersections of two sorted/unsorted arrays? what if the sorted
arrays follows uniform distribution?
5.data structure for arithmatic expression? What OOD principal should you
use? What design pattern to use if you need to add many functions to your
data structure?
6. server client, back end server only accept 1 request/second. How to deal
with many clients with many requests?
7. level order print tree
8. string to integer
9. why amazon? what can you improve in amazon? what do you know about amazon?
还有几道和他们组相关的题目,问了我自己的research.
大多数题目要写code
************************************
F:
phone interview (2 round):
1.given a function which reads data from a data resource "int recv(char *buf
, int len)", implment a function readLine();
2. implment LRU cache
onsite (university recruiting event, 4 round for phd, 3 round for master)
1.remove duplicates from a list of numbers
2. password permutation (lowercase and uppercase change. E.g, abcd -> Abcd,
aBCD,... 顺序不变)
3. longest increase sequence for an integer list
4. LRU / search in rotated array / implement queue using stacks 这几题我要么
电面问过了要么网上看过,所以面试官换题目了,当时应该装一下的
5. find number of unique numbers in a stream input of integers. need
accurate number if the result is small, need rough number if the result is
large.
5. 一些和facebook相关的system design.网页上用markup language define了一些
object, how to store these objects, how to define relationship between
objects and users, how to search for relationship, how to find recently
listened song by one user, one song may be listend by the same user in
multiple times. etc.
addtional phone interview after onsite:
1.how to implement news feed in Facebook
2.how do you store user activies?
3.how to generate updates to facebook users who have just logged in?
4.new contents, how to store? if push to main databases, they will crash.
5.how do you rank top stories?
6.how to implement the like function
7.Memecache two strategies:look inside cache, write through cache,describe
pron & con
8.Search system has two strategies for inverted index,term shotting,document
shotting, describe pron & con
F家面试题目一般都不难,但是他们期望你写程序要快,准确,bug尽量没有.我onsite后又
被问了电面了一轮系统设计,这方面自己没有任何经验也没准备过,回答的比较差.朋友
说一般fresh不问系统设计的,可能对phd要求高吧.另外比较奇怪的是onsite的时候10点
到,然后听了2小时seminar介绍Fb的生活,1小时吃饭,半小时tour,下午2点才开始正式面
试,好多名校的本科生来面试.
*****************************************
G:
签了NDA并且准备去G,所以就不说题目了,可以看看尘埃落定的题目,难题不多.电面一轮
,onsite是4轮+lunch interview.
*****************************************
我走的是题海战术,主要看了:
interview exposed
careercup 150
mitbbs的面经,这里有总结
http://www.mitbbs.com/article_t/JobHunting/31827445.html
sureinterview
1337的网站
Hacking a Google interview
基本都看了2遍,第一遍学习,第二遍要求自己会做并对大多数题能直接写出code.写code
直接在textpad或者纸上写. interview exposed比较适合新手,解释的比较好.1337的网
站也很好,解释的特别细致,上面的题目稍微难点. mitbbs的面经很多没有答案,自己可
以去网上找找.
OOD和design pattern主要看了head first的两本书,design pattern就看了最主要的几
个,面试过程中问的不多.
Stanford CS Education Library也看了下 http://cslibrary.stanford.edu/
topcoder的tutorial看了一部分,在practice room练了少量程序.
wikipedia是个好地方,很多算法都有细致的讨论,源代码,应用.对系统学习某个topic和
数据结构很有帮助.
题海战术知识点容易有漏洞,板上前人总结的一些topic可以用来弥补自己的知识点:
比如jinfeng的总结: http://www.mitbbs.com/article_t/JobHunting/31716067.html
自己不熟悉的topic可以多google/baidu下,看看一些学校cs dept上课用的ppt或者国内
牛人的blog都不错.
我面试用的是java,花了1周多看了oracle的java tutorial,学了很多以前不注意的细节
和java的新feature,面试的时候也被问了几次java的细节问题.
作为非cs的phd我觉得这几方面光靠面经不够,要稍微花点心思:
1.多线程 2.海量数据处理 3.分布式计算的一些基本概念 4.OOD & design pattern
另外板上的讨论是非常有用的.每个时期都有些牛人在板上无私的贡献着,我准备的这段
期间有幸从牛人们这里学习了很多思路和写代码的方法,比如ihasleetcode,火鸡,
darksteel,han6, PixelClassic等等. 以前牛人总结的面经和复习方法等也是非常有用
的. 也建议大家多做笔记,对一些经常被问的topic做系统学习和总结,这些学习方法在
前人的总结里都提到很多次了,就不重复了.
最后说点非技术性的心得:
1. behavior question要准备下
2. 面试的时候要有自信,交流的时候语气语态都要给人一种正面的影响.我遇到一些女
生提问或者解题的时候声音很轻,明显不自信,这样给面试官的印象也不好.
3. 有些题目答的不好,也要尽量尝试多种思路,向面试官展示你思维的多样性. 如果能
逼问出正确的解法并且你对此解法有所了解,可以借机阐述你对这解法的理解(应用,复
杂度,优点,缺点等).总之抓住一切机会推销你自己.
4. 要放松,不要负担太重,不要老想着这是dream company我一定要把握住之类的东西.
把面试当作和同事的技术交流,这家公司不要我可以去下一家,有很多的IT公司,比国内
高考一锤定音要好太多了.
5.复习的时候如果能找到几个一起找工作的同学一起复习效果很好,大家可以交流看到
的好题目.
6.阿三确实比较刁难...... 大家以后要团结起来,多照顾华人同胞啊.我面试的时候内
推的素不相识的同胞,面试的同胞都很友善,非常感谢他们.
天道酬勤,祝福大家都能早日找到满意的工作.记得找到工作后来发面经和心得,也希望
能多报offer和offer细节帮助后人了解市场行情,我就是看了PixelClassic的offer受到
刺激才开始努力学习的.