您的位置:首页 > 编程语言 > Java开发

百度笔试2012暑期实习生招聘(java)

2012-05-09 12:06 429 查看
1、给一个单词a,如果通过交换单词中的字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如单词army和mary护卫兄弟单词,现在要给出一种解决方案,对于用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能的高。

2、线程和进程的区别及联系?如何理解线程安全问题?

3、c和c++中如何动态分配和释放内存?他们的区别是什么?

4、算法和程序设计

网页爬虫在抓取网页时,从指定的url站点入口开始爬取这个站点上的所有url link,抓取到下一级link对应的页面时,网页对该页面上的link进行抓取从而完成深度遍历,为简化问题,我们假设每个页面上至多有一个link,如从www.baidu.com/a.html,链到www.baidu.com/b.html再链到www.baidu.com/c.html.当爬虫到某个页面时,有可能再链到www.baidu.com/b.html,也有可能爬取到一个不带任何link的终极页面,当抓取到相同的url或不包含任何link的终极页面时即完成爬取,爬虫在抓取到这些页面后会建立一个单向链表,用来记录抓取到的页面,如a.html->b.html->c.html->、、、、->NULL

对于爬虫分别从www.baidu.con/x1.htmlwww.baidu.com/x2.html两个入口开始获得两个单向链表,得到这两个单向链表后,如何判断它们是否爬取到了相同的url?假设页面url上百亿,存储资源受限,无法用hash方法判断是否包含相同的url。

请先给出相应的算法,再给出相应的代码实现(只需给出判断方法代码,无需爬虫代码)

5、算法与程序设计

数组al[0,mid-1]和al[mid,num-1]是各自有序的。对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序。要求空间复杂度为O(1).

注:al[i]元素师支持'<'运算符的

6、系统设计题

两个200G大小的文件A和B,AB文件里面内容均为无序的一行一个正整数字(不超过2^63)请设计方案,输出两个文件中均出现过的数字,使用一台内存不超过16G,磁盘充足的机器。

方案中请注明使用java编程时用到的关键工具类,以及为什么。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: