百度实习生笔试2010

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、考虑在大查询量的情况下如何实现分布式服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值