2011百度实习生笔试题目

时间:2022-07-05 14:42:31

参考 http://forum.byr.edu.cn/wForum/disparticle.php?boardName=ParttimeJob&ID=225996

第一题,简答题:
1、 extern “c”{}是什么含义?用来解决什么问题?
2、 至少说出两种经典的设计模式,并举例说明使用场景,有伪代码更佳。
3、 Tcp连接的time-wait是什么状态,描述其发生的场景,说明它存在的好处/坏处 。
第二题 算法与程序设计题
1、 有一个任务执行器,每天定时执行N个任务(N<1000),每次只能执行一个任务,而各任务之间存在着依赖关系,如任务A需要依赖任务B任务完成后才能进行。虽然各个任务着依赖关系复杂,但任务之间没有循环依赖问题,请给出适当的任务执行顺序。
请详细描述你的算法思路,并给出时间和空间复杂度。
2、 编写函数:统计在某段英文文本完整句子的数目,文本只包括大小写英文字母,空格,点号,逗号,完整句子必须包含至少一个字母并以点号结束。
要求:完成代码,要尽量高效、简洁。

第三大题系统设计

1.  设计一个系统,存放URL,IP,访问时间。数据量达到1000亿条记录。要求:

1)指定访问时间段,对于给定的URL,统计该URL访问量。

2)指定访问时间段,对于给定的IP,统计该IP的访问量。

 

顺便添加一下2009百度实习生笔试题目

一、编程题(30分) 
输入:N(整数) 
输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节 
文件格式如下: 
字符串\t数字\n 
说明: 
每行为1条记录;字符串中不含有\t。 
数字描述的是该字符串的出现概率,小于等于100的整数。 
多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出; 
如果文件格式错误,程序也退出。 
要求: 
编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机 
地输出字符串,输出N条记录 
例如: 
输入文件A.txt 
abc\t20 
a\t30 
de\t50 
输入为:10 
即 abc有20%的概率输出,a有30%的概率输出,de有50%的概率输出,输出10条记 
录 
以下为一次输出的结果,多次输出的结果可能不相同。 
abc 

de 
de 
abc 
de 

de 

de 
二、算法题(35分) 
题目描述: 
设有n个正整数,将它们联接成一排,组成一个最小的多位整数。 
程序输入:n个数 
程序输出:联接成的多位数 
例如: 
n=2时,2个整数32,321连接成的最小整数为:32132, 
n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355 
[题目要求] 
1. 给出伪代码即可,请给出对应的文字说明,并使用上面给出的例子试验你的算 
法。 
2. 给出算法的时间空间复杂度。 
3. 证明你的算法。(非常重要) 
三、系统设计题(35分) 
在一个有1000万用户的系统中,设计一个推送(feed)系统。以下是一些预定义概 
念 
1、用户:在这个系统中,每个用户用一个递增的unsigned int来表示user id(简 
写为uid);则uid的范围是从1到1000万的正整数。 
2、好友:用户之间可以形成好友关系,好友是双向的;比如说uid为3和uid为4的 
两个用户可以互为好友。每个用户好友的上限是500个;用户之间的好友关系可以 
被解除 
3、活动:每个用户只能发文章;文章可以被作者删除,其他人不能删除非自己发 
表的文章;每篇文章通过一个blogid表示。 
4、feed:我们希望,每个用户可以看到他所有好友的活动列表,在这个简化的系 
统中就是所有好友的文章更新列表。 
5、访问量要求:所有feed访问量每天在1亿量级;所有的blogid增加量每天在百 
万量级。 
题目:请在以上限制条件下,设计一个高效的feed访问系统。 
要求: 
1、能够尽快的返回每个用户的好友feed列表,每个用户可以最多保留1000条feed ;

feed的展现按照时间倒排序,最新的在最前面 
2、用户删除某篇文章后,被推出去的feed需要及时消失。即每个用户看到的好友 
feed都是未被删除的 
3、尽可能高效。

欢迎大家讨论,目的不是为了求证结果,而是共同学习!