MiaoRain / lund

9 stars 2 forks source link

面试问题 #4

Open MiaoRain opened 4 years ago

MiaoRain commented 4 years ago

技术面中90%是根据自己的项目内容进行提问,因此项目准备很重要,对项目中的每一个细节要清楚,对算法的实现也要熟悉。因为简历中涉及传统的图像识别的内容,也涉及基于深度学习方法的目标检测内容,因此要对两者的区别有所理解。面试介绍自己的项目时,应该说明项目的难点,使用了哪些算法进行对比,或者选择该方案的原因,并适当带出自己了解到的最新论文,给面试官留下好印象。 第一 代码能力非常重要,多刷题,这是根本。最好是能独自复现paper上的算法,面试经常面试官问道能不能在没有源码的情况下,复现paper上的模型; 第二 做CV算法机器学习也需要懂,线性回归,逻辑回归,SVM,EM等等,也要花时间尽量弄懂; 第三 虽然我们找工作是偏向深度学习一点,但是传统的图像处理知识会让你在找工作中比只懂深度学习的更有优势

**1. 回答问题的时候,千万别问什么就回答什么,比如问resnet,最好从vgg开始讲,然后是resnet,inception;densenet可以稍微提下,算法产生的背景,解决策略,最近新的成果,以及同类的其他解决办法,异同点。从横向和纵向两个角度来讲效果会比较好,这也是自己学习的时候路径,当然还有个程度维度,因为自己不可能一次性学到位。

  1. 可以适当提下最新的研究成果,不用答得很细,比如问优化方法,可以提下RAdam,所以适当阅读一些论文也是有必要的,虽然不是重点,但无论对自己知识的更新还是对面试都有帮助。
  2. 有问题多找老师,助教,就业辅导,他们人都很nice。多和学员交流。**

展示项目。用PPT介绍项目或者视频展示,这样比只靠嘴巴说,更生动也更有说服力。

项目最重要!简历上项目写不好没有面试机会,面试项目问题不好好准备也很难通过。 项目涉及的各种技术及其关联扩展的详解、为什么要用这种方法思考过程是怎样的、有哪些难点、遇到哪些困难、后期做了哪些优化等问题,都要准备好再去面试。我在这方面也有一定的怠惰和心存侥幸。举个我回答失败的例子,面试官问我为什么用triplet,我在详细说triplet是如何做的,甚至说出triplet是一种常见的方法这样naive的话。正确的方法应该是从面临的问题出发、从高屋建瓴的技术宏观视角出发,要解决什么问题,有哪些可行方法,互相对比一下,再看这种方法有什么优势。

面试官问了很多项目某个过程遇到什么困难、难点在哪里、为什么要用这种方法你是如何思考和选择的等问题,这些问题很常见,但是也并不好回答,

面试过程也是聊了聊我的经历和项目,然后重点都在聊他们的case我会怎么做,数据将怎么处理、网络不收敛怎么办、类别不平衡怎么办、数据和模型都跟别人用的一样的,怎么做出比别人更好的结果呢?等等这些具体的问题。技术面之后等了会儿领导来面了下,也就各方面再了解了下。

  1. CV就业2课程里的内容好好的学习,别在面试的时候自己把学的东西写进去,但是又答不上来,一定一定要做笔记,我个人是以写CSDN博客的方式来进行记录自己的学习路径,也可以写知乎或者博客园,这样在面试的时候,面试官也会看你的blog;
  2. 对于课程安排的实践项目中,一定要动手实践,对于结果也要做仔细的分析,不要抛出结果结算了,代码算法的实现也要理清楚,不然写进简历,面试官极有可能会问你,某一层的输出维度是多少?还有就是其中某个部分的原理是什么?(后面附具体的问题);
  3. 虽然个人找的是深度学习和计算机视觉算法方面的东西,但是机器学习的经典算法也要理解到位,尤其SVM和K-Means、KNN(几乎我每场都被问了),还有就是对于自然语言处理的一些东西也要了解,视野不可以太窄,具体内容,课程上的课程就够了;
  4. 还有就是对于算法的应用场景也要有所思考,别只了解一些理论的东西,课程中老师闲扯的东西,尽量自己在做深入的思考(比如,车辆ReID的内容,可以不可以延伸到行人ReID(CV就业班的内容),然后到姿态估计(机器学习集训营第9期有这个好像),然后两者结合增加模型的精确度,再进一步能不能对于视频的内容进行动态识别,等等);
  5. 多面试,然后记住当时不会的问题,回去之后多和老师讨论,然后自己进一步学习和复盘,还有就是一定一定不能怂,不会就是不会,会的就是会,真实很重要,这点特别感谢这个秋招一来就业邢老师的陪伴,期间心态都快崩了,邢老师不断地鼓励,感激!!!

2、SENet的原理说一下,和Attention机制的区别? 3、EfficientNet的原理?基于什么模型的搜索? 4、剪枝和量化有了解吗?具体在实现的时候是基于什么剪枝的,是channel还是weight? 5、int8量化的原理? 6、模型的融合模型准确率有点大,为什么还要选择融合?(这个是简历中的问题,被揪出来了!!!没考虑到的)

