算法工程师常见面经问题
机器学习基础题
LSTM的公式
RNN为什么出现梯度消失及BPTT的推导
DQN的基本原理么
GBDT和随机森林有什么区别
GBDT的原理,如何做分类和回归
随机森林的随机体现在哪方面
Wide &Deep的原理
GBDT+LR是怎么做的?
DQN模型为什么要做经验回放
数据之间如果不是独立同分布的会怎样
AUC的原理介绍一下
XGBOOst和GBDT的区别。
强化学习和监督学习的区别
神经网络里面的损失函数有哪些
机器学习中常见的激活函数有哪些?为什么通常需要零均值?
DeepFM介绍
FM推导
boosting和bagging的区别?
bagging为什么能减小方差?
交叉熵损失函数,0-1分类的交叉熵损失函数的形式。什么是凸函数?0-1分类为什么用交叉熵而不是平方损失?
L1和L2有什么区别,从数学角度解释L2为什么能提升模型的泛化能力。
深度学习中,L2和dropout有哪些区别?
L1正则化有哪些好处
如果有一万个地理坐标,转换成1-10000的数,可以用决策树么?
CART分类树和ID3以及C4.5有什么区别?
树集成模型有哪几种实现方式:Bagging和Boosting,随即森林的随机体现在哪些方面,AdaBoost是如何改变样本权重,GBDT分类树拟合的是什么?
Dueling DQN和DQN有什么区别
early stop对参数有什么影响?
梯度消失为什么会出现?如何解决?
- 预训练加微调
- 梯度剪切、权重正则(针对梯度爆炸)
- 使用不同的激活函数(ReLU)
- 使用batchnorm
- 使用残差结构
- 使用LSTM网络
如何防止过拟合? - early stopping - 数据集扩增(Data augmentation) - 正则化(Regularization) - Dropout
数据结构算法题
K个有序数组,找一个长度最小的区间,在这个区间里至少包含每个数组各一个数
n个[0,n)的数,求每个数的出现次数(不能开辟额外空间)
数组的全排列(空间复杂度O(1))
一堆钞票,尽可能均分(利用背包问题的思想)
无向无环图中,最短路径的最大值(Floyd算法)
层次遍历二叉树
字符串的最长公共子序列(动态规划)
树的前序遍历和zigzag遍历(非递归)
一个数组,所有数组都出现了两次,只有一个数出现了一次,返回这个数(位运算)
一个数组,一个数出现了超过一半次数,返回这个数
将除法的结果用字符串返回,如果能够除尽,则返回相除的结果,如果不能除尽,则无限循环部分用[]标记。
数组排序,假设数组排序后的位次和排序前的位次绝对值差值小于K,有什么比快排好的算法?
树中两个节点的第一个的公共祖先。
判断是否是回文链表
判断两个链表中是否有相同节点
堆和栈的介绍以及它们之间有什么区别?
编程语言题
介绍一下构造函数,析构函数,函数重载(面向对象这一块的知识)
Python
- Python的匿名函数是什么吗?简单介绍一下并且举一个例子说明一下。
- Python中一个*和两个**有什么区别?
实践题
如果你想往模型中加入一个特征,如何判定这个特征是否有效?
LR和FM的区别?FM需要进行交叉特征的选择么?如果在LR选了一部分特征做交叉之后,取得了比FM更好的效果,这是为什么?如果FM变成DeepFM之后,效果超过了LR,这又是为什么?
如果逻辑回归的所有样本的都是正样本, 那么它学出来的超平面是怎样的?
哪些场景下的分类问题不适用于交叉熵损失函数?
推荐系统中你认为最重要的环节是什么?
多臂老虎机中,有许多方法,比如e-greedy,timponson采样,UCB,这些方法都有哪些适用场景?
如何预测一家店分品类的销量
信息流采样,有n份数据,但是n的长度并不知道,设计一个采样算法,使得每份被选择的概率是相同的。
模型在线下评估和线上使用时,往往出现线上实际效果不如线下效果的情况,请分析可能的原因。
References: