CV秋招40万+offer上岸经验:分享100道CV最新面试题

共 8028字,需浏览 17分钟

 ·

2022-01-02 05:11


以下是这篇文章是一位 七月在线 学员的的面试经历的分享,下面的一些问题非常具有代表性,现将面试情况及面试题目分享给大家,祝大家都能有好的offer。


个人背景 + 学习与求职经历


本硕双非院校、非计算机类的专业,本科拿过国奖,硕士(2020年-2022年)的研究方向NR-IQA based on deep learning,一篇CV方向SCI 3区;


两段学习经历:20年暑假先报了七月在线机器学习集训营,21年暑假又报了七月在线的CV高级班(班上选的项目是:多模态、行人重识别);


两段实习经历:初创公司4个月的机器学习算法实习生,3个月的腾讯某末流实验室CV算法实习生;


最后,自己找的工作方向是移动端上的CV算法(算法工程)。



方向定准


2020年8月份暑假,自己确定想做算法,报了七月在线的集训营(截止到21年年底,最新一期是集16),对机器学习算法以及通用的深度学习算法知识有了大致的了解,然后辅助自己学校课题。


2020年8月-2020年11月,总共差不多四个月时间,对于算法差不多懵懵懂懂知道了。这个时候方向没有定准就海投算法简历,此时leetcode未刷,结果当然很不理想,面试了很多,上岸了一个初创公司的机器学习算法实习,后面在实习的过程中积累了很多学习方法,这段实习经历最大的收获是能够总结自己的学习方法,也就是对于自己看过的算法或者项目或者模型,自己每看过一个就输出一个note,反复看,反复整理note,不断优化内化成自己的语言理解。


21年4月末,我定了自己想做CV方向,于是在这段实习经历的基础上继续海投,赶上腾讯暑期实习生招聘的尾巴,上岸了,很巧,有时候面试很看眼缘,后来去了腾讯,我的leader教会了我很多基于手机端上的算法优化方法,让我对整个行业有了一丝丝的认识,也确定了自己之后求职的方向就是基于手机端的CV算法。


Code


从2021年5月面试成功上岸腾讯后,开始正式准备leetcode,刷了200道(包含easy和medium,当然偶尔有几道hard),5月6月刷了一遍很慢,七月八月一遍,九月一遍,十月初将高频题目刷了一遍。Coding是入场券,这个不能骗自己!实习期间都是早期去公司,中午午休刷,晚上回宿舍刷。



秋招尾巴


腾讯实习到快9月底中秋节那阵,我们组没有校招机会,我交接完自己手头工作,然后离开深圳回学校,准备正式参加秋招。方法简单粗暴,海投,海面,每次面试都总结word文档,跟之前学习方法一样,哪一块被问到不懂就去查资料记录note,但是我有一点是虽然是查资料,而且在秋招那么紧张的时间节点下,我依然选择查看论文的原文去读,然后总结消化。


很感谢七月,七月的集训营让我入了行,然后七月的高级班让我对现在前沿算法模型有了一定的了解,相当于给了自己的方向,我觉得这个很重要。


多面多总结,多总结到纸上,这个很关键,算法和模型还有coding是硬功夫,通过实习来不断实践,遇到机会就使劲薅羊毛,只能说算法对于双非的学生不是很友好,但是只管一路走下去鲜花自会为你而开放的!



面试题分享


虽然秋招尾巴,感谢各大公司给予自己机会,总结自己面试题目如下,模型、算法、工程、语言,每一个都被问到过:


 一、C++语言...


1、如何理解C++的多态?可以给出一个示例程序证明吗?了解早绑定(静态绑定)和晚绑定(动态绑定)吗?

(1)多态的成立条件...

(2)多态基本概念...

(3)给出一个示例程序...

(4)如何实现动态绑定的机制?...

(5)多态原理的实质?...

(6)向上类型转换和向下类型转换?...

(7)虚函数和纯虚函数之间的区别?


2、为什么C++要在头文件中声明,在源文件中定义?...

3、了解大小端模式吗?如何证明机器的大小端模式?...

4、谈谈C++的面向对象思想?谈谈C++的优点?...

5、C++函数内部如何调用并改变全局列表变量?...

6、介绍一下C++的继承?...

(1)什么是继承?...

(2)继承方式...

(3)继承中的构造和析构...

(4)继承中的同名处理...

(5)菱形继承...


7、堆和栈的区别?...

(1)栈内存...

(2)堆内存...


8、C++和python的区别?...

9、介绍一下多线程?...

(1)线程产生的原因?...

(2)线程的优势?...

(3)多线程的优势?...


10、介绍一下C++的内存管理?...

11、可以介绍下C++的智能指针吗?...

