百度2014校园招聘特制工程师笔试题+答案 (北京)
百度2014校园招聘研发工程师笔试题+答案 (北京)
一.简答题
1. 简述OSI7层模型
(1)物理层
(2)数据链路层
(3)网络层
(4)传输层
(5)会话层
(6)表示层
(7)应用层
参见:
TCP/IP笔记 一.综述
2. 简述进程通信的方式(至少3种)
(1)共享内存
(2)消息
(3)管道
3. 简述UDP,TCP的区别,并列举至少一种上层协议
(1)TCP:提供了一种可靠的数据传输服务,TCP是面向连接的,只有链接建立起来后才能通信。
HTTP,FTP,
(2)UDP:是把数据直接发出去,而不管对方是不是在收信,就算是UDP无法送达,也不会产生ICMP差错报文。
DNS(server to server by TCP),TFTP,NFS参见:
TCP/IP笔记 三.运输层(1)——UDP,TCP
二. 算法题
1. 打印数组的所有组合
我认为组合和排列是不同的,
组合:[a, b, c] == [b, a, c]
排列:[a, b, c] != [b, a, c]
有些人输出的结果是排列。
所以如果是组合的话那结果就简单多了
AllParts( A, n ) //A[1]...A[n] { for( i = 1 to n-1) // { for( j=i+1 to n ) { Output(A, i, j) //输出A[i] ... A[j] } } }
2. 二叉树的面积(深度*广度)
参见
树——(3)二叉树的遍历VRL,RVL,RLV
中的层次遍历,记录深度和广度三. 系统设计题
如图每一个object都会有一个描述信息info,
假设:
(1)info大小固定,
(2)info可以位于object的左边或者右边
(3)info不可重叠
问题:
(1)设计一个算法使相同区域内,尽量使每一个object都显示出info
(2)若Map尺寸非常大,考虑你的算法。
待续