2009.10.18-百度质量部笔试试题
今天开始第一场笔试,百度和摩根,回来凭着自己的一些印象把记得的题目整理了一下,之前一直在版里看到同学们的笔经,想着有机会的话,自己也能够贡献一些力量,为后面的或者下届的同学攒点经验吧~~
肯定存在遗漏或者有误的地方,请也去笔了的同学一起帮忙完善更正啦~
最后,笔试真的还是需要好好准备,都不是太难的东西,如果因为没准备而失去机会,真的挺可惜的,哎,我懊悔。。
----------
【百度质量部笔试题】
第一部分:
1. 简述链表和数组的优缺点。
2. 给了一长串代码,说明函数实现的功能?执行函数打印的结果?优化的算法设计?
another_func()…
some_func()…
其实就是比较给定的字符串集合{“cafe”, “baidu”, “duiba”,”face”, “thisone”,”iseasy”}中是否存在有这样的字符串,它们包含的字符以及字符个数相同,出现顺序不必相同,找到并打印出来。
3. 纸牌的问题,具体题目太长了,我没有记下来,就是魔术师分别告诉观众一张牌的花色和点数,然后两位观众说几句话来判断这张牌到底是什么?
第二部分:
1. 二叉树的前序遍历算法,分别用递归和非递归的方式实现,要求写出可执行的代码。
2. 给定一个M*M的字符矩阵,给出了找到连续对角线字符串的方法,从左上到右下,从右上到左下,共有四种对角线字符串,(1)让你写出怎么在这个字符矩阵的对角线字符串中找到给定的子串,写出算法设计。(2)如果M*M矩阵超大,无法载入内存,怎么办呢?
3. 系统设计题:设计一个服务调度管理器,服务器接收数据包,数据包大小为32个字节,第一个字节是请求的优先级,后面31个字节是请求的命令,服务器根据客户端发来的命令,分配资源,完成相应的服务,然后将操作的结果返回给客户端,但是由于服务器资源有限,故服务器可以存储操作的结果,如果下次有同样的命令到来的时候,直接获取操作结果返回给客户端即可。
要求设计一个服务器调度管理器,满足以下调度条件:
(1)同样条件下,请求次数多的请求首先获得服务,请求次数最大255
(2)同样条件下,请求优先级高的请求首先获得服务,优先级等级最高16.
要做的是:
(1)设计服务器的核心调度算法:
(2)数据结构设计
(3)如果服务器的记录容量是20万条,分析需要占用多大内存空间??