百度自然语言处理面试
一面:
2012年5月7号下午18点左右收到百度的面试通知,叫我8号早上9点去面试。面试之前也没什么准备,其实是没多少时间准备。给我面试的是一位差不多三十岁左右的青年。
一开始,他针对我简历上的内容叫我介绍下我做的一些项目。回答这个问题的时候,非常轻松,因为项目是自己做的,比较了解,而且事先也知道他会问,所以稍微有准备一下。
接
着他就开始叫我写程序了。其实挺怕写程序的,因为好久没搞算法实现了,但也没办法,只能硬着头皮上。他叫我写的第一条程序是:给你一个整数
m(m>2),写一个函数,输出所有小于m的素数。第二个程序:就要我就要我写堆排序中构建最小堆的程序,原来的堆是最小堆,插入一个值后如何保证
它还是最小堆。
接着他问我如果输入关键词“货车追尾”,怎么样能识别出“货车”其实应该是“火车”。我说可以根据上下文语义,然
后根据条件概率求最有可能的结果,然后他又问我如何根据上下文语义呢?我就噼里啪啦的讲的一大堆,可能比较乱,后来仔细一想其实很简单,就是多音字识别问
题,和词义消歧问题差不多。
后来他问了我一些HMM和语言模型的联系。我说我最近在看宗成庆的《统计自然语言处理》,看了一些HMM但还么仔细看语言模型呢。
然后他问我去百度实习的话时间能保证吗?我说,我现在时间很充分,平时就看看文章,写写文章,没问题,他说好的。
最后,他问我有没有什么问题问他,我说能不能给点评价,他说程序还要熟悉一下,要看下语言模型,我说好的。一面就这样结束了,差不多花了三十五分钟。
二面:
8
号晚上21点左右收到了二面通知,叫我9号下午四点去二面。我稍微早点去了,看到我的面试官正在为一个人面试。但感觉那个人一直在写程序。我那是就开始纳
闷,难道二面还要写程序?本来以为二面不会叫你写程序,会问一些策略问题,结果发现还真错了。一上来就叫我写程序,而且比一面的还要猛。总共叫我写三个程
序。
第一个:对于数组A[]中的每个A[i]求A[0~i-1]中比A[i]小且距离A[i]位置最近的数,如果没有则为-1,要求时间
复杂度为O(n)。这个程序写得那个叫惨啊,如果是时间复杂度为O(n*n)那就简单,如果是O(n)是真不会啊。但我没放弃,最后虽然很艰辛,但还是在
面试官的指导下完成了。
第二个:判断两颗二叉树是否相等。我问有什么要求没?他说没有。我就开始写了。我的第一个思路是:如果两颗树前序
遍历和中序遍历结果都一样,那么这两棵树肯定是一样的,我就很快把程序写了。他说你这样是可以的,但能不能只遍历一次?我说我想想吧。我想了一下说,其实
可以很简单,如果这两棵树的数据结构定义成数组形式,那么只要这两个数组的每个元素相等就可以了啊。他说这种情况只能针对完全二叉树吧?我说如果不是完全
二叉树只要把原先的两颗二叉树变成完全二叉树不就行了吗,缺失的结点就是空元素嘛?虽然有点浪费空间,但也是可行的吧。然后我加了一句,当然还可以用层次
遍历啊,只要层次遍历的结果一样那么这两棵树肯定是一样的。不过层次遍历可能有点复杂,我一下有点忘了,但以前搞过。他哭笑不得,说好吧好吧,这道题算你
过了。我心中一想,好险啊~
第三:实现strcopy(char * dst, char * csr, int len)要求考虑各种情况。写这个程序其实还好,只要考虑到一些特殊情况就行了。比如:是不是空指针,内存重叠等情况。
写这三个程序真是纠结啊,但还是苛刻碰碰的挺过来了。搞完三个程序发现时间过去了四十分钟。
后
来他问了一个用户行为分析问题。问题是这样描述的:在百度中输入关键字,我们可能点击某个页面,或者点击下一页,我们可以将这些点击操作记录在日志文件
中,问如何通过这些日志文件分析两个关键字的行为相识度。我的回答是这样的:每个关键字对应一个url列表,例如关键字1对应list1(n个
url) ,关键字2对应list2(m个url),计算对url进行结构分析,再计算list1中每个url与list2中url的相似度,求和在求平
均。
二面总共花了1个小时,本来准备的东西发现他都没问,还以为他最后会问我有什么问题没,结果连这个都没有问,亏我还很认真准备了的。
三面:
9
号晚上21:00左右收到三面的通知。相比较一面、二面,三面最大的特点就是不要求你写程序。三面主要问了一些项目上面的问题,比如做项目的时候有没有遇
到什么问题,如何解决的?还有发现上司和你的意见不合的时候该怎么处理?还有就是针对我的一个课题你是如何着手的什么的。感觉三面主要考察你的团队协作能
力、沟通能力、处理特殊事情的能力等,当然也会针对一些你做过的项目提些技术性问题。
三面总共花了一个小时,相比于一面、二面显得稍微轻松点。但轻松不一定意味着通过,现在正在等待结果。希望我的面试经历对大家有所帮助。thx~ ^ ^
总结:
面试官都很nice,面试的时候要有自信,把你自己知道的东西说出来就OK了。最后感谢百度给了我一次这样的经历,选择百度,选择成功!^^
注明:本来想把一些程序的代码贴上的,但不知道为什么贴上代码后内容显示会错误。
浙公网安备 33010602011771号