/AIinterview

算法工程师面试题整理

算法工程师面试

深度学习

模型评估方法

  • Accuracy作为指标有哪些局限性?
  • ROC曲线和PR曲线各是什么?
  • 编程实现AUC的计算,并指出复杂度?
  • AUC指标有什么特点?放缩结果对AUC是否有影响?
  • 余弦距离与欧式距离有什么特点?

基本方法

  • 如何划分训练集?如何选取验证集?
  • 什么是偏差和方差?
  • 什么是过拟合?深度学习解决过拟合的方法有哪
  • 解决欠拟合的方法有哪些?
  • 深度模型参数调整的一般方法论?

优化方法

  • 简述了解的优化器,发展综述?
  • 常用的损失函数有哪些?分别适用于什么场景?
  • 梯度下降与拟牛顿法的异同?
  • L1和L2正则分别有什么特点?为何L1稀疏?

深度学习基础

  • 以一层隐层的神经网络,relu激活,MSE作为损失函数推导反向传播
  • NN的权重参数能否初始化为0?
  • 什么是梯度消失和梯度爆炸?
  • 常用的激活函数,导数?
  • relu的有优点?又有什么局限性?他们的系列改进方法是啥?
  • sigmoid和tanh为什么会导致梯度消失?
  • 一个隐层需要多少节点能实现包含n元输入的任意布尔函数?
  • 多个隐层实现包含n元输入的任意布尔函数,需要多少节点和网络层?
  • dropout为何能防止过拟合?
  • dropout和BN 在前向传播和方向传播阶段的区别?

CNN

  • 给定卷积核的尺寸,特征图大小计算方法?
  • 网络容量计算方法
  • 共享参数有什么优点
  • 常用的池化操作有哪些?有什么特点?
  • CNN如何用于文本分类?
  • resnet提出的背景和核心理论是?
  • 空洞卷积是什么?有什么应用场景?

RNN

  • 简述RNN,LSTM,GRU的区别和联系
  • 画出lstm的结构图,写出公式
  • RNN的梯度消失问题?如何解决?
  • lstm中是否可以用relu作为激活函数?
  • lstm各个门分别使用什么激活函数?
  • 简述seq2seq模型?
  • seq2seq在解码时候有哪些方法?
  • Attention机制是什么?

机器学习

基础

  • 样本不均衡如何处理?
  • 什么是生成模型什么是判别模型?

集成学习

  • 集成学习的分类?有什么代表性的模型和方法?
  • 如何从偏差和方差的角度解释bagging和boosting的原理?
  • GBDT的原理?和Xgboost的区别联系?
  • adaboost和gbdt的区别联系?

模型

  • 手推LR、Kmeans、SVM
  • 简述ridge和lasson的区别和联系
  • 树模型如何调参
  • 树模型如何剪枝?
  • 是否存一定存在参数,使得SVM的训练误差能到0
  • 逻辑回归如何处理多分类?
  • 决策树有哪些划分指标?区别与联系?
  • 简述SVD和PCA的区别和联系?
  • 如何使用梯度下降方法进行矩阵分解?
  • LDA与PCA的区别与联系?

特征工程

  • 常用的特征筛选方法有哪些?
  • 文本如何构造特征?
  • 类别变量如何构造特征?
  • 连续值变量如何构造特征?
  • 哪些模型需要对特征进行归一化?
  • 什么是组合特征?如何处理高维组合特征?

其他(分方向)

  • word2vec的原理,glove的原理,fasttext的原理?

  • cbow和skipgram如何选择?

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

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

  • rcnn、fatse rcnn、fatser rcnn、mask rcnn的原理?

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

  • 介绍yolo和ssd ?

  • 介绍FM,FFM,deepFM,deepWide.

  • 机器翻译如何解决oov?

  • 等等

数据结构与算法

二叉树类

  • 前中后的非递归?
  • 层次遍历,之字遍历?
  • 二叉树的序列化与反序列化
  • 前中,后中遍历结果恢复二叉树
  • 排序二叉树的序列化
  • 二叉树的直径
  • 二叉树的路径和为定值的路径
  • 翻转、复制二叉树
  • 排序二叉树转双向链表
  • 判断二叉树是否相同?判断一棵树是不是另一棵树的子树?

搜索回溯

  • 八皇后,全排列,组合
  • 重复数字的排列,重复数字的组合
  • 图的搜索
  • A star

概率题

  • 用rand7构造rand10
  • 轮盘赌
  • 三角形内等概论随机选点
  • 等等

动态规划

  • 编辑距离
  • 背包
  • LCS

字符串

  • 给定字符串是否符合正则表达式XXX
  • 给定字符串是否是数字?
  • KMP
  • 超大数相加

数组、二分、快排系列

  • 旋转数组查找
  • 数组中的topk
  • 旋转打印数组
  • 行列递增矩阵查找数字
  • 查找出现超过一半的数字
  • 查找和为定值的两个数

链表

  • 翻转链表
  • 两个链表是否有交点
  • 一个链表是否有环
  • 链表的倒数k个节点
  • 合并链表
  • 逆序打印链表

排序

  • 各种排序的复杂度最优最差平均
  • 堆排序topk
  • 快排的变化

海量数据题

  • 海量日志的出现最多的10个字符串
  • 10亿个1-10的数字排序
  • trie树
  • hashmap
  • 布隆过滤器
  • bitmap

等等