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

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编程时用到的关键工具类,以及为什么。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
百度java笔试主要考察考生在Java基础知识、面向对象编程、数据结构算法、多线程编程、数据库操作、网络编程等方面的能力和实际应用能力。 在Java基础知识方面,笔试可能会考察考生对Java语言特性(如封装、继承、多态)、基本数据类型和引用类型的理解、异常处理机制、集合框架等的掌握情况。 面向对象编程能力是Java开发者必备的技能,笔试会考查考生对面向对象思想的理解和运用,包括类和对象的设计、继承与多态的运用、接口的使用等。 数据结构算法是编程的基础,也是Java开发重要的知识点。笔试可能会考察考生对常见数据结构(如数组、链表、栈、队列、树等)的理解和常见算法(如排序算法、查找算法等)的掌握程度。 多线程编程是Java的重要特性,也是面试经常涉及的考点。笔试可能会考察考生对线程的创建与管理、线程同步与互斥、线程通信等方面的理解和实践经验。 数据库操作是Java开发常用的技能之一,笔试可能会考察考生对数据库操作的基本知识,包括SQL查询、事务处理、连接池等的掌握情况。 网络编程是Java开发常用的技能之一,笔试可能会考察考生对Socket编程、HTTP协议等的理解和实际应用经验。 综上所述,百度Java笔试主要考察考生在Java基础知识、面向对象编程、数据结构算法、多线程编程、数据库操作、网络编程等方面的能力和实践经验。为了取得好的成绩,考生可以提前复习和实践相关知识,并适度进行练习和模拟笔试

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值