计算机视觉算法实习生面经
基本情况
本硕中等985,不是CS也不是自动化电子信息等强相关专业,去年3月开始转码,期间一段3个月小公司实习,一段6个月造车新势力实习(少卿带队🤪,虽然不咋见到但是少卿yyds),一段kaggle比赛经历(非top),一个个人小项目,无论文。
投简历:字节,腾讯,阿里,京东,商汤,小米,百度。其中百度和小米沉了,商汤最开始由于我的海投行为,简历被一个部门锁了,但又不约面试,另一个部门没法进流程,涨教训了......后来锁简历的部门还是约了,但没想到是场KPI面试......
面试结果:字节(一志愿一面挂,转部门offer),阿里云(发帖时刚约HR面,据内推的人说基本上稳了),腾讯(流程慢,发帖时还在录用评估,而且据说PCG要大裁员🤣),京东(offer),商汤(一面KPI挂)。
吐槽
1. 京东的发offer流程,一定需要导师同意,签字,才继续下一个流程(现在真的还有导师同意的实习么......凤毛麟角吧......)
2. 还有腾讯的流程是真的慢,当然也有可能是没hc了......
3. 怎么年初就开始KPI了.....
经验总结
1. 关于简历 :从面试经历来看,个人觉得,至少在我这个行业,面试官喜欢问的还是简历上的东西,不管哪家公司,所以尽量做到对自己简历上写的东西烂熟于心,还有就是,咱们程序员的简历排版整整齐齐就可以了,一定不要花哨......
2. 关于八股文:其实在CV领域,八股文是真的不少。三大领域分类检测分割的经典的模型和方法,每年优秀的新模型和方法,再加上现在大火的transformer在视觉三大领域的花样百出,让人应接不暇,各种loss,各种优化器,各种激活函数,各式各样的池化层,卷积层,BN层,各种注意力机制,各种后处理方法,甚至各种机器学习方法...... 但其实,面试里面直接问你某某东西的原理其实并不多,特别是新的东西,偶尔直接问原理也是针对比较经典或者比较基本的东西来问的,比如BN原理和作用,梯度消失的原因和解决办法,分类resnet,mobilenet的发展,目标检测yolo系列的发展,分割deeplab系列的发展等等,都是属于很经典的,必须要学会的东西。而根据我的经验,大多数情况下,基本上是先问你简历上写的东西,你答的时候提了一嘴,然后面试官恰巧听到了,然后追问。比如我在介绍成果的时候说我用了某某方法缓解了类不平衡问题,涨了多少点,那么面试官很有可能就会问你,为啥要用这种方法,这种方法解决类不平衡的原理是什么,还有没有什么其它解决方法。
3. 关于语言:这个行业在我看来,python和C++都是必备的,python需要比较熟悉,能够写写基本模型以及train,infer,eval代码和胜任各种数据处理工作,因为说白了这个行业是在和数据以及模型打交道,c++的话因为在模型部署的时候需要用到,可能会基本的stl和一些基本的数据类型和语法概念,比如类,成员函数和成员变量,重载和重写,构造函数和析构函数,虚函数,虚指针和虚表,static,const等等就差不多了,个人觉得智能指针CV这个行业不需要掌握,了解了解就可以了,面试也几乎不会问,而事实上据我了解智能指针一直被诟病,估计写C++后端的人用的也不多......
4. 关于算法题:怎么说呢,对于大多数公司来说,实习的话基本上能写个大概或者能讲到面试官想要的思路,基本就不会在算法题卡你,当然字节除外(毕竟出了名的算法题一票否决权),对于秋招,听学长说是几乎所有公司,只要没a出来,基本等于凉凉。准备的话,我认为leetcode 剑指offer+top100够了,毕竟学的还是思路,可以背模板,但不要死记硬背题目,需要理清思路,毕竟不排除面试的时候面试官现场编题,有多余时间的话可以去codetop上针对性做做题。另外,我不知道为啥我面试的时候老是遇到那种pytorch或者深度学习的算法题,比如手撕BN,NMS,随机梯度下降,简单卷积操作,简单池化操作,IOU计算(单个和batch)等等这些......这个大家也需要注意,平常也需要练习......
5. 关于智力题:这个我没咋遇到,这次除了字节给了个,我个人对这类题没啥经验,就不写了......
6. 关于面试:保持心态,平和对待,不要高高在上,也不要卑躬屈膝,大家都是一样的打工人,都是从学校走出去的,都经历过校招阶段。
最后,写写面经攒攒人品吧,全都是面试结束后凭借短暂的记忆写的,有可能不全哈,然后祝愿自己今年秋招顺利,KPI面试远离我,也祝大家炼丹顺利,今年秋招大捷。
字节跳动,Data-头条/番茄/西瓜团队,暑期实习,有转正
一面(2.22,1h30min)
1. 自我介绍
2. 问实习,问了很久,并根据回答延伸(比如为什么用这个,为什么做这种处理,线上是如何用的等等)
3. RCNN系列的发展,以及和yolo系列和ssd的区别
4. ssd的anchor如何设置和处理的,YoloV3呢?
5. deeplabv3plus的结构(因为我用了,所以问的)
6. ASPP的结构和作用
7. resnet的结构,输入输出通道数不一样怎么解决?
8. nms怎么做的,有哪些改进版本?
9. 数据不平衡的解决办法
10. C++ :虚函数和多态?构造函数能否是虚函数,为什么?析构函数不是虚函数会有什么问题?完美转发了解吗?
11. python :生成器的原理和作用,装饰器的作用,布尔索引
12. 算法题:1.中文数字转阿拉伯数字,没啥思路,大概讲了讲,然后换了道题。2.一次遍历取链表倒数第K个节点。
无反问,当无反问的时候,我就知道已经没了......,第二题我做了个用辅助栈的,实际上正确的应该是双指针,可能是由于今年第一次面试吧,我当时脑子短路了没想出来,然后面试官说我那么做也可以,但是很明显能看出来不是他想要的。然后自然而然,挂了...,确实不应该,挂了是我活该,虽然前面答得自认为都还可以...
一面挂了之后转部门,暑期实习
一面(3.1,1h20min)
1. 自我介绍
2. 挑一段做的最好的经历详细介绍,会根据介绍反问实现细节,这里扣得比较细
3. deeplabv3plus的结构
4. 空洞卷积的缺点
5. mixup怎么做的,用在表情分类上会不会存在问题
6. 除了mixup还知道哪些多样本数据增强?
7. focal loss 的表达式、原理、作用
8. faster rcnn如何处理正负样本,ssd呢?
9. transformer的整体结构,在视觉领域有哪些应用,你认为为什么transformer在视觉领域也有效甚至比CNN要好?
10. 对三维视觉了解多少
11. C++ :虚函数实现原理与作用,static关键字的作用,多线程,深浅拷贝
12. python:装饰器原理和作用,写一个打印指定日志的装饰器,lambda 函数
13. linux grep命令的作用
14. 算法题:实现double sqrt(double x, double precision),在面试官的指导下,修改了两处细节问题,然后面试官写了几个测试用例,当场跑了,没问题就过了
15. 反问
二面(3.9,50min,应该是主管面)
1. 项目详细介绍
2. 针对实习和项目细节进行提问,ShuffleNet的创新点,OCRNet的创新点,线上QPS能达到多少,挖掘召回率有多少等等一系列问题
3. C++重载和重写的区别,运算符重载怎么做
4. 两个算法题:最长无重复子串,旋转数组的最小值
5. 智力题:两个鸡蛋,找到摔碎的阈值楼层,最优解法。
6. 反问
反问环节我提示面试官说我手里有offer需要尽快入职,但很想去字节,希望进度能尽快,果然面完hr就打电话来约三面了,本来约当天晚上8点,我有事就改成了第二天下午3点
三面(3.10,1h,交叉面)
1. 自我介绍
2. 问实习和比赛
3. MobileNet系列介绍介绍
4. CBAM是什么?怎么实现的?
5. 数据中存在脏样本怎么办?
6. 你认为3D视觉和2D视觉技术手段上存在哪些不同?
7. 对VR/AR技术的理解?对元宇宙有什么看法?你认为VR/AR技术手段在这之中扮演了什么角色?
8. 算法题:最长递增子序列,写了n2的解法,追问可不可以优化成nlogn的,讲了讲思路,没写,然后又给了道题,约瑟夫环问题,秒了
9. 反问
面完过一会直接HR面了
HR面(3.10,15min)
1. 自我介绍
2. 频繁换实习的原因
3. 为什么想做计算机视觉
4. 课题情况
5. 对元宇宙的看法
6. 手里的offer情况
7. 反问
OC(3.11)
感觉二面说了有其它offer着急入职之后,这边节奏都快了起来......
京东,日常实习,无转正,可推荐优先校招
一面(2.23,1h10min,面试官是校友)
1. 自我介绍
2. 问项目,mixup怎么做的,borderline smote 相比于普通的有什么改进,空间注意力机制怎么实现的,知道SKNet吗...
3. 问比赛,k-means流程,如何迭代求质心...
4. 问实习,mIoU怎么计算的,普通卷积和深度可分离卷积的计算量和参数量分别是多少...
5. deeplab系列的发展,CRFs的概念和作用,ASPP的结构和作用,空洞卷积为什么有效,用大卷积核不可以吗?
5. onnx有加速效果吗?你怎么转的?
6. 算法题:1. 目标检测的IoU,要求numpy实现batch并行计算,没写出来,写了个简单情况的 2. 排序数组查找target下标,如果有重复数字找最左边那个又如何处理
7. 反问
二面(2.25,45min,应该是leader)
1. 自我介绍
2. 问实习经历,比较详细
3. 基础知识:梯度消失/爆炸产生的原因及解决办法,过拟合的解决办法,数据不平衡的解决办法,SGD和ADAM的优化原理及各自的优缺点,BN的原理和作用,还有哪些归一化方法
4. 算法题:手撕nms
5. 反问,确认实习情况
HR面(3.1,15min)
1. 自我介绍
2. 手里offer情况,确认京东是最后选择嘛?
3. 实验室方向和个人课题
4. 未来规划
5. 反问
OC(3.4)
腾讯,PCG,原搜狗OCR团队,日常实习,有转正(但是腾讯转正率低大家都知道)
一面(2.24,1h10min,两个面试官,其中一个是校友)
1. 自我介绍,问学校毕业的基本情况
2. 问比赛,遇到了哪些问题,有什么解决思路,提升了多少,具体怎么做的。
3. k-means对检测框聚类,在聚什么?k是多少?
4. OHEM 和 focal loss的原理
5. 比赛用的框架,每个损失用的什么?Dice Loss怎么做的?
6. smooth l1 loss的优缺点?知道哪些 IoU loss?
7. 除了多个模型集成还有其试过其它集成方法吗?
8. bagging 和 boosting 的区别和联系
9. 普通卷基的计算量,组卷积呢,深度可分离卷积呢?
10. 目标检测和分割哪个领域最熟,说一下这个领域的发展,综述...
11. 问实习,多任务学习怎么实施的,弱监督怎么做的,弱监督有哪些级别,每个级别有什么代表算法,等等等等,真的很细...
12. 一个一般的C++类里面会有哪些东西?空类会占内存吗?
13. 算法题:实现一个简单的maxpool
14. 确认实习入职情况,反问
二面(2.25,35min,面试官感觉像是部门老大哥,人超好)
1. 自我介绍
2. 为什么换实习
3. 详细问实习,然后语重心长的告诉我说提升要写绝对指标,因为不同基准同样的提升难度不一样
4. 问项目,简单带过......
5. 确认实习情况,介绍他们,然后反问......
无算法题......
HR面(3.8,47min,比技术面时间都长......)
问实习收获,产出,个人情况,实验室情况,offer情况,唠家常......
说offer的话要等,因为腾讯统一招聘还没开始,现在是部门抢人,提前面试那种,建议我有其他offer就先接了......
云证+测评(3.10)
做完之后官网状态立马转录用评估,但是直到发帖时还是录用评估🤣
商汤 ,研究院,日常实习
一面(2.28,不带算法题不到20min)
1. 自我介绍
2. 神经网络训练为啥一般是非凸优化问题
3. 训练为啥用GPU,GPU为什么快,既然GPU快为啥操作系统又运行在CPU上
4. 常见的归一化方法
5. 避免陷入局部最优的方法
6. 算法题:1. 链表环的长度 2.高斯消元法求方程 AX=B 的根
全程不问简历,不反问,甚至后面由于小鱼易连的问题共享不了本地IDE,算法题直接让我发他邮箱,还说监督不了我只能相信我是诚信的,然后也不确认我有没有记住邮箱就结束了会议......,浓浓的KPI味道,我就直接没发了......,本来对商汤是特别有好感的,但是这么一趟下来好感直接没了......
阿里云,暑期实习
一面(3.3,电话面,简历评估面,40min,自己讲得多)
1 详细介绍一段实习工作,并根据实习工作反问,特别问了弱监督分割具体是怎么做的
2 类不平衡解决办法
3 问了一下一个小的分类项目,背景,任务,空间注意力机制怎么做的,什么原理?
4 ReID里面的遮挡问题如何处理
无反问
算法题面试(3.7,30min,注意这个不是那种统一笔试,也许是笔试成绩太烂了给我加的一次面试)
两个题,具体是啥不方便说,用阿里自己的平台做的,无代码提示
二面(3.15,主管电话面,30min,也是自己讲得多)
1. 自我介绍,我介绍的很详细被主管打断了,说别把后面的面试内容全说了...
2. 实验室课题情况,导师放实习吗
3. 两段实习经历详细介绍
4. 竞赛介绍
5. 反问实习生工作内容:拆分项目的子任务(实习两三个月) + research(如果实习时间长的话)
HR面(3.18)
待补充🤣
#暑期实习##字节跳动##京东##腾讯##商汤科技##面经##实习#