2、对于pytorch框架和tensorflow他们的区别是什么? 3、对于SENet的效果提升,有什么看法? 4、讲一下K-Means的原理以及步骤? 5、讲一下决策树的三要素? 6、怎么解决过拟合的问题? 7、对于图像拼接,基于什么特征?为什么选择这个特征?

1、对于EfficientNet,说明一下原理? 2、SENet的原理,以及画出block的图? 3、ReID项目中,Triplet loss的原理? 4、说明一下怎么解决的困难样本的问题? 5、对于ReID模型,模型的FLOPS是多少?可以到达多少帧?

  1. 讲讲svm的核函数

  2. svm经过核函数变换后,最重要的是做什么

  3. 讲讲RandomForest,决策树,ID3,C4.5 ,CART

  4. numpy中的数组和list有什么区别

  5. k-means

  6. PCA,KPCA

  7. GDBT,XGBoost,LightGBM以及与RandomForest的区别(这个自己完全没掌握)

  8. 讲讲resNet

  9. 说说bn的作用

  10. 说一下word2vec

  11. RNN,LSTM

  12. 目标检测中,boundingbox是如何调整的

  13. 目标检测算法中有哪些分类,分别讲讲

  14. 现在让你提高模型的精度,你有哪些办法,提高模型的召回率,你有哪些办法

  15. 有哪些优化方法

  16. 你是做图像的,现在让你去做一个nlp或者语音的项目,你准备怎么做

  17. 给定一个网络结构和loss,现场推导反向传播算法。

  18. 1x1的卷积核有什么作用

全程主要问项目的情况,主要用了什么算法, 为什么用了这个算法效果就要好? 滤波算法有哪些? 研究生学习了哪些课程?

项目陈述,主要用了什么算法,解决了什么问题,算法细节实现? 项目数据集是多少? 为何使用这个算法比另一个算法要好?最后训练结果是多少?

CTO面试,简单介绍了自己所做的项目,选择自己最熟悉的模型介绍一下,所以就介绍了一下FasterRCNN网络,并比较了FasterRCNN在RCNN系列中的改进点, 说明RPN网络的作用,实现细节? anchor初始化的实现细节? Faster RCNN如何训练? NMS实现细节? 自己的项目使用了什么评价方法?含义是什么? 为什么想转行?怎么选择的方向? 未来5年的职业规划是什么?

了解哪些anchor free的网络, 了解哪些最新的模型? 是否会CUDA编程? one-stage和two-stage目标检测方法的区别和优缺点? SLIC算法介绍?

是否了解图像拼接,使用了什么特征描述子?

  1. 你网络输入的tensor是什么样的,最终输出是多少
  2. 为什么要选用这个网络,网络结构是什么样的,网络中64,48是什么意思
  3. 有多少照片,最多的类别是多少张,最少的类别是是多少张
  4. 如何处理数据不平衡问题,对应的api是什么,在什么地方加入数据不平衡处理
  5. 最好的结果是多少,你的结果排名多少
  6. 学习率多少,采用什么的衰减策略,为什么用这个衰减策略

激活函数至少写三种以及优劣势 L1和L2的总用及区别 怎么防止过拟合 最近读过的新的paper 特征图尺寸计算 目标检测中map的是怎么计算的。 然后就是面试官问简历上的项目。我简历上主要写了一个fasterRNN的项目,问各种tircks的原理。

残差网络的原理 fasterRCNN的原理 YOLOV3的原理 C++及python方面的语法题

相关部门的技术leader给我面试,上来就拿白纸让我写NMS的实现算法,我写完,又聊了其他的关于检测和跟踪的技术细节,还有过往项目中关于CV算法的实现细节.这部分需要好好准备,简历上所有写的东西都要有十足的把握说服面试官.

3、focal loss 为什么可以解决正负样本不平衡的问题? 4、你是怎么对两个模型进行集成的? 5、样本不平衡有哪些解决办法?

  1. 模型的评价指标

  2. 解释一下反向传播算法,Pooling层的作用

  3. 解释ResNet 和 Inception的结构

  4. 解释一个你熟悉的机器学习算法

  5. 模型训练的优化方法 介绍项目经历,Faster R-CNN 的原理,YOLOV3的原理。由于编程题是用Java写的所以问是不是不会C++。我就回答,不会。

  6. 决策树的剪枝

  7. 逻辑回归的损失函数 3、 数据降维有哪些方法 4、 KNN与K-means的区别 5、 数据集中,特征怎么选择? 6、 如何解决数据不平衡问题? 7、 模型的评价指标有哪些? 8、 什么是梯度爆炸和梯度消失? 9、 深度学习的损失函数有哪些?

介绍项目,RetinaNet怎么处理正负样本分布不平衡的问题? YOLOv3的原理? segNet,FCN,U-Net有什么区别?转置卷积的原理? 空洞卷积? 训练时梯度爆炸,怎么解决? 小物体检测效果不好,怎么优化? Batch size的大小对模型训练有什么影响? 如何改善训练模型的效果? 为什么要做数据归一化?