12、介绍下数组和链表的操作区别?...

13、引用头文件时双引号和尖括号的区别?...


二、Python语言...


1、Python中函数内部如何调用并改变全局列表变量?...

2、Python中的多线程了解过吗?...

3、在使用pytorch或者tensorflow过程中有没有什么踩坑的经历?...

4、了解pytorch中的计算图吗?...

5、Numpy与Pandas的区别?...

6、python中用过迭代器、生成器吗?什么时候使用?...

7、介绍一下python中的数据结构?...

8、介绍一下模型的压缩工具?以手机端为例?...


三、实习经历一...


1、介绍一下复现的两篇论文?...

(1)小样本学习与传统的学习有什么不同?...

(2)小样本学习方法有哪些?...

(3)了解teacher-student模型吗?或者有使用过预训练模型的经验吗?...

(4).20 way one short classification.

(5) BPL论文复现...

2、了解过小样本学习在目标检测中的应用吗?...


四、实习经历二...


1、讲一下实习期间所做任务的背景?...

2、讲一下数据合成算法的总体流程?...

3、介绍Style GAN模型?...

(1).为什么使用Style GAN2?...

(2).Style GAN2与版本一的区别你了解吗?具体细节知道吗?...

(3).了解Style GAN v1和v2的底层原理吗?...


4、讲一下CycleGAN模型?...

(1).介绍一下CycleGAN模型?...

(2).为什么CycleGAN使用LSGAN loss?.

(3).介绍循环一致性损失函数?...


5、GAN的目标函数...

(1).讲一下GAN目标函数的数学原理?...

(2).为什么要进行采样?为什么选择高斯分布或者均匀分布?为什么JSDiv是距离而KL只能是分布?


6、GAN Compression.

(1).讲一下GAN Compression是如何做的?...


7、Once-for-all算法...

(1).了解Once-for-all算法吗?...


8、介绍face-of-art模型?为什么这个模型要比dlib效果好?...

9、卡通化人脸用的什么模型?可以简单介绍下吗?...

10、形变...

(1)叙述一下形变的详细过程?...

(2).高斯模糊色块是如何生成的?...

(3).如何找嘴巴凸包?求解凸包的openCV函数?...

(4).如何进行三角剖分?三角剖分的划分准则了解吗?...

(5).介绍仿射变换?仿射变换后对齐是如何做的?与线性变换的区别?...


11、马赛克检测...

(1).讲一下Canny边缘检测算法的流程吗?为什么要使用双阈值检测?...

(2).Canny边缘检测算法得到结果之后采用什么方法去检测马赛克图片?检测出来的二值图如何找到mosaic块?...

(3).调研过哪些马赛克检测算法?之间有什么区别?...

(4).为什么要用边缘检测算法去检测马赛克?..

(5).介绍常用的边缘检测算法?...

(6).介绍常用的平滑算法?...

(7).介绍常用的算子?...

(8).了解ISP算法吗?...

(9).了解常用的色彩空间吗?...

(10).介绍常用的平滑算法?...

(11).了解卡尔曼滤波在图像融合中的应用吗?...

(12).了解SIFT特征点提取吗?...


12、拉伸图片...

(1).拉伸图片数据集如何处理?...

(2).这个分类任务遇到那些难点,你是如何解决的?有哪些trick?...

(3).拉伸图片与模糊图片之间的定义是什么?...


13、二维码检测...

(1).介绍一下Kaggle上的二维码检测数据集?有哪些版本?数据集大小是多少?...

(2).调研过哪些二维码检测算法?...

(3).OpenCV有自带的函数,为什么使用YOLO V3进行检测?而且YOLO V3在CPU上跑inference速度比较慢?...

(4).有没有使用darknet tiny模型去做?还是直接拿来用的?...

(5).评价指标mAP,可以结合业务场景讲一下这个mAP?


14、分割模型...

(1)介绍一下MobilNet V2模型与V1的区别?为什么要选择V2?介绍一下深度可分离卷积?MobilNetV2与ResNet50的区别?.

(2)介绍一下MobilNet V3模型?...

(3)介绍一下portraitNet模型?...

(4)除了数据增强外,对portraitNet修改过loss吗?效果怎么样?...

(5)肖像分割任务和抠图任务之间的区别?...

(6)除了portraitNet模型你还了解其他分割模型,比如DeepLab v1/v2/v3吗?...

(7) 1*1卷积的好处?与MLP的区别,1*1卷积的工程上底层实现为什么比MLP要好?

(8)介绍一下评价指标mIOU(the mean Interaction-over-Union)?...

(9)了解双线性上采样吗,介绍一下?...

(10)有没有调研过相应的抠图算法?分别有哪些优缺点?...


15、目标检测...

