百度数据挖掘部门
跟一面隔了差不多一个星期,收到了二面的通知,这次不是去百度大厦,是去科技园。第一次来科技园,发现这里还是一片工地,有很多大的IT公司,看到汉王科技、IBM之类的。
面试官是一个三十五岁左右的一个看似像是部门leader的人。拿着电脑,边面试边处理工作,氛围比一面的时候轻松了许多。先是问了下基本情况,比较感兴趣实验室是做什么的。然后指出了我在一个项目中使用的机器学习的错误,一看就是行家。一直微笑着提各种尖锐的问题。了解大致情况后开始做题。
题目
(1)数据处理题目
已知n个顺序打散的用户行文,ID(qq号),状态(1表示上线,0下线),时间。已知0时刻再现人数是x个,求第1时刻的人数。
答:这道题其实很简单,建立一个数组,每两个时刻区间内,上线就总数加一,下线就减一。
一开始我没完全领会到意图,采用的方法是求得每个用户的上线时间区间,然后再找到1时刻上线的人。经过提示,想到的跟正确答案类似的结,但是因为我没说是用数组存,我说用list,空间复杂度大了一些。
(2)推荐栏
假设搜索的词是“刘德华”,你该怎样推荐边栏的推荐人物。
答:以下是我的答案,判断重名的可能性,找到是哪个“刘德华”,根据搜索频率可以判断出来。
(1)然后给用户打标签,“歌手”、“演员”等,推荐相关条目下的高热度人物。
(2)接着遍历相关时效性新闻,找到同时出现的关联度高的人物。
(3)遍历此人出现的网页,找到关联人物。(期间问了如何去噪,比如编辑小王这种,我的回答是可以找到网页的第一段内容判断,还有就是根据比例,尽可能多的遍历网页)
(4)根据贴吧、微博信息,个人媒体
(5)根据其它也搜索“刘德华”的人的搜索结果,也就是一种针对用户的协同过滤。(答上这个他很满意)
(6)这条是他加上的,我没想到。根据用户的点击反馈,他搜完刘德华,又点了什么人,就推荐什么人。
经验是,不要装逼,踏实的想怎么实现需求,花哨的代码没用,主要是效率要高。另外就是,脑子要快,顺着提示往上爬。
/********************************
* 本文来自博客 “李博Garvin“
* 转载请标明出处:http://blog.csdn.net/buptgshengod
******************************************/