百度算法笔试题01

2009百度实习笔试题Zz
 
一、编程题(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
a
de
de
abc
de
a
de
a
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、尽可能高效。


Zz


——
百度历年校园招聘笔试题(2005-2009年)
http://www.aftjob.com/bbs/thread-417000-1-1.html

百度笔经大全
http://www.aftjob.com/bbs/thread-263898-1-1.html

2006百度在线笔试题及答案
http://www.aftjob.com/bbs/thread-263888-1-1.html

百度在线笔试分享
http://www.aftjob.com/bbs/thread-164108-1-1.html

baidu笔试
http://www.aftjob.com/bbs/thread-31644-1-1.html

百度笔试题ZZ 
http://www.aftjob.com/bbs/thread-170475-1-1.html

zt 百度非技术笔试题 
http://www.aftjob.com/bbs/thread-31656-1-1.html

百度川大站笔试题 Zz
http://www.aftjob.com/bbs/thread-109752-1-1.html

……

——
2011最新招聘信息汇总贴:
http://www.aftjob.com/bbs/thread-361654-1-1.html
更多最新校园招聘信息请见:
http://www.aftjob.com/bbs/forum-506-1.html
更多求职综合经验(简历/笔试/面试/薪酬/签约等)请见:
http://www.aftjob.com/bbs/forumindex.php?gid=15
更多行业/企业求职经验和求职进展讨论请见:
http://www.aftjob.com/bbs/forumindex.php?gid=439 
http://www.aftjob.com/search.php
--

你可能感兴趣的:(笔试题)