百度招聘研发工程师笔试题和面试题答案
小编下面推荐的这套笔试题目,是一位网友刚参加完百度2015研发工程师招聘笔试分享的,大家敬请关注!
一、简答题
1.深度神经网络目前有哪些成功的应用?简述原因。(10分)
2.列举不同进程共享数据的方式(至少三种)。(10分)
3.对于N个样本,每个样本为D维向量,采用欧式距离使用KNN做类预测。(10分)
1).给出预测时间复杂度。
2).当N很大时,有哪些方法可以降低复杂度?
3).k取值的大小对预测方差和偏差有何影响?
二、算法和程序设计
1.给出一个数据A=[a_0, a_1, a-2, ... a_n](其中n可变),打印出该数值元素的所有组合。(15分)
2.有这样一个数组A,大小为n,相邻元素差的绝对值都是1,如A={4,5,6,5,6,7,8,9,10,9}。现在给定数组A和目标整数t,请找到t在数组中的位置。(15分)
3.在平面上有一组间距为d的平行线,将一根长度为l(l
三、系统设计题(两题中任选一题作答,25分)
2.关于K-means聚类算法,请回答以下问题:
1).写出将N个样本X=(x1, ... xN)聚类成k类的k_means聚类算法的优化目标;
2).描述K-means终止的常用条件;
3).以Kmeans算法为例,描述Expectation-Maximization(EM)算法的基本原理与步骤。
4).用伪代码给出基于MPI或者HADOOP的Kmeans并行算法。
我的部分解答:
二、(2)
public static int find(int[] a, int t) {
int i=0;
while(i
if(t == a[i]) {
return i;
} else {
i += Math.abs(t - a[i]);
}
}
return -1;
}
public static void main(String[] args) {
int[] a = {4,5,6,5,6,7,8,9,10,9};
System.out.println(find(a, 7));
}