岗位面试题库合集-校园招聘面试题库-百度校园招聘历年笔试题
VIP免费
2024-12-15
2
0
55.81KB
17 页
5.9玖币
侵权投诉
20XX 百度笔试题
一、编程题(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、尽可能高效
20XX 百度校园招聘笔试题
一、简答题
1. 简述树的深度优先遍历及广度优先遍历及其非递归实现的特点;
2. 找出以下程序中的 bug:
#include <stdio.h>
#include <stdlib.h>
struct Record{
int a;
int b;
};
int create(struct Record *p, int num)
{
p = new struct Record[num];
if (!p)
return -1;
else
return 0;
}
int Test()
{
struct Record *p = NULL;
int i;
int num;
printf("0x%08x\n", p);
scanf("Input record num:%d", &num);
if (create(p, num) < 0)
return -1;
printf("0x%08x\n", p);
for (i = 0; i < num; i++) {
p[i].a = 0;
p[i].b = 0;
}
return 0;
}
int main(void)
{
Test();
getchar();
return 0;
}
#include <stdio.h>
#include <stdlib.h>
struct Record
{
int a;
int b;
};
int create(struct Record *&p, int num)
{
p=NULL;
p = new struct Record[num];
if (!p)
return -1;
else
return 0;
}
int Test()
{
struct Record *p = NULL;
int i;
int num;
printf("0x%08x\n", p);
printf("Input record num:"); scanf("%d",&num);
if (create(p, num) < 0)
return -1;
printf("0x%08x\n", p);
for (i = 0; i < num; i++) {
p[i].a = 0;
p[i].b = 0;
}
delete []p;
return 0;
}
int main(void)
{
Test();
getchar();
return 0;
}
3. 有一台 Mini 计算机,内存大小为 1K,CPU 主频为 1M(CPU 状态每秒改变 10 的6次方次),
问在这台计算机上可运行并且确定可以终止的程序的最长运行时间是多少?
给出思路及推理过程(可以做任何假设)。
二、算法设计
1. 某大型项目由n个组件 N1, N2……Nn 构成,每个组件都可以独立编译,但是某些组件的编译依
赖于其它组件(即某些组件只能在其它组件编译完成后才能编译),设计算法给出统计过程。
#include <iostream>
#define MAXN 505
#define MAXM MAXN*MAXN
摘要:
展开>>
收起<<
20XX百度笔试题一、编程题(30分)输入:N(整数)输入:数据文件A.txt,不超过6条记录,字符串长度不超过15个字节文件格式如下:字符串\t数字\n说明:每行为1条记录;字符串中不含有\t。数字描述的是该字符串的出现概率,小于等于100的整数。多条记录的出现概率之和为100,如果A.txt不满足该条件,程序则退出;如果文件格式错误,程序也退出。要求:编写一个程序,输入为N(正整数),读入文件A.txt,按照字符串出现概率随机地输出字符串,输出N条记录例如:输入文件A.txtabc\t20a\t30de\t50输入为:10即abc有20%的概率输出,a有30%的概率输出,de有...
声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
相关推荐
-
公司营销部领导述职述廉报告VIP免费
2024-12-03 4 -
100套述职述廉述法述学框架提纲VIP免费
2024-12-03 3 -
20220106政府党组班子党史学习教育专题民主生活会“五个带头”对照检查材料VIP免费
2024-12-03 3 -
20220106县纪委监委领导班子党史学习教育专题民主生活会对照检查材料VIP免费
2024-12-03 6 -
A文秘笔杆子工作资料汇编手册(近70000字)VIP免费
2024-12-03 3 -
20220106县领导班子党史学习教育专题民主生活会对照检查材料VIP免费
2024-12-03 4 -
经济开发区党工委书记管委会主任述学述职述廉述法报告VIP免费
2024-12-03 34 -
20220106政府领导专题民主生活会五个方面对照检查材料VIP免费
2024-12-03 11 -
派出所教导员述职述廉报告6篇VIP免费
2024-12-03 8 -
民主生活会对县委班子及其成员批评意见清单VIP免费
2024-12-03 50
分类:人力资源/企业管理
价格:5.9玖币
属性:17 页
大小:55.81KB
格式:DOCX
时间:2024-12-15


渝公网安备50010702506394