(1)叙述一下YOLO v3的检测过程?...

(2)YOLO v3的loss是什么?...

(3)为什么faster rcnn比YOLO v3性能要好?...

(4)mAP比较低时怎么操作?...

(5)相比于YOLOv1/2,v3做了哪些改变?...

(6)RPN的原理讲一下?...

(7)FPN的原理讲一下?...

(8)了解anchor free的方法吗?...

(9)讲一下R-CNN-Fast R-CNN- Faster R-CNN-Mask R-CNN-Cascade R-CNN的发展脉络?讲一下YOLO系列的发展脉络...

(10)介绍一下focal loss的应用场景?...

(11)一阶段与二阶段检测算法的区别?...

(12) faster R-CNN的训练和测试过程说一下?...

(13)介绍一下NMS的算法流程?知道soft-NMS吗?...

(14)介绍下一阶段目标检测算法的发展思路?...

(15)介绍一下YOLO v4?讲一下整体的框架流程?给你印象最深的一个trick是什么?

(16)介绍一下NMS并用Python实现?...

(17)介绍一下focal loss在目标检测场景中的应用?...

(18)介绍一下Yolo v5?.


五、基础知识点...


1、介绍一下你了解的常用的模型性能评价指标?...

(1)错误率与精度...

(2)查全率和查准率...

(3)ROC与AUC..

(4)IOU(Intersection over Union)

(5)mAP(mean average precision)

(6) SSIM...

(7) PSNR.

(8) SROCC和PLCC..

(9) MAC和FPS.

(10) FID..

(11) mIOU..


2、多卡操作...

(1) Facebook AI PyTorch数据并行...

(2)多卡操作的包是什么?...

(3)多卡操作的底层原理是什么?...

(4)介绍一下模型在GPU上的运算流程?...


3、当模型训练效果不好时,这时你一般都会怎么处理?...

4、介绍SVM算法?SVM如何解决线性不可分问题的?...

(1)SVM一些注意事项...

(2)熟悉SVM,可以大体介绍下SVM吗?...

(3)SVM为什么采用间隔最大化?.

(3)为什么要将求解 SVM的原始问题转换为其对偶问题?.

(4)为什么 SVM要引入核函数?核函数怎么选择的,有没有自己创建核函数?那如果特征又多,数据又多用什么核函数(高斯)?.

(5)为什么SVM对缺失数据敏感?.

(6)SVM核函数之间的区别?.

(7)介绍一下RBF核的优点?...

(8)LR和SVM比较?.


5、学习率的调整方式?有哪几种?介绍一下关于学习率的调节经验,总共有几种情况,分别是怎么操作的?

(1).学习率对于梯度下降的影响...

(2).怎样选择一个合适的学习率?...

(3).自适应学习率算法...


6、dropout

(1).介绍一下dropout?训练阶段和预测阶段的区别?...

(2).为什么预测阶段需要乘上?...

(2).Dropout训练和测试有什么不同?...

(3).平时调参中的P的选择你是怎么选择的?参数的选择方法?...

(4).为什么dropout可以用来防止过拟合?...


7、介绍一下关于优化器选择的经验?为什么选择?...

(1). BGD/ SGD/ MBGD..

(2).非凸函数的局部极小点问题...

(3).学习率的自适应更新...

(4).为什么SGD的时候随机选取部分样本,这样做有什么好处?...

(5). Adam算法如何计算梯度的指数移动均值?这样做有什么好处?...

(6).指数加权移动平均...

(7).给定一个目标函数,如何用SGD优化求出最优解,说出详细的优化步骤?...

(8).介绍一下其他的优化算法?牛顿法,EM算法,模拟退火等?...

(9).介绍一下Adam算法的公式?...


8、如何解决过拟合问题?...

9. L1范数与L2范数的区别?L1正则为什么能够起到特征选择的作用?.

1)L1范数与L2范数的区别?...

2)为什么要用L1范数?L1范数为什么会使权值稀疏或者L1正则为什么能够起到特征选择的作用?


10、介绍一下不同的激活函数?网络的稀疏性指的是?主要针对?...

11、介绍一下梯度消失?梯度爆炸?...

1)RNN为什么会出现梯度消失的情况?...


12、BN..

1)BN解决了什么问题?...

2)如何减缓internal convariate shift?.

3)思路...

4)具体实现...

3)在训练阶段和测试阶段的有什么不同?知道BN中的momentum变量吗?...

5)BN层的作用?为什么BN会加速网络的训练?...

4)在使用BN之前,减小学习率,小心的权重初始化的目的是?...

6)关于BN层的可学习参数?...

7)如果说BN也可以用来防止过拟合,你觉得原理是什么?...

8)numpy手写代码BN?...


