首页 新闻 搜索 专区 学院

2012百度暑期实习生笔试题

0
悬赏园豆:20 [已解决问题] 解决于 2012-08-31 12:05

简答题
1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如单词army和mary互为兄弟单词。
现在要给出一种解决方案,通过用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地提高。
2、线程和进程的区别及联系?如何理解“线程安全”问题?
3、C和C++中如何动态分配和释放内存?他们的区别是什么?

算法设计
1、网页爬虫在抓取页面时,从指定的url站点入口开始爬取这个站点上的所有url link,抓取到下一级link对应的页面后,同样对该页面上的link进行抓取从而完成深度遍历。为简化问题,我们假设每个页面上至多只有一个link,如从www.baidu.com/a.html链接到www.baidu.com/b.html再链接到www.baidu.com/x.html,当爬虫抓取到某个页面时,有可能再链接回www.baidu.com/b.html,也可能爬取到一个不带任何link的终极页面。当抓取到相同的url或者不包含任何link的终极页面时即完成爬取。爬虫在抓取到这些页面后会建立一个单向链表,用来记录抓取到的页面。如:a.html->b.html->x.html...->NULL.
问:对于爬虫分别从www.baidu.com/x1.htmlwww.baidu.com/x2.html两个入口开始获得两个单向链表,得到这两个单向链表后,如何判断他们是否抓取到了相同的url?(假设页面url上百亿,存储资源受限,无法用hash方法判断其是否包含相同的url)
请先描述相应的算法,再给出相应的代码实现。(只需给出判断方法代码,无需爬虫代码)
2、数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序。要求空间复杂度为O(1)。注:al[i]元素是支持'<'运算符的。

系统设计
两个200G大小的文件A和B,AB文件里内容均为无序的一行一个正整数字(不超过2^63),请设计方案,输出两个文件中均出现过的数字,使用一台内存不超过16G、磁盘充足的机器。
方案中指明使用java编程时使用到的关键工具类,以及为什么?

蛊惑Into的主页 蛊惑Into | 初学一级 | 园豆:147
提问于:2012-05-07 11:11
< >
分享
最佳答案
0

百度又出来忽悠人了。。。。

1,字符串相似度的判断,参看一下经典算法:Levenshtein distance 

2:不说也罢了,线程安全,是说可重入性吗。。。

3:不说也罢

算法设计:都不说了,睡觉去。。。。

收获园豆:20
zsounder | 老鸟四级 |园豆:2819 | 2012-05-07 12:22

谢谢啊,虽然忽悠人,但还是蛮想进的。。。

蛊惑Into | 园豆:147 (初学一级) | 2012-05-08 10:25
其他回答(1)
0

百度,,唉,一个多少人想去的地方,,,

Philomena | 园豆:154 (初学一级) | 2012-05-08 10:21

很赞同。。。。。

支持(0) 反对(0) 蛊惑Into | 园豆:147 (初学一级) | 2012-05-08 10:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册