一、简答题(本题共30分)
1、如何理解继承、多态、组合,请举例说明它们的应用。(10分)
2、请列举出进程间通信的几种方式(至少列举出三种)。(10分)
3、请写出贝叶斯公式,请描述朴素贝叶斯分类方法的原理和步骤。(10分)
二、算法与程序设计(本题共40分)
1、两个长度为100的随机向量X和Y,X=(x1,x2,x3,…,xn),Y=(y1,y2,y3,…,yn),其中xi和yi都是从均值为0,标准差为1的正态分布中随机选择的数,随机变量Z为X何Y的相关系数,请问:
1)Z的期望和标准差是多少,请写出简单的推导公式?(10分)
2)请用蒙特卡洛方法模拟,写代码计算Z的期望和标准差。(10分)
2、假设张三的mp3里有1000首歌,现在希望设计一种随机算法来随机播放。与普通随机模式不同的是,张三希望每首歌被随机到的改了吧是与一首歌的豆瓣评分(0~10分)成正比的,如朴树的《平凡之路》评分为8.9分,逃跑计划的《夜空中最亮的星》评分为9.5分,则希望听《平凡之路》的概率与《夜空中最亮的星》的概率比为89:95,。现在我们已知这1000首歌的豆瓣评分:
(1)请设计一种随机算法来满足张三的需求。(10分)
(2)请写代码实现自己的算法。(10分)
三、系统设计题(本题共30分)
1、我们队一批一维数据进行回归拟合。给你训练数据D=(xi,yi),i=1…n,其中xi∈R是一个实数,yi∈R是xi对应的回归坐标。我们拟使用线性,二次,高次函数对yi进行拟合:
线性函数:f(x)=ax+b
二次函数:f(x)=ax2+bx+c
三次函数:f(x)=ax3+bx2+cx+d
…
①我们设定最小均方误差为损失函数,请写出损失函数的具体形式。(5分)
②以二次函数你和为例,请使用随机梯度下降(stochastic gradient decent)对损失函数进行优化,给出参数a,b,c的梯度推倒并写出算法。(7分)
③下面三图分别是一次函数,二次函数,七次函数拟合的结果,同时给出它们在D上的损失函数值一次是0.76,0.15,0.01。在选择用什么函数作为最终拟合函数的时候,你会有哪些考虑。本例中你学会选择哪个(8分)
OooO面试的是美团的算法工程师,面试地点:
一面是技术面
1、 自我介绍
2、 简历上项目的简要介绍
3、 算法题:数组先递增后递减,要求找到最大值。要求写出代码
4、 会不会JAVA、linux,Unix编程、设计模式?
5、 C++多态实现并举例(写代码)
6、 Static变量的作用,堆栈的区别
7、 概率题:2个容器,第一个容器4个红球和5个白球,第二个容器3个红球和8个白球,随机取出一个球,已知是红球那么它是来自于第一个容器的概率是多少?
OooO说第四个题目一串知识,他全实事求是的答的不了解或者不会,但是还是通过了第一轮面试。
二面仍旧是技术面
1、 跟项目相关的算法题
2、 有两个数组X1[n],X2[n]。X1是已知的,X2需要计算。定义常数r,X2[i] = X1[i]的前r个元素和后r个元素共2r+1个元素的均值;对于前r个和后r个,由于缺少数据,就有多少个算多少个的均值。先讲思想,再写代码。
3、 已知数组如X=[1,2,3,4],输出其所有子集,如1,2,3,4,12,23,34,123,234,1234…(笔试时未完成的题目)。
4、 智力逻辑题:3*3的九宫格,填写1—9,使得所有行、列、对角线的和都是相等的,那么中间那个方格数字是什么?要求给出理论证明。
三面是HR面
1、智力题::7*7的方格,总左下角走到右上角,最短路径前提下一共有多少种不同路径
2、HR相关非技术题目