百度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

中的层次遍历,记录深度和广度


三. 系统设计题

百度2014校园招聘研发工程师笔试题+答案 (北京)_第1张图片

如图每一个object都会有一个描述信息info,

假设:

(1)info大小固定,

(2)info可以位于object的左边或者右边

(3)info不可重叠

问题:

(1)设计一个算法使相同区域内,尽量使每一个object都显示出info

(2)若Map尺寸非常大,考虑你的算法。

待续

你可能感兴趣的:(随笔)