首页 > 励志人生 > 励志创业 > 百度笔试题

百度笔试题

时间:2018-07-13   来源:励志创业   点击:

【www.gbppp.com--励志创业】

百度笔试题 第一篇_2014年百度运营笔试题

如果你现在是一个创业型公司的运营总监,产品选取的创业方向是视频方向;众所周知,视频是竞争非常激烈的一个领域,请描述你的产品运营思路,如何在红海中竞争。

要求:

1. 请清晰描述你的产品运营定位,定位的思考分析,以及基于此定位的具体运营策略,风险评估,团队分工,运营考核指标

2. 输出:PPT, 10页以内

题目二:

世界杯即将到来,每年的世界杯各个互联网公司都会着重运营,假如你是百度搜索的运营负责人,你会在世界杯期间如何展开运营。

要求:

1. 请清晰描述你的产品运营场景,如有产品形态请配上对应的设计图(线框,手绘,其他类型设计稿均可),以及基于此场景的具体运营策略,项目计划,预期收益,运营效果考核指标

2. 输出:PPT, 15页以内

题目三:

越来越多的用户喜欢对自己使用的产品更换皮肤,如果你是百度浏览器产品的皮肤运营经理, 你会如何运营浏览器的皮肤中心,让其更受用户欢迎,且愿意经常用。

要求:

1. 请清晰描述你的产品策略,如有产品形态请配上对应的设计图(线框,手绘,其他类型设计稿均可),项目计划,如何推广,风险和规避手段,预期收益,运营效果考核指标

2. 输出:PPT, 10页以内

如果你是百度浏览器的运营经理,在运营中发现主动登录帐号的用户数过低,你会如何对帐号登录活跃度进行运营,让更多用户愿意登录帐号。 要求:

1. 请清晰描述你的产品运营策略,如有产品形态请配上对应的设计图(线框,手绘,其他类型设计稿均可),项目计划,预期收益,运营效果考核指标

2. 输出:PPT, 10页以内

题目五:

百度客户端新推出了一个推广系统,每安装一款百度浏览器即可获得1元现金推广佣金,若你是该系统的校园运营系统负责人,需要在全国高校里面推广该系统,目标是让更多学生安装百度浏览器。

要求:

1. 请清晰描述你的产品运营策略,项目计划,可能风险以及规避手段,预期量化收益,运营效果考核指标

2. 输出:PPT, 15页以内

百度笔试题 第二篇_百度校园招聘历年笔试题

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、尽可能高效

2010百度校园招聘笔试题

一、简答题

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

struct edge

{

int v;

edge *mNext;

};

int in[MAXN];

int n,m;

edge E[MAXM];

int en;

edge *first[MAXN];

int cnt[MAXN][MAXN];

void insert(int u,int v)

{

E[en].v=v;

E[en].mNext=first[u];

first[u]=&E[en++];

}

void topo()

{

for(int i=1;i<=n;i++)

for(int u=1;u<=n;u++)

{

if(in[u]==0)

{

in[u]=-1;

printf("%d ",u);

for(edge *e=first[u];e;e=e->mNext)

in[e->v]--;

break;

}

}

}

int main()

{

freopen("c:/a.txt","r",stdin);

while(scanf("%d%d",&n,&m)!=EOF)

{

memset(first,NULL,sizeof(first));

memset(cnt,0,sizeof(cnt));

memset(in,0,sizeof(in));

int u,v;

en=0;

for(int i=0;i<m;i++)

{

scanf("%d%d",&u,&v);

if(cnt[u][v]==0)

{

cnt[u][v]=1;

insert(u,v);

in[v]++;

}

}

topo();

printf("\n");

}

return 0;

}

2. 完成函数:

int maxnumstr(char *inputstr, char *outputstr)

函数功能:找出inputstr中的最长连续数字串存储到outputstr里并返回长度,如调用maxnumstr("123abc1234a", outputstr)后返回4且outputstr中为"1234"。

#include <iostream>

#define MAXN 1000

