深度学习面试总结

深度学习面试总结

因为最近在面试深度学习CV方向的工作,面试了好几家公司,在面试过程中遇到一些问题,以及面试过程中领悟到的一些心得,所以写了这篇文章来记录一下,供大家作为面试的参考。

1. 复习准备

首先,深度学习的基础是面试官必问的,有一些公司回让你做基础的笔试题目,如果你是刚毕业出来的应届学生,没有实际的项目经验,基础不够扎实就很容易被pass掉,千万不要想着你知道深度学习是什么,卷积是什么,就草草的去投简历、去面试,深度学习是一门大学问,博主在这个方向上已经学习好几年了,有时候面试还是会被问的一脸懵逼,如果你下定决心找这方面的工作,就好好的复习,学无止境,网上有很多复习的题目深度学习面试100题深度学习面试题,不过很多企业基本上不会按照上面的问题直接去问你,权当复习的资料来看吧,当然我也会把我面试过程中面试官问到的一些问题在下文中列举出来供大家参考。

2. 面试过程

2.1 自我介绍

自我介绍是必不可少的,开头一个良好的自我介绍会给面试官留下很好的印象,自我介绍通常情况下会控制在1-3分钟之内,那么如何在这么短的时间内将自己完美的呈现给面试官?
首先我们必须先缕清好自己的思路,有条理的介绍自己:

1. 我来自哪里?
介绍自己的基本情况,例如:学校、学历、专业、年龄等;

2. 我会什么?
描述自己会的技能,例如:熟练使用YOLO、SSD、MTCNN等框架;如果有项目经验的话重点介绍自己做的项目,这是面试官最感兴趣的环节;

3. 我来应聘这个岗位可以给公司带来什么?
在最后要结合面试公司的情况,说说如果有幸能够加入贵公司,我能为公司带来什么什么(当然这个建议大家在收到面试邀请后,或者在投递简历前去企查查、以及该公司官网查一下该公司所从事的业务,结合公司业务具体描述)

在这三个环节里面,第二个环节尤为重要,面试官更多的是希望听到面试者会什么,做过什么,符不符合我们公司的招聘要求。

2.2 面试官提问

主要是根据你的简历还提问,所以在你制作简历的时候,一定要对自己简历上的内容掌握,不然问到了你不会就很尴尬,这种情况很扣分,问的问题包括:

1. 深度学习基础问题
2. 项目的问题(很广泛,要对自己项目有深入了解)
3. 使用的是什么框架?(pytorch、caffe、tersorflow等)
4. 基础编程题目(不会太难)
5. 对公司加班的看法(大公司会问)
6. 对自己未来有什么规划
7. 对opencv了解的程度有多少(图像领域,opencv知识必不可少)

正常情况下整个提问过程会持续半个钟

2.3 面试最后

如果面试过程很顺利,面试官会问你期望的薪资待遇,什么时候能够来上班,如果终面了面试官都没有提到这两个问题的话,大概率GG了,准备下一家面试吧。

3. 面试中遇到的常见问题

因为博主面试的方向是CV方向,所以遇到的很多问题都比较偏向于CV的领域,其他领域的比较少。

基础的问题:

1. 请简单介绍一下什么是卷积以及它的原理

2. 池化在卷积神经网络里面有何作用,在引进池化后解决了什么问题?

3. 列举至少三种激活函数,分别阐述他们的优缺点

4. 介绍一下感受野的概念,以及如何计算感受野的大小

5. 什么是过拟合现象,在训练网络的过程中如何防止过拟合现象的发生?如果网络中出现了过拟合,你该怎么应对

6. 什么是欠拟合现象,网络欠拟合你该怎么办?

7. 当网络损失下降的很平稳,突然间损失开始出现剧烈波动时,请分析是什么原因导致的

8. 什么是梯度消失和梯度爆炸,分别阐述解决办法

9. 介绍一下L1、L2正则化的原理和作用

10. 归一化和标准化的方法有哪些?在神经网络中归一化和标准化的作用

11. 简述一下数据增样、图像增强的常用方法

12. 介绍一下经典的五种卷积神经网络(VGG、残差两个是重点,其他的看改进点就好)

13. 在很多卷积神经网络中都会用到1*1卷积核,它的作用是什么?

14. 介绍一下卷积和全连接的区别,为什么在图像领域卷积的效果要比全连接好?

15. 介绍一下目前主流的目标检测算法,并简单做个对比,你在项目中使用的是什么算法,为什么用它而不用其他的?

16. 什么是anchor框,它在检测算法里面有什么作用?

17. 你是按照什么比例来划分你的数据集,训练集、验证集和测试集在网络训练时分别起什么作用?为什么有了测试集后还需要用到验证集?

18. 你有没有关注最新检测框架的论文进展,你对未来的检测框架发展有什么看法?

19. 介绍一下YOLOV3、SSD、Faster-RCNN的思想和实现过程(你和面试官说你擅长用的哪种就介绍哪种)

20. Batch Normalization原理和作用?

21. 如果你的网络不收敛,请分析一下是什么情况导致的

22. 你是依据什么去评估你的网络性能?精确度、召回率或者mAP等

23. 如果让你去改进YOLOV3(Faster-RCNN、SSD),你要从哪方面入手

24. 如果网络不初始化权重,即初始权重为0,那么网络训练出来会是什么效果?

25. 网络的评估标准mAP是什么,它是如何计算的?

面试过程中遇到常见的问题大概就是这些,其他的暂时想不起来了,后面想起来的话会补上,答案我就不贴了,大家可以尝试对着问题去回答。

4. 面试心得

整个面试过程基本上不会低于半个钟,长的话一两个钟也是有可能的,有些公司还会有一面、二面、人事面,所以说要做好心理准备,没有面试经验的同学可能会有疑惑,为什么能聊这么久?主要还是根据简历上的项目来问,项目是重点,你基础再扎实,如果不会在项目中运用都是白扯,博主就遇到过一次面试聊了差不多两个钟,聊的我人都快傻掉了。
深度学习这个方向的知识其实非常广泛,要胜任这方面的工作不仅要对深度学习的基础有一定的了解,同时对编程能力、opencv等这些相关的技术知识有一定的掌握,你有C或者C++的编程经验的话,你会尤为突出,当然人际沟通能力也很重要,毕竟通常不是一个人在做一个项目,而是一个团队,团队之间的沟通是必不可少的。

后续遇到的问题我也会继续更新分享,最后也祝各位同学面试成功。

发布了1 篇原创文章 · 获赞 0 · 访问量 46

猜你喜欢

转载自blog.csdn.net/qq_39056987/article/details/104206772