百度 笔试-凯发官网

工作职场 投稿 23 0 评论

文章内容是3篇关于「往年百度校园招聘笔试题」的工作范文供大家借鉴参考,希望能帮助大家在工作中写百度 笔试相关文档的时候提供一个有效的参考,助你解决相关写作问题。

no.1 往年百度校园招聘笔试题-第1篇

笔试的题目:

一。简答题

1、简述iso的7层设计

2、如何在多个进行间进行数据共享(至少写出3种)

3、简述tcp与udp的区别

二。算法题

1、有一个数据a = [a_1,a_2,a_3.。.。.a_n],n的大小不定,请设计算法将a中的所有数据组合进行输出

2、有一个数组,里面的元素相邻之间相差绝对值1,如{4,5,6,5,4,5,6,7,8,7,8,9},先给定已数据a请输出该数据在数组中的位置j?

3、二叉树的面积等于二叉树的长乘以二叉树的宽,二叉树的宽等于最长节点间的距离,二叉树的长等于根节点到子节点的最长长度,请设计算法计算二叉树的面积?

三。算法设计题

百度地图中存在需要标注的很多点,并且这些点都需要带描述,现将描述假设为矩形,并且可以位于点的左边或右边,但点不能移动,如果两个点间的描述发生覆盖,则

需要将其中的一个点进行删除

1、在一个区域内,请设计算法将有效的点进行输出(尽可能多的点)?

2、如果区域足够大,点足够多,算法会出现性能的瓶颈,请设计详细的算法来说明并解决问题?

no.2 往年百度校园招聘笔试题-第2篇

一、简答题

1、osi的七层模型。(10分)

osi的七层模型如下图所示:

2、请列举下不同进程之间共享数据的方式(至少举出三种)。(10分)

1、文件映射(memory-mapped files)能使进程把文件内容当作进程地址间一块内存那样来对待

2、共享内存(shared memory)实际就是文件映射的一种特殊情况

3、命名管道(named pipe)是服务器进程和一个或多个客户进程之间通信的单向或双向管道

4、邮件槽(mailslots)提供进程间单向通信能力,任何进程都能建立邮件槽成为邮件槽服务器

5、剪贴板(clipped board)为不同应用程序之间共享不同格式数据提供了一条捷径

6、动态连接库(dll)中的全局数据可以被调用dll的所有进程共享

3、请描述下tcp和udp的差别,并且各列举出一个上层协议。(10分)

tcp---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个tcp连接,之后才能传输数据。tcp提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

udp---用户数据报协议,是一个简单的面向数据报的运输层协议。udp不提供可靠性,它只是把应用程序传给ip层的数据报发送出去,但是并不能保证它们能到达目的地。由于udp在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

经常使用“ping”命令的原理就是向对方主机发送udp数据包,ftp等就是使用到的tcp协议

二、算法与程序设计

1、给出一个数据a={a_0,a_1,a_2…a_n}(其中n可变),打印出该数值元素的所有组合。(15分)

因为题目要求n可变,所以不可能是n层for循环的方式,可以采用递归的方式来实现,每次取一个元素,在剩下元素的数组中递归,要注意递归结束的条件。

2、有这样一个数组a,大小为n,相邻元素差的绝对值都是1,如a={4,5,6,5,6,7,8,9,10,9},现在给定数组a和目标整数t,请找到t在a中的位置。(15分)

最简单的方式是循环遍历每一个元素之后比较,找到t在a中的位置,此种方法效率最低;

改进:因为相邻元素差的绝对值都是1,那么任意两个元素相距的位置至少是两元素差的绝对值个,假设要找的元素是t,t和a(0)的差为y1=abs(t-a[0]),那么t和a[0]的距离至少是y1,再求一次差值y2=abs(t-a[y1]),t和a[y1 y2]的距离至少是y2,继续向后查找,直到相等为止,此种方法效率较前一种高

3、有一颗二叉树,定义树的高度为从根到叶子节点的最长距离,树的宽度为每层节点的最大值,树的面积定义为高度和宽度的乘积。写一个函数计算一个二叉树的面积。(15分)

广度遍历求树的宽度,深度遍历求树的高度,之后计算面积

