百度校园招聘历年笔试题考试.docx

百度校园招聘历年笔试题考试.docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

安全、节能、高效、优质

安全、节能、高效、优质

团结、开拓、务实、求精

团结、开拓、务实、求精

安全、节能、高效、优质

团结、开拓、务实、求精

202*笔试题

一、编程题(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、用户:在这个系统中,每个用户用一个递增的unsignedint来表示userid(简写为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、尽可能高效

202*校园招聘笔试题

一、简答题

1.简述树的深度优先遍历及广度优先遍历及其非递归实现的特点;

2.找出以下程序中的bug:

#includestdio.h

#includestdlib.h

structRecord{

inta;

intb;

};

intcreate(structRecord*p,intnum)

{

p=newstructRecord[num];

if(!p)

return-1;

else

return0;

}

intTest()

{

structRecord*p=NULL;

inti;

intnum;

printf(0x%08x\n,p);

scanf(Inputrecordnum:%d,num);

if(create(p,num)0)

return-1;

printf(0x%08x\n,p);

for(i=0;inum;i++){

p[i].a=0;

p[i].b=0;

}

return0;

}

intmain(void)

{

Test();

getchar();

return0;

}

#includestdio.h

#includestdlib.h

structRecord

{

inta;

intb;

};

intcreate(structRecord*p,intnum)

{

p=NULL;

p=newstructRecord[num];

文档评论(0)

安全生产预案方案大全 + 关注
实名认证
内容提供者

二级建造师、注册安全工程师持证人

该用户很懒,什么也没介绍

版权声明书
用户编号:5130344032000113
领域认证该用户于2023年05月22日上传了二级建造师、注册安全工程师

1亿VIP精品文档

相关文档