雅虎邮件搜索组面经# JobHunting - 待字闺中
Z*Z
1 楼
我属于内部transfer,所以没有电面。之前和Manager聊过,感觉不错,遂安排了个时间
和他们组的engineer聊聊。见了大概4个人,问的题都不难,但是怪自己学艺不广不深和
不精,最后惨败。也没签啥NDA,觉得报报没啥不妥。
中国小男,开放式问题,已经有一个mail系统,支持search功能,应该怎么做?我之前
和manager聊过,知道他们search相关的 data和index是另外存储的,于是往那上面靠。
他主要问了不同的Mime文件如何处理,如何支持search by 不同的criteria,然后什么
时候更新index(在收到邮件的时候是同步还是异步更新,邮件状态有变化的时候)。这
个应该还行。
亚洲老男,上来问我encoding的问题,java里encoding是怎么做的,在C里面给一个cha
r array代表string,返回前十个字符应该怎么做。我只能大概忽悠说utf8下,有的字符
需要多个byte,需要从头到尾一个一个parse字符。
回来之后找到了这个链接解释的不错。
http://stackoverflow.com/questions/2533097/java-unicode-encodin
然后是统计字符出现频率的简单程序。简单递归统计在一个公司里,某个manager有多少
的下属。
接下来就hold不住了。
印度老男,他的背景说是IBM research做database的,问的全是基础的CS的问题,可怜
我没上过OS的课,答得一塌糊涂。
1. 默写ACID,逐条解释
2. 什么是操作系统
3. 如果两个进程需要access同一个resource,叫什么(critical section)
4. 什么叫race condition
5. 什么是two phase commit
6. 什么是hash table
欧洲老男
在java里写一个read和write函数,只许用关键字和一些基本的数据类型,不许用lock类
什么的,使得:
1. read发生时,任何的write都被block
2. write发生时,任何其他的read和write都被block
磨出来之后,新的要求是:
1. read发生时,任何的write都被block
2. write发生时,任何其他的read和write都被block
3. write被call时,如果有read正在进行,让它们finish,但是要block之后的
read call。使得之前的read执行完了之后,write可以执行。
回头再看看这些题真的不难,但是都是自己没准备或者复习过的,败的心服口服。
和他们组的engineer聊聊。见了大概4个人,问的题都不难,但是怪自己学艺不广不深和
不精,最后惨败。也没签啥NDA,觉得报报没啥不妥。
中国小男,开放式问题,已经有一个mail系统,支持search功能,应该怎么做?我之前
和manager聊过,知道他们search相关的 data和index是另外存储的,于是往那上面靠。
他主要问了不同的Mime文件如何处理,如何支持search by 不同的criteria,然后什么
时候更新index(在收到邮件的时候是同步还是异步更新,邮件状态有变化的时候)。这
个应该还行。
亚洲老男,上来问我encoding的问题,java里encoding是怎么做的,在C里面给一个cha
r array代表string,返回前十个字符应该怎么做。我只能大概忽悠说utf8下,有的字符
需要多个byte,需要从头到尾一个一个parse字符。
回来之后找到了这个链接解释的不错。
http://stackoverflow.com/questions/2533097/java-unicode-encodin
然后是统计字符出现频率的简单程序。简单递归统计在一个公司里,某个manager有多少
的下属。
接下来就hold不住了。
印度老男,他的背景说是IBM research做database的,问的全是基础的CS的问题,可怜
我没上过OS的课,答得一塌糊涂。
1. 默写ACID,逐条解释
2. 什么是操作系统
3. 如果两个进程需要access同一个resource,叫什么(critical section)
4. 什么叫race condition
5. 什么是two phase commit
6. 什么是hash table
欧洲老男
在java里写一个read和write函数,只许用关键字和一些基本的数据类型,不许用lock类
什么的,使得:
1. read发生时,任何的write都被block
2. write发生时,任何其他的read和write都被block
磨出来之后,新的要求是:
1. read发生时,任何的write都被block
2. write发生时,任何其他的read和write都被block
3. write被call时,如果有read正在进行,让它们finish,但是要block之后的
read call。使得之前的read执行完了之后,write可以执行。
回头再看看这些题真的不难,但是都是自己没准备或者复习过的,败的心服口服。