百度公司笔试题目

时间:2025年06月17日

/

来源:cherry0326

/

编辑:本站小编

收藏本文

下载本文

下面是小编为大家整理的百度公司笔试题目,本文共8篇,欢迎大家借鉴与参考,希望对大家有所帮助。本文原稿由网友“cherry0326”提供。

篇1:百度公司笔试题目

百度公司笔试题目

1、实现一个函数,对一个正整数n,算得到1需要的最少操作次数,操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。

例子:

func(7) = 4,可以证明最少需要4次运算

n = 7

n-1 6

n/2 3

n-1 2

n/2 1

要求:实现函数(实现尽可能高效) int func(unsign int n);n为输入,返回最小的运算次数。给出思路(文字描述),完成代码,并分析你算法的时间复杂度。

答:

假设n表示成二进制有x bit,可以看出计算复杂度为O(2^x),也就是O(n)。

将n转换到二进制空间来看(比如7为111,6为110):

- 如果最后一位是0,则对应于偶数,直接进行除2操作。

- 如果最后一位是1,情况则有些复杂。

**如果最后几位是???01,则有可能为???001,???1111101。在第一种情况下,显然应该-1;在第二种情况下-1和+1最终需要的步数相同,

所以在???01的情况下,应该选择-1操作。

**如果最后几位是???011,则有可能为???0011,???11111011。在第一种情况下,+1和-1最终需要的步数相同;在第二种情况下+1步数更少些。所以在???011的情况下,应该选择+1操作。

**如果最后有更多的连续1,也应该选择+1操作。

如果最后剩下的各位都是1,则有11时应该选择-1;111时+1和-1相同;1111时应选择+1;大于四个1时也应该选择+1;

2、找到满足条件的数组

给定函数d(n)=n+n的各位之和,n为正整数,如d(78)=78+7+8=93。这样这个函数可以看成一个生成器,如93可以看成由78生成。

定义数A:数A找不到一个数B可以由d(B)=A,即A不能由其他数生成。现在要写程序,找出1至10000里的所有符合数A定义的数。

回答:

申请一个长度为10000的bool数组,每个元素代表对应的值是否可以有其它数生成。开始时将数组中的值都初始化为false。

由于大于10000的.数的生成数必定大于10000,所以我们只需遍历1到10000中的数,计算生成数,并将bool数组中对应的值设置为true,表示这个数可以有其它数生成。

最后bool数组中值为false的位置对应的整数就是不能由其它数生成的。

篇2:百度笔试题目

百度笔试题目

1、英文题目的连线题,N个排成方队的圈,圈里有数字,外面有突起,请你按数字要求连线,要求:将这些圈连成整体,每个圈可外接线的数目要与圈里数字一致,且线不能相交

