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

当时秋招的时候写的,只写了几个公司,后面面试的很多公司都没有写,先放上来,有空再回忆再更。
1 今日头条


一面:

挑一个你觉得做的最好的项目讲讲,然后问问题

讲一讲HOG算子(项目里有写),是怎么求梯度的?

讲一讲SVM,知道多少说多少,为什么要用对偶问题求解?

说一下BP是怎么求导的

讲一下PCA,讲完后问有一个XX',为什么?为什么是方差最大?

写代码:二叉搜索树删除某个节点,先说思路,后写。

二面:

讲论文,用深度学习怎么做,有什么区别?

讲项目,有没有遇到hard example,对于这些怎么处理的。答曰调整了阈值,没有在训练层面处理。

如果要处理人脸识别的hard example怎么处理?答曰fine-tune,继续问训练样本怎么办?答:采集样本,然后data augmentation, GAN理论上也可以。他说GAN太难了。

SVM的训练中有没有遇到hard example。答,SVMhard example的应用非常重要,先用一部分训练集训练一个模型,然后用剩下的一部分训练集的一部分测试,把出错的再送进去训练,重复两到三次,效果会比较好。然后解释了为什么。

SVM加核函数用过吗?讲一讲其中的差别。答:训练样本多,维度较大就可以用核函数,如果样本少用核函数比较容易过拟合。

写代码:一个链表,依次输出第一个,倒数第一个,第二个,倒数第二个...这个简单。

三面:

稍微讲了一讲项目

直接写代码:给一个float的数,求算术平方根。先说思路,我想的是在一个区域内随机打点,从0x积分=根号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/21***53 牛顿法和拟牛顿法,拟牛顿包括BFGSL-BFGS, 推导海森矩阵的逆之间的关系,绕开了求解海森矩阵。

写代码。若干个区间,只要区间有交集则可以合并,求合并后跨度最大的区间是哪个?(sort,合并)

3面:

项目

写代码:链表,原址变换为:奇数在前,偶数在后,相对顺序不变。(void 函数)

机器学习。。忘了

4 搜狗

一面:

项目问一遍,其中涉及的机器学习方法全问了一遍。

一个pythondict,按照key-value存储,如何按照value排序

如果是C++怎么做?一个map,怎么按照value排序?

static的类有什么用。

如何实现一个只能实例化一次的类。

模板类?

纯虚函数和虚函数的区别

深度学习是万能的吗?什么地方不适用,如果给你一个任务,你如何选择用深度学习还是传统的如SVM?(任务、数据量、数据特点)

SVM核函数的选择?多项式核和RBF核的关系?

resnet、inceptionattention分别描述

按照你的经验,深度学习的待学习的参数量和训练样本数量之间的关系。

1*1的卷积核的作用

TensorFlow interactivesession 和 session的区别

RNN的缺陷以及LSTM怎么解决?

如何提高一个网络的泛化能力?

描述dfsbfs,分别怎么实现?(栈和队列)

描述迪杰斯特拉算法

动态规划是什么

动态规划和带记忆的递归有什么区别?(自顶而下和自底而上)

0-1背包问题的动态规划递归式怎么写?

描述KMP算法

写代码:链表求和(反过来的)

写代码:三角数堆,只能往左下或者右下走,从堆顶到堆底和最小是多少。(dp

二面:

项目、论文各种问,刨根问底。

数学&&智商题目:一个袋子里有100个黑球和100个白球,每次随机拿出两个球丢掉,如果丢掉的是不同颜色的球,则从其他地方补充一个黑球到袋子里,如果颜色相同,则补充一个白球到袋子里。问:最后一个球是黑球和白球的概率分别为多大?

数学&&智商题目:A容器中有4L沙子,B容器中有4L米,假设米和沙子密度一样。有一个C容器是300ml, 第一步,用CA中舀300mlB中,混合均匀,第二步,用CB冲舀300mlA中混合均匀。再重复第一步和第二步,问这四步之后,A中的米和B中的沙子谁多?

5 滴滴

一面:

项目相关的机器学习和深度学习

int *p=6; free(p)这段程序有没有错?运行会发生什么。

写代码:两个有序数组的合并

对强化学习了解吗?

二面:

项目。

你觉得滴滴打车的拼车价是怎么计算出来的,详细描述。(路径规划,订单预测之类的)

你觉得滴滴打车的溢价,1.1倍,1.2倍,这些数值是怎么计算出来的?(订单预测,当前司机数量),目的是什么?

推导PCA

LRSVM损失函数。

代码:二叉树之字形层次遍历,(正反正反。。。)

三面(面试官像个部门领导,比较老一点,沉稳一点):

项目,涉及的深度学习和机器学习。

推导PCA,具体问很多为什么。为什么是方差最大化?你这个是方差吗?

推导BP神经网络的反向求导。(可以用均方损失函数)

代码:AB是两个矩阵,求 trA'B,A'A的转置。(写出来后,我没有检查AB是否size相同,他说应该考虑这种边界条件,并说你考虑了AB是否空矩阵这是比较好的一点)

XGBoost了解吗(No

四面(HR):

最有成就感的项目,讲讲分工,为什么有成就感?

实验室同学们怎么评价你,他们认为你的优缺点是啥。

拿到什么offer。怎么选择公司?

对滴滴的了解程度,怎么评价滴滴。


#面经##算法工程师#
全部评论
给定一个float,求平方根,是不是可以考虑用牛顿法迭代来求,f(x) = x^2 - a;x(n+1) = 0.5 * (x(n)+a/x(n));收敛条件abs(x(n+1)-x(n)) < threshold
点赞 回复 分享
发布于 2018-03-23 13:58
感谢楼主的面经!
点赞 回复 分享
发布于 2018-03-23 00:03
🐴
点赞 回复 分享
发布于 2018-03-23 07:41
好像你那个区间合并用bitmap最好
点赞 回复 分享
发布于 2018-03-26 16:42
斐波那契数列有一个O(logn)的算法,用矩阵乘法加快速幂、
点赞 回复 分享
发布于 2018-03-26 17:48
谢谢楼主!
点赞 回复 分享
发布于 2019-09-22 10:01

相关推荐

点赞 评论 收藏
分享
9 157 评论
分享
牛客网
牛客企业服务