Machine Learning / Algorithm Engineer Interview Question (Chinese)
Published:
暑期即将告一段落,我暑期算法工程师实习也顺利结束了。在面试过程中面过不少公司,大多数都为技术面试。我总结了我所有遇到过的面试题供大家参考。面试职位大多数都是机器学习方向的算法工程师,绝大多数知识点都是和ML相关的。
机器学习相关(包括NLP,CV和推荐):
- 基础知识
- 关于项目的问题,所有公司都会问,要对写在简历上的项目非常熟悉
- xgboost,random forest,lightGBM的区别
- 假设Random Forest有无穷个树,那么每个树的深度是越深越好还是越浅越好
- 走一遍GBDT算法的流程
- L1/L2正规区别,为什么L1比L2稀疏
- bagging和boosting的区别,bagging降低方差(variance)还是偏差(bias)
- xgboost怎么优化,叶子几点分裂准则,损失函数,正则
- Logistic regression公式推导,sigmoid和softmax区别
- Logistic regression怎么进行多分类(1v1,1 over rest)
- Logistic regression怎么拟合非线性模型,为什么可以用kernel trick?
- svm怎么处理非线性数据(kernel trick)以及和logistic regression的区别,loss推导
- precision,recall和F1-score区别
- AUC的解释
- NLP相关
- 对于word2vec模型和word embedding的理解,有没有自己训练过word2vec模型?
- NLP里面的negative sampling是什么
- 计算词向量的相似度有哪些方法
- 解释一下N-gram, Bag-of-words(CBOW, Skip-gram)模型
- 简单说一下LSTM和GRU的区别
- LSTM真的可以解决梯度爆炸/消失的问题吗
- 介绍一下Transformer,attention机制,以及它和传统RNN的区别及优势
- CV相关
- 简单说一下ResNet的bottleneck结构以及该模型是怎么解决的梯度爆炸的问题(short cut connection 推导)
- ResNet真的可以解决网络退化的问题吗
- 说一下Vision Transformer的结构,对于其他运用在视觉领域上的transformer based模型还有了解吗
- 1*1的卷积核有什么用
- 为什么两个33卷积的视野和一个55卷积的视野一样
- 池化层的反传播,以及平均池化和最大池化的区别
- 激活函数都有哪些?简单介绍,为什么要用非线性激活函数?
- Batch Normalization的作用,以及它和Layer Normalization的区别
- 数据归一化的作用,处理imbalanced data的方法
- 什么是过拟合和欠拟合,具体说一说在训练小样本量模型时防止过拟合的方法
- CNN为什么适用于图像分类
- 神经网络常见的激活函数有哪些
- categorical crossentropy,binary crossentropy公式
- Yolo模型里面的anchor的作用
- Yolov5, v4, v3 的区别有哪些,了解FPN吗
- 了解Focal loss吗,说一下intuition
- 有没有遇到过模型不收敛的情况,可能是什么原因,以及是怎么解决的
- 图像处理方面:bilinear interpolation和trilinear interpolation,高通低通滤波
- 推荐相关
- 推荐算法UCB应用场景及reward公式
- UCB存在的问题
- LinUCB 算法思路及reward公式
- 运用场景题:欧洲杯比赛日夜宵该怎么推荐?根据什么?用什么算法?
编程相关:
- 二叉树层序历遍 (队列)
- 最大子序和(动规)
- 糖豆人(动规)
- 接雨水(双指针)
- 和为k的子数组 (前缀和)
- Leetcode 994 (DFS)
- 前K个高频元素 (堆)
数学题:
- 一根不规则的绳子烧完要一小时整,问怎么用这跟绳子测量半小时的时间
- 岛上有m个男人和m个女人,一个男人和一个女人配对,共m对。假设每一对(i,1<=i<=m)都会繁衍后代。对于第i对,如果生到男孩,就停止;如果生到女孩,就接着生直到生到男孩为止。问经过n轮迭代,岛上男女总比例(包括生出来的男孩和女孩)
其他:
- 对Hadoop有了解吗
- 简单说一下Spark RDD是什么
- Spark MLlib