2、如果你盯着一张红色的海报,然后再看白色的`墙,那么你看到的墙的外围是神马颜色的~(那时,我多么希望这教室里刚好挂着一面国旗~)

选项有:绿色,红色,紫色,蓝色

3、图形题~

4、有四个箱子,里面分别是金,银,铜,铁,有100个人来猜,这四个箱子里分别是什么,有23个人猜对了0个,58个人猜对了1个,14个人猜对了2个,

求!有几个人猜对了3个,几个人猜对了4个(谁会做啊!我就Orz)

5、人照镜子的时候,会觉得左右是相反的,但上下不是相反的,你动左手,就觉得镜子里是右手在动,你动上牙齿,还是看见上牙齿在动,这是什么原因?写出你的理解

6、有一种质地不均匀的绳子,烧完整根刚好是一个小时,假设有无数根这样的绳子,那么怎样可以用烧绳子的方法计算出正好1个小时15分钟~(出考场后,经一中科院的牛人点拨,才大彻大悟!只可惜,俺当时没想出来啊~先不告你,你自己看,一会儿再上答案)

7、三个看不见里面的箱子,一个上面写着“苹果”一个写着“橘子”,一个写着“苹果&橘子”,已知这三个标签都错误,现在请你挑一个箱子拿出一个水果,你能说出这三个箱子里分别是什么么?写出步骤~

篇3:百度网络笔试题目

百度网络笔试题目

1.假设Apache产生的日志文件名为access_log,在apache正在运行时,执行命令mv access_log access_log.bak,执行完后,请问新的apache的日志会打印到哪里,为什么?

2.在Shell环境下,如何查看远程Linux系统运行了多少时间?

3.处理以下文件内容,将域名取出并进行计数排序,如处理:

www.baidu.com/

www.baidu.com/1.html

post.baidu.com/

mp3.baidu.com/

www.baidu.com/3.html

post.baidu.com/2.html

得到如下结果:

域名的出现的次数 域名

3 www.baidu.com

2 post.baidu.com

1 mp3.baidu.com

可以使用bash/perl/php/c任意一种

4.如果得到随机的字串,长度和字串中出现的字符表可定义,并将字串倒序显示,如 把0123456789作为基准的字串字符表,产生一个6位的.字串642031,打印出的字串为 130246,可使用bash/perl/php/c任意一种.

5.如何查看当前Linux系统的状态,如CPU使用,内存使用,负载情况等.

6.你在大学中做的最成功的一件事是什么(不必一定与计算机相关)

篇4:百度合肥笔试题目

百度合肥笔试题目

一、简答题(30分)

1、用简单的语言进行数据库操作的步骤,(10分)

2、TCP/IP的四层结构。(10分)

3、什么是MVC结构并简要介绍各层次的结构。(10分)

二、编程题(40分)

1、公司技术部接到一个任务,需要使用a-z、0-9组成3位的字符密码,现请你设计一个算法,将可能的密码组合全部打印出来。(10分)

2、请实现字符串反转函数。(10分)

3、给定三种字符串的操作:

i)插入操作,你可以在任意位置插入一个char字符。

ii)删除操作,你可以在任意位置删除一个char字符。

Iii)替换操作,你可以把任意一个char,替换成一个新的char。

通过上述三种操作可以将一个给定的字符串A变换成另一个给定的字符串B,例如A=acegf,B=adef,那么将A变换到B的最小操作次数是2。第一次操作是把c换成d,第二次操作是删除g。

1)给定A=gumbo,B=gambol,最小次数为多少?并给出具体的操作过程,

(2分)

2)A、B为任意字符串?如何计算出最小操作次数?简述出你的计算思路,并给出递归公式。(3分)

3)实现代码(注意代码风格与效率)。(15分)

三、系统设题(30分)

【题目】RSA SecurID安全系统

RSA SecurID是在企业、银行等领域应用较多的一种用户登录验证手段。用户持有一个小设备,其上的'6位数每60秒(也可以是其他时间间隔)变化一次,用户登录时需要输入这6位数字,服务器进行认证,通过则允许登录。如果由你来设计这个系统,会怎么做。

从系统设计的角度,回答如下问题

1)基础设计思路是什么?要求说明清楚服务器端为何能有效认证动态密码的正确性。

2)如果用户数量达到千万量级,给出系统设计图示或说明。要求子功能模划分清晰,给出关键的数据结构或数据库表结构,请考虑用户量级带来的影响和扩展性,考虑用户之间密码的随机性等因素,设计如何支持这几个因素,给出说明。

3)如果系统的算法升级,可能服务器和设备端都要有所修改。系统如何设计,能够使得升级过程(包括可能的设备替换或重设)尽量平滑?

篇5:公司笔试题目

PHP:语法简单,非常易学易用,很利于快速开发各种功能不同的定制网站,PHP因为结构上的缺陷,使的PHP在复杂的大型项目上的开发和维护都比较困难。

JSP:对于网站开发来讲不像PHP和ASP那样易学易用,支持JAVA的主机也少于支持PHP的主机,这从一定程度上限制了Java技术在网站上的发展,不过在企业软件应用上来讲,MVC还是拥有相当大的优势的.,虽然其配置和部署相对其他脚本语言来说要复杂一些,但对于跨平台的中大型企业应用系统来讲,基于JAVA技术的MVC架构几乎成为唯一的选择。

1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)

#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL

我在这想看到几件事情:

1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)

2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。

3). 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。

4). 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。

篇6:百度移动研发笔试题目

百度移动研发笔试题目

一.简答题

1.简述计算机的存储系统分为哪几个层次,为什么这样的'分层能够提高程序的执行效率,

2.浮点数在计算中如何表示,如何对浮点数判等。

3.简述TCP与UDP协议的差别,两者与HTTP的关系。并列举HTTP的方法,以及常见的返回状态码。

二.算法与程序设计

1.设计一个反转字符串的函数 char *reverse_str(char *str),不使用系统函数。

2.给定一个字符串,(1,(2,3),(4,(5,6),7)),使它变为(1,2,3,4,5,6,7),设计一个算法消除其中嵌套的括号,

(c/c++)

3.使用C语言实现htonl(将long性转为网络字节码),不使用系统自带函数。

三.系统设计题

面向对象是一种思想,使用C语言来实现下列问题。

1.如何定义一个类?

2.如何创建以及销毁对象?

3.如何实现类的继承?

从上面来看,计算机原理知识两道,网络协议方面一道,其余都为C方面的考察,两道字符串处理,一个C和面向对象思想的结合。

篇7:百度校园招聘笔试题目

3、一个大的含有50M个URL的记录,一个小的含有500个URL的记录,找出两个记录里相同的URL。

回答:

首先使用包含500个url的文件创建一个hash_set。

然后遍历50M的url记录,如果url在hash_set中,则输出此url并从hash_set中删除这个url。

所有输出的url就是两个记录里相同的url。

4、海量日志数据,提取出某日访问百度次数最多的那个IP。

回答:

如果日志文件足够的大,大到不能完全加载到内存中的话。

那么可以考虑分而治之的策略,按照IP地址的hash(IP)%1024值,将海量日志存储到1024个小文件中。每个小文件最多包含4M个IP地址。

对于每个小文件,可以构建一个IP作为key,出现次数作为value的hash_map,并记录当前出现次数最多的1个IP地址。

有了1024个小文件中的出现次数最多的IP,我们就可以轻松得到总体上出现次数最多的IP。

5、蚂蚁爬杆问题

有一根27厘米长的细木杆,在第3厘米,7厘米,11厘米,17厘米,23厘米这五个位置上各有一只蚂蚁,木杆很细,不能同时通过两只蚂蚁,开始时,蚂蚁的头朝向左还是右是任意的,他们只会朝前走或掉头,但不会后退,当两只蚂蚁相遇后,蚂蚁会同时掉头朝反方向走,假设蚂蚁们每秒钟可以走1厘米的距离。求所有蚂蚁都离开木杆的最小时间和最大时间。

答案:

两只蚂蚁相遇后,各自掉头朝相反方向走。如果我们不考虑每个蚂蚁的具体身份,这和两只蚂蚁相遇后,打个招呼继续向前走没有什么区别。

所有蚂蚁都离开木杆的最小时间为

max(min(3,27-3),min(7,27-7), min(11,27-11), min(17,27-17),min(23,27-23))=11

所有蚂蚁都离开木杆的最大时间为

max(max(3,27-3),max(7,27-7), max(11,27-11), max(17,27-17),max(23,27-23))=24

6、有10个文件,每个文件1G,每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。如何按照query的频度排序?

回答:

1)读取10个文件,按照hash(query)%10的结果将query写到对应的文件中。这样我们就有了10个大小约为1G的文件。任意一个query只会出现在某个文件中。

2)对于1)中获得的10个文件,分别进行如下操作

-利用hash_map(query,query_count)来统计每个query出现的次数。

-利用堆排序算法对query按照出现次数进行排序。

-将排序好的query输出的文件中。

这样我们就获得了10个文件,每个文件中都是按频率排序好的query。

3)对2)中获得的10个文件进行归并排序,并将最终结果输出到文件中。

篇8:百度用户厦门笔试题目

百度用户厦门笔试题目

第一题,举例说说1-3个你喜欢或者不喜欢的互联网产品。并说明优缺点、原因。

第二题。北京商家提供收费消毒餐具和免费餐具。北京有1000家餐馆提供收费消毒餐具。估计每天收费消费餐具的.消耗量。

第三题。王某去超市选矿泉水,有ABCDEF六种。朋友推荐了ABC。但是,B被曝光细菌超标。导购员推荐了C和D,认为这个符合王某高级白领的身份。王某认为自己是C 的粉丝,最后选择了C。请问,过程中体现了王某的什么需求?

第四题,是资料分析题,

给了很多数据,问你得出了什么结论。

就是比如今年网民数量增加了多少,提升了百分之几。手机用户增长率,低学历网民增长率

第五题。百度知道要设计手机版和pad版。在设计上要有什么区别?然后设计一个调研方案来验证你所说的区别

如果百度知道设计手机版,你觉得sybian、anriod,ios,blackberry哪一个最有可能成为手机端的用户

第6题。为什么大多数手机网民选择搜狗、百度输入法等第三方输入法,而不是手机自带输入法?

百度校园招聘笔试题目

百度公司笔试真题及答案

四川移动公司笔试题目

供电局笔试题目

壳牌笔试题目

下载百度公司笔试题目(精选8篇)
百度公司笔试题目.doc
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
点击下载本文文档