2010年实习生招聘笔试题RD-2
第一题 简答题
1. 多线程和多进程模式有什么区别?在用两种模型开发服务程序时,分别有什么优缺点?采用长连接和短连 接模式有什么区别?分别有什么优缺点?采用同步和异步模式有什么区别?分别有什么优缺点。
2. 请写出以下程序的运行结果,并解释导致这样运行结果的关键性原因。
#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、考虑在大查询量的情况下如何实现分布式服务
原文链接
百度2010实习生笔试2套:
http://bbs.aftjob.com/thread-610484-1-1.html百度2011实习招聘专题:
http://www.aftjob.com/portal.php?mod=topic&topicid=22 百度求职俱乐部:
http://bbs.aftjob.com/group-4-1.html--
FROM 219.236.30.*