# CV_interviews_Q-A
> 不试着去找找实习,不试着被面试官毒打下,都意识不到自己基础的薄弱,很多东西被问到只知道个大概,再深挖一下为什么就支支吾吾答不上来了。深感CV算法岗竞争之激烈,从来都是狭路相逢勇者胜,借找工作的机会好好整理下所学的知识,希望现在好好准备还来时不晚,一起努力向offers发起冲击吧!
本仓库汇总CV算法岗重要的一些知识点和面试问答,主要分为**计算机视觉、机器学习、图像处理和、C++基础** 四大块,每一块都有几十个问题,每个问题都会努力给出详细完整的解答,帮助你理清这些知识点细节。
为了刺激下大家的神经,激发斗志,在往下看之前可以先看看这篇经验分享:[算法岗必须人手一篇顶会?超详细面经:无论文、无实习拿下腾讯CV算法岗](https://mp.weixin.qq.com/s?__biz=MzI5MDUyMDIxNA==&mid=2247494712&idx=1&sn=2c906e0c4062955adb8bf4bbda7cb1a8&chksm=ec1c01c1db6b88d7e1f4b8ff2b2f084d1e7961ffdcb29c9de03328cb9c2a14fe68522b7b0c2f&mpshare=1&scene=1&srcid=&sharer_sharetime=1588779616413&sharer_shareid=40621009b5a320f1873da9d6e9a820a7#rd)。创建本仓库的灵感也就是来源于此文,感谢大佬的分享~
## 食用方法
**另外添加转换过的 PDF 版,如果直接下载 md 文件显示不了一些图片或者公式的话,可以匹配 PDF 版学习。**--2020.08.14
github上直接看的话很多公式和图片看不了,**请 clone 到本地然后下载安装Typora查看**,Typora 是一款支持实时预览的 Markdown 文本编辑器。它有 OS X、Windows、Linux 三个平台的版本,完全免费,体验非常好,推荐你使用。
知识不是看几遍就会的,好记性不如烂笔头,最好看了我们的总结后,你也自己敲出一个适合你的版本,或删减或添加或修改为适合你的表达方式,这样会大大提升学习的效果。
另外知识点琐碎繁杂,及时复习也很重要,这里再推荐个APP,叫**Anki**,需要的请自行了解!
**需要声明的一点是**:本文是作为个人学习总结的,我们不生产知识,只是知识的搬运工,主要做的工作是知识整合与逻辑梳理,参考了很多大神的博客及文章资料(文章中会注明参考的资料,感谢这些作者的贡献),当然也会有自己的思考,不喜勿喷,如有错误,恳请指正!
**最后如果该项目对你有帮助,请不吝给个Star,给个鼓励,也让更多人看到!**
## 合作
如果你有意一起把这个项目完成好,也可以向我们 **Pull requests** (表格中有记录是否完成,你可以随便挑其中未完成的一个来总结,当然表格中没有的问题,但你觉得很重要,也可以自己想问题然后给出答案),欢迎你加入!!!--2020.05.18
## 知识点问题清单
这里列出各大块的问题清单,按照顺序对应于各文件夹下的md文件。
### 计算机视觉
| 序号 | 是否完成 | 问题描述 |
| :--: | :------: | :----------------------------------------------------------: |
| 1 | | 自己项目有关模型的相关问题如:项目整体流程、网络结构、 论文的实验是怎么做的、<br />你的贡献是什么、创新点在哪里、遇到哪些问题是怎么解决的 |
| 2 | 是 | 过拟合和欠拟合的表现及解决方法 |
| 3 | 是 | 代码实现卷及操作 |
| 4 | 是 | BN层的深入理解及代码实现 (补充先加BN还是激活函数的区别、反向传播与求导) <br />另外还要着重分析下GN与BN相比的优势 |
| 5 | 是 | NMS的工作机制及代码实现(要继续补充soft NMS) |
| 6 | 是 | 三种常见的激活函数 |
| 7 | 是 | ReLU函数在0处不可导,为什么还能用 |
| 8 | 是 | Pooling层的作用以及如何进行反向传播 |
| 9 | 是 | 为什么输入网络前要对图像做归一化 |
| 10 | 是 | 理清深度学习优化函数发展脉络(添加随机梯度下降和梯度下降的区别) |
| 11 | 是 | 详解深度学习中的梯度消失、爆炸原因及其解决方法 |
| 12 | | 训练不收敛的原因有哪些 |
| 13 | | 为什么max pooling 要更常用?什么场景下 average pooling 比 max pooling 更合适 |
| 14 | 是 | CNN 在图像上表现好的原因 |
| 16 | | 卷积层和全连接层相比有哪些好处 |
| 17 | | 网络中常用的损失函数汇总 |
| 18 | | 有哪些修改、调试模型的经验分享 |
| 19 | | 目标检测评价指标mAP的计算 |
| 20 | | 实例分割中的评价指标 |
| 21 | 是 | 手推反向传播公式BP |
| 22 | 是 | 各层 FLOPs 和参数量 paras 的计算 |
| 23 | 是 | 感受野怎么计算 |
| 24 | 是 | CV中的卷积操作是互相关还是卷积 |
| 25 | | batch size 和 learning rate 的关系(怎么调整和平衡二者) |
| 26 | | 类别不均衡问题怎么解决 |
| 27 | | 迁移学习都有哪些方式,怎么在网络训练中使用 |
| 28 | | 权重初始化方法有哪些 |
| 29 | | 计算机视觉中的注意力机制 |
| 30 | | onehot 编码可能会遇到的问题 |
| 31 | | 分类问题有哪些评价指标?每种的适用场景 |
| 32 | 是 | 为什么要用 F1 score |
| 33 | | L1 正则化与 L2 正则化的区别 |
| 34 | 是 | 简述CNN分类网络的演变脉络及各自的贡献与特点 |
| 35 | | 解释 ResNet 流行的原因 |
| 36 | | Inception v1-v4的区别与改进 |
| 37 | | 模型加速方法:MobileNet、ShuffleNet知道吗 |
| 38 | 待补充 | 了解全卷积网络FCN 和 UNet |
| 39 | | two stage目标检测网络的发展脉络及各自的贡献与特点(尤其注意损失函数) |
| 40 | 是 | 解释 ROI Pooling 和 ROI Align 的区别 |
| 41 | 是 | CascadeRCNN的原理,本质解决了什么问题 |
| 42 | | 介绍下 FPN 网络 |
| 43 | | one stage目标检测网络 YOLO 和 SSD 网络结构及优缺点(尤其注意损失函数) |
| 44 | 是 | concat 和 add 的区别 |
| 45 | | 了解模型剪枝和模型压缩的概念 |
| 46 | 是 | 简单了解循环神经网络 RNN & LSTM |
| 47 | | 简单了解生成式对抗网络 GAN |
| 48 | 是 | 各种卷积方式串讲