no.3 往年百度校园招聘笔试题-第3篇

1、假设进栈次序是e1, e2, e3, e4,那可能的出栈次序是()

a、e2, e4, e3, e1

b、e2, e3, e4, e1

c、e3, e2, e4, e1

d、e1, e2, e4, e3

给定入栈顺序,求出可能的出栈顺序。(点评:老得掉渣得题目了,只要小心点都没有问题)

2、表达式x=a b__(c-d)/e的后缀表示形式可以是()

a、xab cde/-__=

b、xa bc-de/__=

c、xabcd-__e/ =

d、xabcde __/=

分析:xabcd-__e/ =

3、四叉树中包含地空指针数量有多少?假设每个节点含有四个指向其孩子的指针,那么给定n个节点,其4n个指针有多少指向空?(比较简单的题目,n个节点使用了的指针有n-1,所以最后的答案位4n-(n-1)=3n 1)

分析:或者举例说明也行。

4、那个排序算法是非稳定的?选择,冒泡、希尔,堆排序,快速等 (也是比较基础的题目)

a、冒泡排序 b、归并排序 c、快速排序 d、堆排序 e、希尔排序

分析:凡是o(n^2)的全部是稳定排序,o(nlogn)的全部是非稳定排序。

5、根据函数,赋予参数值,写输出。请问func(0x7f530829)的返回值是()

int func(unsigned int i)

{

unsigned int temp = i;

temp = (temp & 0x55555555) ((temp & 0xaaaaaaaa)>>1);

temp = (temp & 0x33333333) ((temp & 0xcccccccc)>>2);

temp = (temp & 0x0f0f0f0f) ((temp & 0xf0f0f0f0)>>4);

temp = (temp & 0xff00ff) ((temp & 0xff00ff00)>>8);

temp = (temp & 0xffff) ((temp & 0xffff0000)>>16);

return temp;

}

a、15 b、16 c、17 d、18

分析:函数实现的是求二进制表示的时候,1的个数,一共15个

最开始把每一个位看做一个节点,相邻节点值相加,结果用两个位表示。

然后每两个位看做一个节点,相邻节点值相加,结果用四个位表示。

以此类推,直到只剩下一个节点。

6、进程与线程的区别:系统调度是对进程还是线程,线程与进程共享的内存空间、公共地址空间等;

a.操作系统只调度进程,不调度线程

b.线程共享内存地址空间,进程不共享

c.线程间可共享内存数据,但进程不可以

d.进程可以通过ipc通信,但线程不可以

7、内存管理:段页式管理,地址映射表是?(操作系统方面的知识也不能掉以轻心呀)

a. 每个作业或进程一张段表,一张页表

b. 每个作业或进程的每个段一张段表,一张页表

c. 每个作业或进程一张段表,每个段一张页表

d. 每个作业一张页表,每个段一张段表

8、关于tcp协议,下面哪种说法是错误的()

a、tcp关闭连接过程中,两端的socket都会经过time_wait状态

b、对一个established状态的tcp连接,调用shutdown函数可以让主动调用的一方进入半关闭状态

c、tcp协议默认保证了当tcp的一端发生意外崩溃(当机、网线断开或路由器故障),另一端能自动检测到连接失效

d、在成功建立连接的tcp上,只有在established状态才能收发数据,其他状态都不可以。

分析:tcp/ip协议的实际使用过程中的问题:例如单方面断开后,另一端出于哪种状态,还有

9、关于主键primary key和索引index的说法哪些是错误的?()

a、唯一索引的列允许为null值

b、一个关系表中的外键必定是另一表中的主键

c、一个表中只能有一个唯一性索引

d、索引主要影响查询过程,对数据的插入影响不大

分析:数据库方面的知识:主键和索引的基本定义及其性质,例如主键在表中是否唯一,索引的速度以及对表的改变的影响;无论是唯一索引还是非唯一索引,索引列都允许取null值

10、数据库的事务隔离级别一般分为4个级别,其中可能发生“不可重复读”的事物级别有()

a、serializable

b、read committed

c、read uncommitted

d、repeatable read

分析数据库:数据库的不可重复访问异常,四种事务隔离级别中哪些可以避免该类异常?