13、介绍一下逻辑斯蒂回归算法?...

14、介绍一下K-means算法?如何初始化类中心?如何衡量聚类效果好坏?...

15、Boosting的方法优缺点?...

16、介绍一下CNN和序列模型的应用场景?...

17、了解模型的部署吗?...

18、介绍常用的熵?交叉熵与KL散度的区别?交叉熵损失了解吗?...

19、写一下线性回归的训练-BP过程...

20、知道最小二乘法吗?在线性回归中是如何做的?...

21、介绍一下常用的优化算法?比如最大似然估计,梯度下降,牛顿法知道吗,了解凸优化中的一些优化算法吗?

22、介绍一下CNN?CNN可以用来处理一维数据吗?CNN处理图像的优点?...

23、关于框架中的采样你知道底层是如何做的吗,如何从高斯分布采样出均匀分布?一阶马尔可夫采样的过程?

24、介绍一下传统图像处理算法?...

25、模型复杂度计算?模型计算量计算?...

26、介绍一下Softmax?写一下公式?说一下应用场景?...

27、了解cuda编程吗?...

28、了解模型量化、剪枝吗?...

29、已知一个训练好的CONV+BN+ReLU,如何融合在推理过程中进行加速?...


六、学校项目经历...


1、ReID..

(1)叙述ReID的过程?...

(2)介绍一下triplet loss?...

(3)介绍一下Semi-Hard sampling?...

(4)介绍一下数据增强?...

(5)介绍一下标签平滑操作?...

(5)介绍一下ReID模型性能评价指标?...


2、NR-IQA..

(1)论文中GCN提取特征这部分中边和节点是如何构建的?...

(2)MAML为什么能够起到快速初始化的作用?...

(3)高级语义特征是否等价于高频信息?...

(4)介绍一下图像质量评价数据集的标签是如何做的?...

(5)介绍一下传统的NR-IQA方法?...

(6)介绍一下基于深度学习的NR-IQA方法?...

(7)介绍一下RankIQA模型?...

(8)除了采用基于元学习的算法或者基于预训练的模型或者基于多尺度的特征融合,了解常用的注意力机制吗?举几个你知道的注意力机制模型?SE-Net/SK-Net等?尝试用到IQA模型中吗?可以使用MLP去做这个任务?...

(9)介绍一下Transformer-IQA?...

(10)介绍一下无参考图像质量评价目前的难点?...

(11)介绍一下目前最新的IQA数据集?...

(12)介绍一下NR-IQA的模型评价指标?有没有自定的评价指标?...


七、面试中被问到的算法题目...


1、43.字符串相乘...

2、867矩阵转置、矩阵乘法操作...

3、手写K-Means聚类算法,类别数目为4?...

4、写一下冒泡排序、归并排序、堆排序?使用非递归写法?...

5、写一下NMS过程?同时将IOU的计算过程写出?...

6、给定一个长度为N的数组,求出该数组的K个最小值?...

7、已知一个图,判断图中是否含有环?如果含有环,请以升序的方式打印环中的节点?

8、无序数组,求该数组的最大差值(要求O(N))->

1.买卖股票的最佳时机、

2.买卖股票的最佳时机II、

3.买卖股票的最佳时机III、

8.买卖股票的最佳时机IV、

9.最佳买卖股票时机含冷冻期、

买卖股票的最佳时机含手续费...


9、剑指 Offer 

二维数组中的查找...

10、704.二分查找...

11、1两数之和、

7.两数之和 II -输入有序数组...


12、写一下快排?...

13、手写数字分类:mnist分类/cifar数字分类,pytorch.

14、打印float数在内存中的二进制表示...

https://blog.csdn.net/stpeace/article/details/39972309


15、用C++手写一下中值滤波,涉及快排和二维数组操作...

16、1262可被三整除的最大和...

17、647回文子串、5最长回文子串、516最长回文子序列...


18、455分发饼干...

19、17电话号码的字母组合...

20、203.移除链表元素...

21、160.相交链表、面试题 02.07.链表相交...

22、剑指 Offer 58 - II.左旋转字符串、剑指 Offer 11.旋转数组的最小数字、81.搜索旋转排序数组 II、33.搜索旋转排序数组...

23、54.螺旋矩阵、剑指Offer 29.顺时针打印矩阵、59.螺旋矩阵II

24、142.环形链表 II12



七月在线双旦新学员限时福利,2022.01.04前新学员报名高级班/集训营享全年最低价!


机会永远留给提前做好准备的人!如果你想从事人工智能方向的工作,想在最短时间内成长为行业中高级人才,进入知名互联网公司,扫码咨询课程详情!

扫码“领取面试资料+课程试听”


阅读原文”直达活动会场!

浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报