Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/PPshrimpGo/AIinterview
算法工程师面试题整理
https://github.com/PPshrimpGo/AIinterview
Last synced: 29 days ago
JSON representation
算法工程师面试题整理
- Host: GitHub
- URL: https://github.com/PPshrimpGo/AIinterview
- Owner: PPshrimpGo
- Created: 2018-10-13T06:44:56.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-01-14T02:06:34.000Z (almost 3 years ago)
- Last Synced: 2024-08-03T21:03:24.961Z (4 months ago)
- Size: 8.79 KB
- Stars: 851
- Watchers: 16
- Forks: 144
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- Awesome-AI-algorithm - Github
README
# 算法工程师面试
答案将以系列文章形式在公众号【包包算法笔记】进行系列更新,建议关注~
[破解transformer/Bert八股,快问快答(一)](https://mp.weixin.qq.com/s?__biz=MzIwNDY1NTU5Mg==&mid=2247484315&idx=1&sn=76cf9a7dfe228e92a4c74d28c3c655fc&chksm=973d9d1ca04a140af3d81184f579b9137876206a13c2a6d6c41dc1dff42e4bfc809d76325c71&token=1359631707&lang=zh_CN#rd)
[破解transformer/Bert八股,快问快答(二)](https://mp.weixin.qq.com/s?__biz=MzIwNDY1NTU5Mg==&mid=2247484364&idx=1&sn=0aa2145dd23dc040b54e2b5e9834858d&chksm=973d9d4ba04a145d0c1a2bc915709fbc9407c7668bca61d89fa3b04bdc70b364629824663394&token=1359631707&lang=zh_CN#rd)
## 深度学习
### 模型评估方法
- 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等等