一、简述题
1.请简述一下OSI七层模型。
2.进程间的通信有哪几种?(至少列出3种)
3.TCP和UDP的差别是什么?并分别举例一个对应的上层协议。
二、编程题
1、给出一个数组A[a0,a1,a2....an](n可以改变),请输出数组元素的所有可能的组合。
2、一个数组,相邻的元素相差不超过1,例如A[4,5,4,5,6,7,8,7,8,9,10,9],现给定一个t,求出t在A中的位置。
3、一个二叉树,其树高是叶子节点到根节点的最大的距离,其数宽是节点最多的那一层的节点数,其面积是树高与树宽的乘积,请编一个程序来求出一个二叉树的面积。
三、系统设计题
题目比较长,说下大概意思。
主要就是设计百度地图里那些地点的名称显示,如何让一个地图区域中显示更多的地点名字,地点名字可以抽象成一个小的矩形,这个矩形可以放在地点的左边或右边,但是这些地点名矩形不能有重叠,让你设计一下如何能够显示更多的地点名,写出具体的实现算法。
在有些地点,其建筑比较多,地点名很多,地图显示的区域比较大,这个时候就有瓶颈了,请写出具体的优化算法。