面经 |算法工程师面试题汇总分享

面经 |算法工程师面试题汇总分享

来源:https://github.com/PPshrimpGo/AIinterview

0 导读
本文汇总了 深度学习(模型评估方法、基本方法、优化方法、深度学习基础、CNN、RNN)、机器学习(基础、集成学习、模型 、特征工程)、数据结构与算法(二叉树类、搜索回溯、概率题、动态规划、字符串)、数组、二分、快排系列(链表、排序)、海量数据题等各类型算法岗面试题。

1 深度学习

模型评估方法
1)Accuracy作为指标有哪些局限性?

2)ROC曲线和PR曲线各是什么?

3)编程实现AUC的计算,并指出复杂度?

4)AUC指标有什么特点?放缩结果对AUC是否有影响?

5)余弦距离与欧式距离有什么特点?

基本方法
1)如何划分训练集?如何选取验证集?

2)什么是偏差和方差?

3)什么是过拟合?深度学习解决过拟合的方法有哪

4)解决欠拟合的方法有哪些?

5)深度模型参数调整的一般方法论?

优化方法
1)简述了解的优化器,发展综述?

2)常用的损失函数有哪些?分别适用于什么场景?

3)梯度下降与拟牛顿法的异同?

4)L1和L2正则分别有什么特点?为何L1稀疏?

深度学习基础
1)以一层隐层的神经网络,relu激活,MSE作为损失函数推导反向传播

2)NN的权重参数能否初始化为0?

3)什么是梯度消失和梯度爆炸?

4)常用的激活函数,导数?

5)relu的有优点?又有什么局限性?他们的系列改进方法是啥?

6)sigmoid和tanh为什么会导致梯度消失?

7)一个隐层需要多少节点能实现包含n元输入的任意布尔函数?

8)多个隐层实现包含n元输入的任意布尔函数,需要多少节点和网络层?

9)dropout为何能防止过拟合?

10)dropout和BN 在前向传播和方向传播阶段的区别?

CNN
1)给定卷积核的尺寸,特征图大小计算方法?

2)网络容量计算方法

3)共享参数有什么优点

4)常用的池化操作有哪些?有什么特点?

5)CNN如何用于文本分类?

6)resnet提出的背景和核心理论是?

7)空洞卷积是什么?有什么应用场景?

RNN
1)简述RNN,LSTM,GRU的区别和联系

2)画出lstm的结构图,写出公式

3)RNN的梯度消失问题?如何解决?

4)lstm中是否可以用relu作为激活函数?

5)lstm各个门分别使用什么激活函数?

6)简述seq2seq模型?

7)seq2seq在解码时候有哪些方法?

8)Attention机制是什么?

2 机器学习

基础
1)样本不均衡如何处理?

2)什么是生成模型什么是判别模型?

集成学习
1)集成学习的分类?有什么代表性的模型和方法?

2)如何从偏差和方差的角度解释bagging和boosting的原理?

3)GBDT的原理?和Xgboost的区别联系?

4)adaboost和gbdt的区别联系?

模型
1)手推LR、Kmeans、SVM

2)简述ridge和lasson的区别和联系

3)树模型如何调参

4)树模型如何剪枝?

5)是否存一定存在参数,使得SVM的训练误差能到0

6)逻辑回归如何处理多分类?

7)决策树有哪些划分指标?区别与联系?

8)简述SVD和PCA的区别和联系?

9)如何使用梯度下降方法进行矩阵分解?

10)LDA与PCA的区别与联系?

特征工程
1)常用的特征筛选方法有哪些?

2)文本如何构造特征?

3)类别变量如何构造特征?

4)连续值变量如何构造特征?

5)哪些模型需要对特征进行归一化?

6)什么是组合特征?如何处理高维组合特征?

其他(分方向)
1)word2vec的原理,glove的原理,fasttext的原理?

2)cbow和skipgram如何选择?

3)了解elmo和bert吗?简述与word embedding的联系和区别

4)图像和文本和语音数据各有哪些数据增强方法?

5)rcnn、fatse rcnn、fatser rcnn、mask rcnn的原理?

6)介绍resnet和GoogLeNet中的inception module的结构?

7)介绍yolo和ssd ?

8)介绍FM,FFM,deepFM,deepWide.

9)机器翻译如何解决oov?

等等

3 数据结构与算法

二叉树类
1)前中后的非递归?

2)层次遍历,之字遍历?

3)二叉树的序列化与反序列化

4)前中,后中遍历结果恢复二叉树

5)排序二叉树的序列化

6)二叉树的直径

7)二叉树的路径和为定值的路径

8)翻转、复制二叉树

9)排序二叉树转双向链表

10)判断二叉树是否相同?判断一棵树是不是另一棵树的子树?

搜索回溯
1)八皇后,全排列,组合

2)重复数字的排列,重复数字的组合

3)图的搜索

4)A star

概率题
1)用rand7构造rand10

2)轮盘赌

3)三角形内等概论随机选点

等等

动态规划
1)编辑距离

2)背包

3)LCS

字符串
1)给定字符串是否符合正则表达式XXX

2)给定字符串是否是数字?

3)KMP

4)超大数相加

数组、二分、快排系列
1)旋转数组查找

2)数组中的topk

3)旋转打印数组

4)行列递增矩阵查找数字

5)查找出现超过一半的数字

6)查找和为定值的两个数

链表
1)翻转链表

2)两个链表是否有交点

3)一个链表是否有环

4)链表的倒数k个节点

5)合并链表

6)逆序打印链表

排序
1)各种排序的复杂度最优最差平均

2)堆排序topk

3)快排的变化

海量数据题
1)海量日志的出现最多的10个字符串

2)10亿个1-10的数字排序

3)trie树

4)hashmap

5)布隆过滤器

6)bitmap

等等

-End-

面经 |算法工程师面试题汇总分享_第1张图片

(关注微信公众号“StrongerTang”,看更多文章,和小汤一起学习,一同进步!)

你可能感兴趣的:(资料分享)