百度2012实习生招聘笔试题目(java 方向)

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

2.线程进程的区别和联系?什么是线程安全?

3.c和c++如何动态分配释放内存?区别?

4.爬虫URL,两个单链表----查找相同URL

 

算法与程序设计二

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

注:a[i]元素是支持’<’运算符的。

 

系统设计题

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

方案中请指明使用java编程时用到的关键工具类,以及为什么。

你可能感兴趣的:(java,数据结构,百度,招聘,url,merge)