int maxnumstr(char *inputstr, char *outputstr)

{

if(inputstr==NULL || outputstr==NULL)

throw "Error NULL params";

if(*inputstr=='\0')

{

百度笔试题 第三篇_泄密百度招聘笔试题

泄密百度招聘笔试题,晒晒我的答案

要不是辅导员非让我回学校组织一二·九大合唱,估计我就错过百度2011校园招聘了。幸亏回北京投了简历,还有幸参加了UE(用户体验)部门的笔试。

作为一个学了四年心理学的人,什么统计心理学、实验心理学、认知心理学这么多大风大浪都经历过了,我倒是一向不怵各种考试滴。有一次还试过俩小时答200题。用户体验这种岗位,和心理学也挺相关,所以去的时候是自信满满。

UE的考卷看起来很轻松,120分钟,七道题。不过,都相当刁钻古怪,不调动所有的知识积累很难答得出彩,所以真是挺能考察综合能力的。临场冥思苦想很久,题目倒还记得个七七八八,现在拿出来和大家分享一下。大家集合一下智慧,看看怎么答比较好吧~

1、举例你认为用户体验很好的互联网产品或服务,并陈述理由。

2、写一下你擅长的用户研究方法,2-3个

3、请对你的书桌/工作台进行布置(用简图的形式作答),并说明你的设计理由。

4、一堆数据的分析,不记得了

5、中国有一句古语叫“外甥像舅”,如果不考虑时间和金钱成本,你将如何对这句古语进行论证。

6、好像是说一下对团购的看法

7、谈一谈百度搜索框底下的搜索建议有啥用

第一题,我觉得就是考察你对互联网的理解程度,毕竟将来从事的工作是与此有关。

所以经常趴在网上的人有福了,我就不惜暴露个人品味,把自己常上的网站什么的写了一下。写完一堆以后,还记得加上一两个个百度的产品,好好分析了一下(汗……)

第二题,虽然让写我擅长的,其实是我知道的差不多都写了下,什么问卷法、焦点小组法、实验法的。感谢折磨了我四年的实验心理学,致敬!

第三题,我的理解是考察你这个人做事有没有规划,或者说你这个人有没有策划能力和统筹能力。

这个应该没有什么标准答案,只能靠个人发挥了。还好我是个比较爱收拾的人,就把自己寝室桌子的安排复述了一下,当然要稍稍美化滴~

第五题令人实在挠头啊…… “外甥像舅”这句俗语,不考虑金钱和时间成本,怎么论证。

“外甥像舅”乍一听似乎和生物学有关,不过我想 “用户体验”又不是生命科学,应该可以给一些鬼马答案吧。所以我觉得这就是考察一个人立足于社会最重要的东西——发散思维!你对一件事情有没有自己独立的思维和看法,这将决定你未来的工作是否有创新性。所以这个题目,我超级喜欢。

请注意,各位童鞋,人家出题者说了,不考虑金钱和时间这俩条件。我觉得,首先外甥和舅舅是近亲嘛,所以基因肯定近似吧。不考虑验DNA的成本,外甥和舅舅去测一下DNA,肯定很近似的~

不过这么答似乎太简单,然后我开始发散了~

首先,外甥有哪些方面像舅舅呢,一般都先想到相貌,但一个人的特点不止于此,还有性格、生活习惯、口音等等,都可能像吧。

然后,还得考虑到外甥和舅舅的年龄差异,外甥在什么阶段像舅舅?是从小就像,还是长大了才像?

还有到底是几个外甥,几个舅舅?一一对应还是多对一,一对多?

最后,咱还从一个很牛角度进行论证了,你们不得不服。我说,请在百度输入“外甥像舅”词语。你会发现,这个观点有上万条案例支持这一观点,百度一下,你就知道~

后两题就比较实际了,也是仁者见仁智者见智。郁闷的是,写完也不知道到底答得好不好,心里很没底。期待进一步消息ing~~

总的来说,我对这样类型的考试还是比较喜欢的,因为它说到底是考察你的综合素质,应变能力。比学校里那种考试强了不知多少。当然,我答得不好,大家可以继续挥发哈!

百度笔试题 第四篇_百一测评——百度产品运营---2016年校招笔试题- 百度(Baidu)

试卷名称:百度产品运营---2016年校招笔试题- 主观题 试卷描述:在线考试、招聘笔试、微信考试

试卷链接:/paperDetail?paperId=38583

试卷限时:60分钟

一. 简答题【百度笔试题】

每题分值:50分

是否题目乱序:是

是否选项乱序:是

是否可回溯:是

难度:中

1. [简答]说出自己身上具有的最炫酷最有魅力的特长或技能,并说明理由。为这项技能写一

个秘籍,让别人看了之后能够学会这个技能,100字以内。为这项技能设计一项出场台词,20字以内。

参考答案:略

2. [简答]百度的一个安全软件,能在接电话时显示号码信息,但是这些信息很多是第三方号

码平台提供的,一家本地知名媒体的电话被错误地标记为商业号码了,媒体以为这是百度的失误,决定登报,对于这一公关危机,你认为最有效的沟通解决方案是什么?。

参考答案:略

百度笔试题 第五篇_百度笔试题

百度2012实习生校园招聘笔试题

分类: 面试珠玑2012-05-07 16:21 13355人阅读 评论(33) 收藏 举报

百度招聘数据结构mergevector算法

1、给一个单词a,如果通过交换单词中字母的顺序可以得到另外的单词b,那么b是a的兄弟单词,比如的单词army和mary互为兄弟单词。

现在要给出一种解决方案,对于用户输入的单词,根据给定的字典找出输入单词有哪些兄弟单词。请具体说明数据结构和查询流程,要求时间和空间效率尽可能地高。

字典树的典型应用,一般情况下,字典树的结构都是采用26叉树进行组织的,每个节点对应一个字母,查找的时候,就是一个字母一个字母的进行匹配,算法的时间复杂度就是单词的长度n,效率很高。因此这个题目可以定义一个字典树作为数据结构来查询的,时间效率会很高,这样就转化为在一棵字典树中查找兄弟单词,只要在字典树中的前缀中在存储一个vector结构的容器,这样查找起来就是常数级的时间复杂度了,效率很高的。。

数据结构可以定义如下:

[cpp] view plaincopy

1. struct word

2. {

3. vector<string> brother; // 用于保存每个单词的兄弟单词

4. word *next[26]; // 字典树中每个节点代表一个字符,并指向下一个字符

5. }; 如上述数据结构所示,字典树的建立是在预处理阶段完成的,首先根据字典中的单词来建立字典树,建立的时候,需要稍微特殊处理一下,就是比如pots、stop和tops互为兄弟单词,那么在字典中按照首字母顺序的话,应该先遇到pots单词,那么我首先对其进行排序,结果是opts,那么字典树中就分别建立4个节点,分别为o->p->t->s,当然这个是不同层次的,在节点s处的vector容器brother中添加单词pots,遇到stop的时候,同样的方法,排序是opts,此时发现这4个节点已经建立了,那么只需要在第四个节点s处的vector容器brother中添加单词stop,tops单词的处理方法是同样的。

这样建立完字典树后,查询兄弟单词的效率就会很高了,比哈希的效率还要高;查到tops的兄弟的单词的时候,首先排序,那么就是opts,然后在字典树中查找opts,在s处将其vector容器brother中的的单词输出就是tops的所有兄弟单词。

2、系统中维护了若干数据项,我们对数据项的分类可以分为三级,首先我们按照一级分类方法将数据项分为A、B、C......若干类别,每个一级分类方法产生的类别又可以按照二级分类方法分为a、b、c......

若干子类别,同样,二级分类方法产生的类别又可以按照是三级分类方法分为i、ii、iii......若干子类别,每个三级分类方法产生的子类别中的数据项从1开始编号。我们需要对每个数据项输出日志,日志的形式是key_value对,写入日志的时候,用户提供三级类别名称、数据项编号和日志的key,共五个key值,例如,write_log(A,a,i,1,key1),获取日志的时候,用户提供三级类别名称、数据项编号,共四个key值,返回对应的所有的key_value对,例如get_log(A,a,i,1,key1),

请描述一种数据结构来存储这些日志,并计算出写入日志和读出日志的时间复杂度。

3、C和C++中如何动态分配和释放内存?他们的区别是什么?

malloc/free和new/delete的区别,请参考这里

4、数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序。要求空间复杂度为O(1)。注:al[i]元素是支持'<'运算符的。

[cpp] view plaincopy 1. /*

2. 数组a[begin, mid] 和 a[mid+1, end]是各自有序的,对两个子段进行Merge得到

a[begin , end]的有序数组。 要求空间复杂度为O(1)

3. 方案:

4. 1、两个有序段位A和B,A在前,B紧接在A后面,找到A的第一个大于B[0]的数

A[i], A[0...i-1]相当于merge后的有效段,在B中找到第一个大于A[i]的数

B[j],

5. 对数组A[i...j-1]循环右移j-k位,使A[i...j-1]数组的前面部分有序

6. 2、如此循环merge

7. 3、循环右移通过先子段反转再整体反转的方式进行,复杂度是O(L), L是需要循环移动的

子段的长度

8. */

9. #include<iostream>

10. using namespace std;

11.

12. void Reverse(int *a , int begin , int end ) //反转

13. {

14. for(; begin < end; begin++ , end--)

15. swap(a[begin] , a[end]);

16. }

17. void RotateRight(int *a , int begin , int end , int k) //循环右

18. {

19. int len = end - begin + 1; //数组的长度

20. k %= len;

21. Reverse(a , begin , end - k);

22. Reverse(a , end - k + 1 , end);

23. Reverse(a , begin , end);

24. }

25.

26. // 将有序数组a[begin...mid] 和 a[mid+1...end] 进行归并排序

27. void Merge(int *a , int begin , int end )

28. {

29. int i , j , k;

30. i = begin;

31. j = 1 + ((begin + end)>>1); //位运算的优先级比较低,外面需要加一个

括号,刚开始忘记添加括号,导致错了很多次

32. while(i <= end && j <= end && i<j)

33. {

34. while(i <= end && a[i] < a[j])

35. i++;

36. k = j; //暂时保存指针j的位置

37. while(j <= end && a[j] < a[i])

38. j++;

39. if(j > k)

40. RotateRight(a , i , j-1 , j-k); //数组a[i...j-1]循环右

移j-k次

41. i += (j-k+1); //第一个指针往后移动,因为循环右移后,数组

a[i....i+j-k]是有序的

42. }

43. }

44.

45. void MergeSort(int *a , int begin , int end )

46. {

47. if(begin == end)

48. return ;

49. int mid = (begin + end)>>1;

50. MergeSort(a , begin , mid); //递归地将a[begin...mid] 归并为有序

的数组

51. MergeSort(a , mid+1 , end); //递归地将a[mid+1...end] 归并为有序

的数组

52. Merge(a , begin , end); //将有序数组

a[begin...mid] 和 a[mid+1...end] 进行归并排序

53. }

54.

55. int main(void)

56. {

57. int n , i , a[20];

58. while(cin>>n)

59. {

60. for(i = 0 ; i < n ; ++i)

61. cin>>a[i];

62. MergeSort(a , 0 , n - 1);

63. for(i = 0 ; i < n ; ++i)

64. cout<<a[i]<<" ";

65. cout<<endl;

66. }【百度笔试题】

67. return 0;

68. }

5、线程和进程的区别及联系?如何理解“线程安全”问题?

答案:进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。

1、简而言之,一个程序至少有一个进程,一个进程至少有一个线程.

2、线程的划分尺度小于进程,使得多线程程序的并发性高。

3、另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

4、线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

5、从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

算法与程序设计一、

网页爬虫在抓取网页时,从指定的URL站点入口开始爬取这个站点上的所有URL link,抓取到下一级link对应的页面后,同样对页面上的link进行抓取从而完成深度遍历。为简化问题,我们假设每个页面上至多只有一个link,如从/a.html链接到

/b.html再链到

/x.html,当爬虫抓取到某个页面时,有可能再链回/b.html,也有可能爬取到一个不带任何link的终极页面。当抓取到相同的URL或不包含任何link的终极页面时即完成爬取。爬虫在抓取到这些页面后建立一个单向链表,用来记录抓取到的页面,如:a.html->b.html->x.html...->NULL。

问:对于爬虫分别从/x1.html和/x2.html两个入口开始获得两个单向链表,得到这两个单向链表后,如何判断他们是否抓取到了相同的URL?(假设页面URL上百亿,存储资源有限,无法用hash方法判断是否包含相同的URL)

请先描述相应的算法,再给出相应的代码实现。(只需给出判断方法代码,无需爬虫代码)

两个单向链表的相交问题。

算法与程序设计二、

4、有一种结构如下图所示,它由层的嵌套组成,一个父层中只能包含垂直方向上或者是水平方向上并列的层,例如,层1可以包含2、3、4三个垂直方向上的层,层2可以包含5和6两个水平方向的层,在空层中可以包含数据节点,所谓的空层是指不包含子层的层,每个空层可以包含若干个数据节点,也可以一个都不包含。

在这种结构上面,我们从垂直方向上划一条线,我们约定每一个子层中我们只能经过一个数据节点,在这种情况下,每条线可以经过多个数据节点,也可以不经过任何数据节点,例如,线1经过了3、5、8三个数据节点,线2只经过了14个数据节点。

(1)给出函数,实现判断两个数据节点,是否可能同时被线划中,给出具体的代码。

(2)给出函数,输出所有一条线可以划中的数据节点序列, 可以给出伪代码实现。

百度笔试题 第六篇_百度笔试

1.字母序列O,T,T,F,有什么规律?请依据这个规律指出剩下的五个数,并说明其原因。

2.1-16十六个数字分别填入十六格方框内,要求从左至右的数字是从小到大排列,从上至下的数字也是从小到大排列,问:有多少种排列方式。

3.医院,某人说:医护人员共16人,医生人数少于护士人数,男医生少于男护士,女护士少于男护士,至少一名女医生,问题:某人的性别及身份

4.电子商务的问题,是个老题,坛子里有过,就是问为什么宠物商品及化妆品的网上购物率为什么是增长最快的问题

5。同样是道老题,问易拉罐做成圆柱形的十个原因

6.一道类似运筹的题,就是看你如何做时间安排,说一个人5点30分刚运动完,口很渴,家里没水,女朋友6点左右要来家里吃饭,家里什么食材都没有;邻居拜托去接幼儿园小朋友,并在6点30左右来接孩子回家,孩子很小,必须有人照顾;距居住处最近的菜市场走路5分钟,路上没有杂货店等;幼儿园在相反方向,路途中有商店,步行10分钟;有自行车,但是车要是不确定放在哪里;约好在朋友下班后给朋友打电话。

7.一张比例为3600:1和一张比例为2000:1的标准地图,摆放好后,大的地图完全覆盖在小的地图上,问,是否存在一点,使用图钉在地图上按下去,可以使两张地图上的同意真实地点相重合?原因。

8.有好几个题让选择的,我选择的是策略题,如何设计一款盲人手机,功能,最好有图示;还有根据“红豆生南国,春来发几枝”、“锄禾日当午”“春晓”这几句诗设计主题网站“红豆网”“锄禾网”“春晓网”,网站的功能网,以及网站名称可以给网站带来的竞争优势(选择其一论述即可)

9.是否满意自己本次答卷

本文来源:http://www.gbppp.com/lz/462260/

推荐访问:百度笔试题及答案 软件测试百度笔试题

热门文章