您的位置:首页 > 职场人生

2011年百度软件研发工程师广州笔试面试题

2011-10-13 14:43 441 查看
题意大概如下:

笔试:

1用ssh终端仿真软件远程运行linux程序,网络中断后,远程程序会退出。原因?解决方案

2写堆排序程序

3写全排列程序,输入[1,2,3],输出[1,2,3]、[1,3,2]、[2,1,3]、[2,3,1]、[3,1,2]、[3,2,1]

4写组合排列程序,输入[1,2,3],输出[[]]、[[1]]、[[1,2]]、[[1,3]]、[[2]]、[[2,3]]、[[3]]、[[1,2,3]]

5数字编码,数字N编码成M,M满足一下条件:(1)M各位数字之和与N的各位数字之和相等,(2)M和N的位数相等,(3)M是满足以上条件且比N大的最小数,(4)N的位数可能达到1000,N<10^500。如果不能转换,则输出-1。输出S(N)序列:S(1)=f(N)=M,S(2)=f(M),S(3)=f(f(M)),直到输出-1

6 Hash函数,A的任意区间均匀稳定分布到B区间,如A区间100%,粒度0.1,A区间的10%均匀分布到B区间,即B区间的每个10%都含1%A的10%区间?若A为第一层,B第二层,如何?

7设计题,URL存储,每一项有如下结构

Item1、count1、URL11、URL12…

Item2、count2、URL21、URL22…

Item2为序号,count1为后面URL的个数

设计以上结构的存储和访问方式,输入Item1返回后面的URL,且支持AND、OR、()操作,如(Item1)AND((Item2)OR(Item3))

面试:

1 写出strncpy的函数、与strcpy区别

2有一个数组,已知一个数出现的次数超过了一半,用O(n)时间复杂度、O(1)空间复杂度的算法找出这个数

3 m个人围成一圈,按1234..n(n<=m)次序循环报数,报到n的离开,最后一个离开的是原先的第几个人?
时间复杂度O(n)

4以下代码有什么问题

{

char* p = malloc(size);

…(内存操作)

}

5进程通信方式及区别

6 客户端和服务器间通信过程

还有项目、实习经验之类的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: