百度2014校园招聘笔试题

答案待补充)

 

一、简答题

1、OSI的七层模型。(10)

OSI的七层模型如下图所示:

百度2014校园招聘笔试题(10月13北京)


 

2、请列举下不同进程之间共享数据的方式(至少举出三种)(10) 

   1、文件映射(Memory-Mapped Files)能使进程把文件内容当作进程地址间一块内存那样来对待

   2、共享内存(Shared Memory)实际就是文件映射的一种特殊情况

   3、命名管道(Named Pipe)是服务器进程和一个或多个客户进程之间通信的单向或双向管道

   4、邮件槽(Mailslots)提供进程间单向通信能力,任何进程都能建立邮件槽成为邮件槽服务器

   5、剪贴板(Clipped Board)不同应用程序之间共享不同格式数据提供了一条捷径

   6、动态连接库(DLL)中的全局数据可以被调用DLL的所有进程共享

 

 

3、请描述下TCPUDP的差别,并且各列举出一个上层协议。(10) 

   TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

 

   UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

 

    经常使用“ping”命令的原理就是向对方主机发送UDP数据包,ftp等就是使用到的TCP协议

 

二、算法与程序设计

1、给出一个数据A={a_0,a_1,a_2…a_n}(其中n可变),打印出该数值元素的所有组合。(15)

   因为题目要求n可变,所以不可能是n层for循环的方式,可以采用递归的方式来实现,每次取一个元素,在剩下元素的数组中递归,要注意递归结束的条件。 

 

 

2、有这样一个数组A,大小为n,相邻元素差的绝对值都是1,如A={4,5,6,5,6,7,8,9,10,9}现在给定数组A和目标整数t,请找到tA中的位置。(15)

最简单的方式是循环遍历每一个元素之后比较,找到t在A中的位置,此种方法效率最低;

   改进:因为相邻元素差的绝对值都是1,那么任意两个元素相距的位置至少是两元素差的绝对值个,假设要找的元素是t,t和 a(0)的差为y1=abs(t-a[0]),那么t和a[0]的距离至少是y1,再求一次差值y2=abs(t-a[y1]),t和a[y1+y2]的 距离至少是y2,继续向后查找,直到相等为止,此种方法效率较前一种高

 

 

3、有一颗二叉树,定义树的高度为从根到叶子节点的最长距离,树的宽度为每层节点的最大值,树的面积定义为高度和宽度的乘积。写一个函数计算一个二叉树的面积。(15)

   广度遍历求树的宽度,深度遍历求树的高度,之后计算面积 

 

 

三、系统设计题(25)

百度2014校园招聘笔试题(10月13北京)


个人资料
sam
等级:6
文章:18篇
访问:3.5w
排名: 20
推荐
欢迎关注 “BAT笔试面试” 微信公众号
全栈面试题,你想要的都在这^_^
上一篇: 2015百度笔试题及答案
下一篇:谷歌2013校园招聘笔试题心得(附答案)
猜你感兴趣的圈子:
百度笔试面试圈
标签: y1、udp、y2、进程、面积、面试题