2014校招-百度研发笔试-厦门站
一、简答题
- osi七层模型?
- 进程间数据共享的方式?
- tcp与udp的区别,并各写一个他们上层的协议
二、算法题
- 数组A={a0,a1,...an},打印出所有元素的组合
解:相当于求子集合。 - 数组中任意两个相邻元素只差为1,则给定数组A和目标整数t,求t在A中的位置。(如A={1,2,3,2,3,4,5,6})
解:两个优化:①奇偶相间,只需n/2次 ②从第i个元素开始找,i=|t-A[0]|,这样在t与A[0]相差很大时可以省去很多无用遍历 - 求二叉树的面积=二叉树的高度 * 二叉树的宽度,高度为根到叶子节点的最大距离,宽为某一层的最大节点数。
解:分别求出高度和宽度即可。
三、系统设计
对于百度地图上的每一点,都需要在地图上标注该点的信息,每个信息都需要一个相同大小的矩形,可以在该点的左边标记该矩形,也可以在该点右边标记该矩形,但是两点标记后的矩形不能覆盖,否则需要删除其中一个点。
问题1,现给一固定区域,有n个点,设计一个算法,要求标记足够多的点
问题2,当点足够多时候,算法会遇到性能瓶颈,需要对算法重新优化。
今年的题目相对往年还算比较容易了,都是很基础的题目,最后一题需要好好想想。俺进去把前面题做完就跑了。。。