Gerow 发表于 2018-9-11 16:15:27

2017秋招算法岗位一点点小面经。

当时秋招的时候写的,只写了几个公司,后面面试的很多公司都没有写,先放上来,有空再回忆再更。
1 今日头条
一面:
挑一个你觉得做的最好的项目讲讲,然后问问题
讲一讲HOG算子(项目里有写),是怎么求梯度的?
讲一讲SVM,知道多少说多少,为什么要用对偶问题求解?
说一下BP是怎么求导的
讲一下PCA,讲完后问有一个XX',为什么?为什么是方差最大?
写代码:二叉搜索树删除某个节点,先说思路,后写。
二面:
讲论文,用深度学习怎么做,有什么区别?
讲项目,有没有遇到hard example,对于这些怎么处理的。答曰调整了阈值,没有在训练层面处理。
如果要处理人脸识别的hard example怎么处理?答曰fine-tune,继续问训练样本怎么办?答:采集样本,然后data augmentation, GAN理论上也可以。他说GAN太难了。
在SVM的训练中有没有遇到hard example。答,SVM对hard example的应用非常重要,先用一部分训练集训练一个模型,然后用剩下的一部分训练集的一部分测试,把出错的再送进去训练,重复两到三次,效果会比较好。然后解释了为什么。
SVM加核函数用过吗?讲一讲其中的差别。答:训练样本多,维度较大就可以用核函数,如果样本少用核函数比较容易过拟合。
写代码:一个链表,依次输出第一个,倒数第一个,第二个,倒数第二个...这个简单。
三面:
稍微讲了一讲项目
直接写代码:给一个float的数,求算术平方根。先说思路,我想的是在一个区域内随机打点,从0到x积分=根号x,结果就是根号x的导数,0.5/根号x,面试官说这个带来了新的根号x,不行,然后提示说直接求,然后我就想到了折半查找。0~x折半或者0~1折半,分x大于1还是小于1的情况。
写代码,三种砖块,分别是1*1,1*2,1*3,拼成1*N,有多少种拼法?我开头想成了完全背包问题,一开始写代码,说不对,想错了,就是一个斐波那契问题,很快写出,问,复杂度是多少?答O(N),问有没有更简单的?我当时确实不知道,然后就说我不知道。然后面试就结束了,没想到最终还是通过了三面。
3 携程
一面:
讲一讲生成模型和判别模型的区别。
GAN网络讲一讲,和生成模型以及判别模型有什么关系。
求SIFT算子的步骤,优化方法?没答上来,说了一个大概,忘了。。
要实现一个哈希表,应该怎么做(根据要哈希的内容选择合适的哈希函数和冲突解决方案,比如balabala...)
2面:
放弃
3 拼多多
1面(电话面):
牛顿法怎么求Hissen矩阵,知道拟牛顿法吗
代码,讲思路:若干个长度不同的数组,求最小的区间,让每个数组都有数字在这个区间内(不会)
换个简单的:一个01矩阵,每一排都是0在前1在后,问哪一排的1最多?(二分法)问有没有更简单的方法(每一排记录当前的最左边的1的位置,下一排的时候直接忽略右边的)问时间复杂度,猜测是O(m+n)
2面:北京现场
项目
会什么机器学习方法?讲一个。我挑了LR,从原理到推导到优化。他问梯度下降是最优解还是局部解,问,如何让它收敛到全局最优解?(不会)http://blog.csdn.net/itplus/article/details/21896453 牛顿法和拟牛顿法,拟牛顿包括BFGS和L-BFGS, 推导海森矩阵的逆之间的关系,绕开了求解海森矩阵。
写代码。若干个区间,只要区间有交集则可以合并,求合并后跨度最大的区间是哪个?(sort,合并)
3面:
项目
写代码:链表,原址变换为:奇数在前,偶数在后,相对顺序不变。(void 函数)
机器学习。。忘了
4 搜狗
一面:
项目问一遍,其中涉及的机器学习方法全问了一遍。
一个python的dict,按照key-value存储,如何按照value排序
如果是C++怎么做?一个map,怎么按照value排序?
static的类有什么用。
如何实现一个只能实例化一次的类。
模板类?
纯虚函数和虚函数的区别
深度学习是万能的吗?什么地方不适用,如果给你一个任务,你如何选择用深度学习还是传统的如SVM?(任务、数据量、数据特点)
SVM核函数的选择?多项式核和RBF核的关系?
resnet、inception,attention分别描述
按照你的经验,深度学习的待学习的参数量和训练样本数量之间的关系。
1*1的卷积核的作用
TensorFlow interactivesession 和 session的区别
RNN的缺陷以及LSTM怎么解决?
如何提高一个网络的泛化能力?
描述dfs和bfs,分别怎么实现?(栈和队列)
描述迪杰斯特拉算法
动态规划是什么
动态规划和带记忆的递归有什么区别?(自顶而下和自底而上)
0-1背包问题的动态规划递归式怎么写?
描述KMP算法
写代码:链表求和(反过来的)
写代码:三角数堆,只能往左下或者右下走,从堆顶到堆底和最小是多少。(dp)
二面:
项目、论文各种问,刨根问底。
数学&&智商题目:一个袋子里有100个黑球和100个白球,每次随机拿出两个球丢掉,如果丢掉的是不同颜色的球,则从其他地方补充一个黑球到袋子里,如果颜色相同,则补充一个白球到袋子里。问:最后一个球是黑球和白球的概率分别为多大?
数学&&智商题目:A容器中有4L沙子,B容器中有4L米,假设米和沙子密度一样。有一个C容器是300ml, 第一步,用C从A中舀300ml到B中,混合均匀,第二步,用C从B冲舀300ml到A中混合均匀。再重复第一步和第二步,问这四步之后,A中的米和B中的沙子谁多?
5 滴滴
一面:
项目相关的机器学习和深度学习
int *p=6; free(p)这段程序有没有错?运行会发生什么。
写代码:两个有序数组的合并
对强化学习了解吗?
二面:
项目。
你觉得滴滴打车的拼车价是怎么计算出来的,详细描述。(路径规划,订单预测之类的)
你觉得滴滴打车的溢价,1.1倍,1.2倍,这些数值是怎么计算出来的?(订单预测,当前司机数量),目的是什么?
推导PCA。
说LR和SVM损失函数。
代码:二叉树之字形层次遍历,(正反正反。。。)
三面(面试官像个部门领导,比较老一点,沉稳一点):
项目,涉及的深度学习和机器学习。
推导PCA,具体问很多为什么。为什么是方差最大化?你这个是方差吗?
推导BP神经网络的反向求导。(可以用均方损失函数)
代码:A和B是两个矩阵,求 tr(A'B),A'指A的转置。(写出来后,我没有检查AB是否size相同,他说应该考虑这种边界条件,并说你考虑了AB是否空矩阵这是比较好的一点)
XGBoost了解吗(No)
四面(HR):
最有成就感的项目,讲讲分工,为什么有成就感?
实验室同学们怎么评价你,他们认为你的优缺点是啥。
拿到什么offer。怎么选择公司?
对滴滴的了解程度,怎么评价滴滴。

转载自:https://www.nowcoder.com/discuss/70012
页: [1]
查看完整版本: 2017秋招算法岗位一点点小面经。