各隔离级别对各种异常的控制能力

lu丢失更新 dr脏读 nrr非重复读 slu二类丢失更新 pr幻像读

未提交读 ru y y y y y

提交读 rc n n y y y

可重复读 rr n n n n y

串行读 s n n n n y

11、如果f(n)为该数列的第n项,那么这句话可以写成如下形式:

f(1)=1,f(2)=1,f(n)=f(n-1) f(n-2) (n>=3)

请实现该函数f(n)的求解,并给出算法复杂度,要求算法复杂度小于o(n^2)。

思路:使用滚动数组可以保存以前保存的结果,加快速度,减少空间复杂度。

int fib(int index)

{

if(index<1)

{

return-1;

}

int a1=1,a2=1,a3=1;

for(int i=0;i

{

a3=a1 a2;

a1=a2;

a2=a3;

}

return a3;

}

第二 部分(必做):程序设计

1、下面的程序的输出是什么?

#include

int main(void)

{

int n;

char y[10] = "ntse";

char __x = y;

n = strlen(x);

__x = x[n];

x ;

printf("x=%s\n",x);

printf("y=%s\n",y);

return 0;

}

输出:

x=tse

y=

因为n=4,则__x = x[n]; 的功能是将x指向的第一个字符n修改为\0,这样y字符串就结束了,所以第二输出为空,x 操作后,x指向第二个字符t,所以第一个输出为:tse。

2、请给出下面程序的输出结果,并说明原因。

#include

#include

using namespace std;

template

class array

{

public:

array(int size);

size_t getvectorsize()

{

return _data.size();

}

size_t getsize()

{

return _size;

}

public:

vector _data;

size_t _size;

};

template

array::array(int size) : _size(size) , _data(_size)

{ }

int main(void)

{

array __arr = new array(3);

cout

cout

return 0;

}

12、写一个程序来确定系统是大端模式还是小端模式;

13、编程实现采用位操作来实现整数的加法操作。

14、 图的矩阵表示法,图的深度优先遍历,算法思路及其实现。

15.cas(compare and swap)操作实现:(具体原理可以参考)

16.fork函数的用法。具体题目为:

#include

#include

#include

int main(void)

{

int i;

for(i=0; i<2; i ){

fork();

printf("-");

fflush(stdout);

}

return 0;

}

6个-

详见:

17.spin lock原理:

先来一些代码吧!

void initlock(volatile int__lock_status)

{

__lock_status = 0;

}

void lock(volatile int__lock_status)

{

while(test_and_set(lock_status = =1);

}

void unlock(volatile int__lock_status)

{

__lock_status = 0;

}

问题:volatile的作用?lock函数优化(针对在多cpu上提高cpu cache)?上面的缺陷(内存模式上的)?

volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。

18、给定一个巨大的文件,如何从中选出k行,随处输出k行到文件中。要求每一行出现的概率都相等。设计算法、说明思路,算法复杂度。

19.win32中wm_quit的作用是什么?

20、比较mutex和临街区之间的区别,并说明其使用场景。

21、多线程编程,如何安全退出线程。

还有网易数据挖掘方面的题目,这次数据挖掘的题目比较新奇,都是简答题。如下:

1,简述你对数据与处理的认识;

2,简述你对中文分词的理解,说明主要难点和常用算法;

3,常见的分类算法有哪些;

4,简述k-means算法;

5,设计一个智能的商品推荐系统;

6,简述你对观点挖掘的认识

网易游戏笔试的人太少,因此可提供的笔试题目都不全,只是听说特别的难。还有好多是数学方面的智力题。例如:

1、英雄升级,从0级升到1级,概率100%。

从1级升到2级,有1/3的可能成功;1/3的可能停留原级;1/3的可能下降到0级;

从2级升到3级,有1/9的可能成功;4/9的可能停留原级;4/9的可能下降到1级。

每次升级要花费一个宝石,不管成功还是停留还是降级。

求英雄从0级升到3级平均花费的宝石数目。

凯发官网 » 3篇关于往年百度校园招聘笔试题

or 分享 (0)
游客 发表我的评论  

表情
(0)个小伙伴在吐槽
网站地图