您的位置:首页 > 其它

百度实习生笔试2010

2010-05-30 21:22 302 查看
2010年实习生招聘笔试题RD-2
第一题 简答题
<!--[if !supportLists]-->1. <!--[endif]-->多线程和多进程模式有什么区别?在用两种模型开发服务程序时,分别有什么优缺点?采用长连接和短连接模式有什么区别?分别有什么优缺点?采用同步和异步模式有什么区别?分别有什么优缺点。

<!--[if !supportLists]-->2. <!--[endif]-->请写出以下程序的运行结果,并解释导致这样运行结果的关键性原因。
#include <iostream>
using std::cout;
class P
{
public:
virtual void print()
{
cout << "P";
}
};
class Q: public P
{
public:
virtual void print()
{
cout << "Q";
}
};
int main()
{
P * p = new P;
Q * q = static_cast <Q *> (p);

q->print();
delete p;
cout << endl;

q = new Q;
p = q;
q->print();
p->print();
cout << endl;

p = new (q) P;
q->print();
p->print();
cout << endl;

p->~P();
delete q;
return 0;
}

第二题 算法与程序设计题
1.给定如下的n*n的数字矩阵,每行从左到右是严格递增, 每列的数据也是严格递增
1 2 3
3 5 6
4 8 9
现在要求设计一个算法, 给定一个数k 判断出k是否在这个矩阵中。 描述算法并且给出时间复杂度(不考虑载入矩阵的消耗)

2.设 一个64位整型n,各个bit位是1的个数为a个. 比如7, 2进制就是 111, 所以a为3。
现在给出m个数, 求各个a的值。要求代码实现。

第三题 系统设计题
实现一个简化的搜索提示系统。给定一个包含了用户query的日志文件,对于输入的任意一个字符串s,输出以s为前缀的在日志中出现频率最高的前10条query。
提示:
1、可以预处理日志
2、假设query不超过10亿条,每个query不超过50字节。
3、考虑在大查询量的情况下如何实现分布式服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: