2018秋招百度java工程师笔试试卷分享
春招开始,把自己去年做的百度的秋招试卷分享出来,和各位牛友们共同学习进步,牛客真的是个不错的地方,亲测值得推广~
单选题
def func1(max_list):
return max(max_list)
def func2(init_list):
if len(init_list)<=2:
printf func1(init_list)
else:
init_list=[init_list[i:i+2]for i in range(0,len(init_list),2)]
max_init_list = []
for_list in init_list:
max_init_list.append(func1(_list))
func2(max_init_list)
if name ==” main “;
test_list = [13,4,11,5,67,7,9,43,24,2]
func2(test_list)
A. 动态规划
B. 回溯算法
C. 贪心算法
D. 分治法
A. 分治法
B. 回溯法
C. 动态规划
D. 贪心算法
A. 堆排序最好情况和最坏情况下时间复杂度不同
B. PageRank算法总是会收敛
C. 快速排序在被排序的数据完全无序时最容易发挥其长处
D. KMP算法的时间复杂度是O(n)
A. 归并排序
B. 冒泡排序
C. 选择排序
D. 堆排序
6、Jack为邮件分类训练了一个c树模型,但是在训练集和测试集上效果都异常地糟糕。其中实现没有任何问题,那么有什么会导致这种情况?( C )
A. 需要提高学习率
B. 其他三项都是
C. 决策树层数较浅
D. 过拟合
7、办公室某计算机配置的首选DNS为61.134.1.4,备用DNS为202.100.2.1;网络管理员测试备用DNS服务器解析www.baidu.com,下列方式正确的是( A )
A. nslookup回车
lserver202.100.2.1回车
B. nslookup回车
C. nslookup www.baodu.ocm回车
D. nslookup回车
dnsserver 202.100.2.1回车
正确答案:D
8、使用||x||_p来表示一个向量x和p的范数。给定α是一个标量,下列哪项是正确的(B )
A. ||x||_p=0表示x是一个零向量
B. 其他三项都对
C. ||αx ||_p=|α| ||x||_p
D. ||x||_p+||y||_p>=||x+y||_p
9、一个有131个元素的顺序表,插入一个新元素并保持原来的顺序不变,平均要移动( )个元素。删除一个元素平均需要移动(D)个元素
A. 67 66
B. 65 64
C. 9 8
D. 65.5 65
10、下列程序的运行结果是(B )
#include<stdio.h>
void f(int *p)
{p[0]=*(p+2);}
main()
{int a[10]={1,2,3,4,5,6,7,8,9,0},i;
for(i=3;i>=0;i--) f(a+i);
for(i=0;i<10;i++) printf(“%d”,a[i]);
printf(“\n”);}
A. 3 3 3 4 5 6 7 8 9 0
B. 5 6 5 6 5 6 7 8 9 0
C. 5 5 5 5 5 6 7 8 9 0
D. 4 4 4 4 5 6 7 8 9 0
11、以下程序
#include<stdio.h>
main()
{FILE *fp;int a[5]={2,8,5,3,9},i;
fp=fopen(“date.dat”,”wb”);
fwrite(a,sizeof(int),5,fp);
;
fread(a,sizeof(int),5,fp);
for(i=0;i<5;i++) printf(“%d”,a[i]);
printf(“\n”);
fclose(fp);}
运行后的结果是28539,请为横线处选择适当的程序。(B )
A. -fp
B. rewind(fp)
C. fp++
D. fclose(fp)
12、在MapReduce作业运行机制中,( )负责作业的协调运行(C )
A. JobTask
B. TaskTracker
C. JobTracker
D. JobClient
13、一个待散列线性表为K=(27,18,66,57,36,79,94,41),散列函数为H(K)=K MOD 13,与27发生冲突的元素有(A )个
A. 2
B. 4
C. 1
D. 3
14、许多单词有多重含义,我们需要选出最合适语句环境的语义,这可以通过下列哪项来解决?(C )
A. 其他三项都是
B. 浅层语义分析
C. 词义消歧
D. 模糊逻辑
正确答案:A
15、神经网路模型一个sigmoid节点输出什么?( B )
A. 在-1到1之间
B. 在0到1之间
C. ***,包括所有整数
D. ***,包括所有实数
16、语言形态中,将受影响的单词归纳到它们的根形式的方法是( C )
A. 其他几项均正确
B. Text-Proofing
C. Stemming
D. Rooting
正确答案:D
17、已知进程p1为系统进程,p2为用户进程,p3为报警进程,p4为普通进程,p5为I/O繁忙进程,p6为CPU繁忙进程,p7对资源的需求量少而低,p8对资源的需求量多而高,那么以下关于优先数的大小分析正确的是(D )
A. p1>p2 p3>p4 p5<p6 p7>p8
B. p1<p2 p3<p4 p5<p6 p7<p8
C. p1<p2 p3<p4 p5>p6 p7<p8
D. p1>p2 p3>p4 p5>p6 p7>p8
正确答案:A
19、设有序表有986个元素,则用二分查找元素x最多需要比较(A )次
A. 10
B. 986
C. 8
D. 1
20、C4.5决策树算法选择(A )作为分类属性的标准
A. 信息增益率
B. 条件熵
C. 信息增益
A. 信息熵
23、已知表长为28的哈希表,用除留余数法,按公式H(key)=key MOD p建立哈希表,则p应取( C )
A. 23
B. 17
C. 28
D. 21
正确答案:A
24、神经网络中sigmoid激活函数存在哪些问题? A
A. 对于很大或者递归的神经网络会导致梯度消失
B. 使用熵损失函数效果不好
C. 是凸的,并且凸函数不能解决非凸问题
D. 可以存在负值
多选题
1、利用分支限界法可以解决下列哪些问题( B、C、D )
A. 最大团问题
B. 电路板排列问题
C. 装载问题
D. 批处理作业调度问题
正确答案:ABCD
2、关于C++ this指针说法正确的是(A、B、C )
A. this在成员函数的开始前构造,在成员函数的结束后清除
B. 全局函数、静态函数都不能使用this
C. this作用与仅局限于类的内部
D. this指针只存放在栈上
3、
class A
{
int _a;
public:
A(int a): _a(a)
{
}
friend int f1(A &);
friend int f2(const A &);
friend int f3(A );
friend int f4(const A );
};
以下调用正确的是( A、B )
A. f1(0)
B. f4(0)
C. f2(0)
D. f3(0)
正确答案:BD
4、与SQL相比,HiveQL具有哪些特点(A、C、D )
A. 不支持批量导入数据
B. 支持类型自动转换
C. 扩展性好
D. 只能对表进行查询
正确答案:CD
5、数据清洗能够改善数据质量,其清洗内容包括(A、B、D )
A. 缺失数据处理
B. 逻辑错误检测
C. 异常数据处理
D. 相似重复对象检测
正确答案:ABCD
6、页式存储管理下,把由4个页面构成的作业根据页表调入由8个物理块构成的存储器中,设定块长为1024B,则以下推断正确的是(A、B、C )
A. 若访问的逻辑地址为(2,785),物理地址为6929B,则页表中2号页对应6号块
B. 若访问的逻辑地址为(3,1010),物理地址为3058B,则页表中3号页对应2号块
C. 若访问的逻辑地址为(0,100),物理地址为3172B,则页表中0号页对应3号块
D. 若访问的逻辑地址为(4,21),物理地址为3172B,则页表中0号页对应3号块
7、下列数据挖掘算法中,哪些算法属于监督学习(B、C )
A. K-means算法
B. SVM算法
C. KNN算法
D. EM算法
问答题
1、采样(Sampling)是机器学习各算法中的基本问题,请回答下面两个问题:
1)请解释为什么机器学习中需要采样算法,即较为普适的采样算法主要是为解决何种问题而存在的?指出普适的采样算法的主导思想并解释。
2)请给出至少两个采样算法及其原理。
2、
1)如何用深度神经网络解决NLP情感分类问题。
2)用DNN、CNN或者RNN做情感分类的区别。
编程题
双素数
时间限制:C/C++语言2000MS;其他语言4000MS
内存限制:C/C++语言65536KB;其他语言589824KB
题目描述:
一个正整数是素数当且仅当它除了1和自身以外没有其他因子。现在我们定义双素数:一个正整数是双素数当且仅当它本身是个素数,并且将他的十进制表示反转后得到数不等于它自身且也是个素数。如13就是一个双素数,因为13和31不相等且都是素数。现给出一个整数K,你需要找到第K小的双素数。
输入
第一行包含一个整数K。1≤K≤10000
输出
若第K小的双素数不超过106则输出它,否则输出-1。
样例输入
1
样例输出
13
2、序列合并
时间限制:C/C++语言2000MS;其他语言4000MS
内存限制:C/C++语言65536KB;其他语言589824KB
题目描述:
定义函数,其中系数ai都是整数满足
0≤ai≤1000且至少有两个系数严格大于0。分别将n=1,n=2,n=3,...代入以上函数可以得到一个无穷长度的整数序列。即用8个系数a7,a6,...,a0可以唯一确定一个无穷长度的整数序列。现在给出k个通过以上方法定义的无穷序列,你需要求出将这些序列的所有数字放在一起后,第n小的数字是多少。
输入
第一行包含一个整数k。1≤k≤104
接下来k行,每行包含8个整数a7,a6,...,a0表示一个函数的系数。0≤ai≤1000
最后一行包含一个整数n。1≤n≤105
输出
输出对应的答案,保证最后的答案不超过 1017。
样例输入
3
0 0 0 0 1 2 0 0
0 0 0 0 0 0 10 6
0 0 0 0 0 0 25 1
9
样例输出
51