写在前面的话
我是2020届硕士Ariel,求职意向是计算机视觉算法工程师。经历过兵荒马乱的秋招,回头看找实习整理的面经,感觉还是相对容易的。
我在找实习的时候没有特别明显的地域倾向性,所以北京杭州的很多公司我都投递了,可以自己做一个excel表,把投递的和没投递的公司都记录下来,因为到面试后期有可能就记混了。
针对简历,我个人觉得最好要有三个项目,最起码一定要有一个项目准备的非常充分,可以和面试官聊很长时间,因为一旦无话可说就是他问你的时候了,总有一个问题是你不会的,这样就比较减分。电话面或者视频面的时候记得开启录音功能,面试结束及时整理笔记。
每一次面试都是非常宝贵的经验,面试官不断对你的项目挖掘提问,你也不断的完善充实,到后来这个项目几乎就是烂熟于心,几乎没有面试官能问倒你了。
大家刚找实习的时候不要直接投递大厂,因为可能只有一次机会,建议先找小厂或者心中排名靠后的厂练手,此外,能走散招走散招,能走直推走直推。找实习对大多数同学来说可能都是持久战,不要轻易放弃,祝大家都能找到合适的实习。
拿到的实习Offer:网易伏羲、地平线、旷视科技、百度
网易伏羲人工智能实习生
一面:
这是我第一次参加的电话面试,比较紧张。就聊了13分钟。主要讲了项目经历(这应该是简历面),还问了我实习时间,说是想带实习生发paper。通过这次面试,我发现自己有很大的不足,面试的时候头脑放空,讲原理的时候语无伦次,表达的不好。所以还是应该对经常问到的东西多加练习。
一直围绕项目在提问,问的非常细致(我省略项目的问题是因为每个人的项目不一样,我的问题对其他人可能没有太多的参考价值,但是这并不说明项目不重要。在面试的时候讲清楚项目,每一个点都非常了解,面试官扩展延伸也回答的非常好,是面试特别特别特别重要的一点)。还问了深度学习框架的使用。TensorFlow和pytorch哪个用的多一点?对TensorFlow有什么感觉吗?平时有遇到什么坑吗?有遇到特别难以解决的问题吗?
二面:
是个温柔的小姐姐视频面试。
- 项目。
- 对语义分割网络的理解,DenseNet网络的理解。
- 代码:有这样一个数组A,大小为n,相邻元素差的绝对值都是1,如A={4,5,6,5,6,7,8,9,10,9}。现在给定数组A和目标整数t,请找到t在数组中的位置。
-
tf.nn.sparse_softmax_cross_entropy_with_logits和tf.nn.softmax_cross_entropy_with_logits的区别?
-
逻辑回归的公式和交叉熵的公式。
-
训练TensorFlow的时候有没有出现空值的时候?如何解决?
三面:
HR面试。其实HR可能对专业性的东西没有那么了解,主要还是通过你的表达,分析你的掌握程度。聊的最多的还是项目,你在这个项目中收获了什么,遇到了什么问题?怎么解决的?这个项目有什么实际应用?每周都有看顶会顶刊论文吗?最近的一篇对你帮助最大的文章是什么?自己有发表论文吗?(对论文还是比较看重的)。如果面试的是学术性比较强的组,paper还是非常重要的。
地平线视觉算法实习生
一面:
- 项目。
-
熟悉tensorflow的data flow吗?怎么把数据送进网络,有哪几种方法?
-
决策树的loss?
-
决策树分类过程。
- 实习希望得到一个什么样的锻炼。
二面:
- 项目。
- 代码。两道LeetCode原题:1和442。
- yolo1和2的区别。
旷视视觉算法实习生
旷视科技的面试风格就是编程+思维+概率。
一面:
- 项目。
- 讲语义分割的发展流程。
- 对模型压缩有什么了解。
-
你有看其他新的论文吗,什么领域都可以,就是深度学习这块?
-
你觉得mobilenet做了哪些优化呢?
- 代码。1)一个数组长度为N,元素值范围为1-N,均为整数,问数组中是否有重复的数?2)一个数组长度为N,无序,求第K大的数?3)一个数组长度为N,一个数占了一半以上,求这个数?
-
__init__.py的作用是什么?
-
如何在/A路径import /B路径下的模块C呢?
二面:
- 项目。问了模型有多少层,参数量和flops是多少。
- 个人的研究兴趣点是什么。
- resnet的结构性特点。
- 残差网络为什么有用。
- 除了resnet还有什么可以改善梯度消失或者梯度爆炸。
- BN作用。
- 除了BN还了解其他归一化操作吗。
-
神经网络接分类器,softmax和SVM的分类器有什么区别吗?
- 代码。求一个数组的Longest Increasing Subsequence(LIS)。
- 概率题。有10个红球,20个黄球,30个蓝球,一次取一个球,问最后一个摸到红球的概率是什么?
三面:
- 项目。我对三面的印象还是非常深刻的,面试官语气非常严肃,一直抠着点很仔细的问你,真的问到我怀疑人生。比如复现模型前后的精度是多少,什么标准评价的,没有达到你的预期你觉得是什么原因导致的,如果让你刷点你觉得可以从哪些方面入手之类的。
-
BN的均值和方差是怎么更新的?
滴滴算法实习生
滴滴我投了两个部门。第一次机缘巧合投的是机器学习岗,一二面面试官都不是做深度学习的,所以DL的知识没有问太多。基础知识考查的比较多。
-
python深拷贝和浅拷贝的区别
-
python反转如何实现?
-
一串数组如何快速实现平方?
-
C++的指针常量和常量指针的区别是什么?
-
讲一下C++的继承。
-
写shell,给定一个csv文件,第一列乘客性别(F、M),第二列是历史订单数量,求女性的平均发单数。(awk实现)
-
概率题。在作弊检测系统中,如果一个用户确实存在作弊行为,但是此系统没有检测出的概率为 5 %;误检为作弊的概率为 1 %;我们已经知道,一个用户作弊的概率为 0.1 % 。目前一个人被此方法检测出有作弊,那此人确实有作弊的概率接近多少?
- 代码。1)给定一个由整数组成的数组,在该数组中找出一个连续子数组,若该连续子数组中各元素的和最大,则称为这个数组的最大连续子数组。请计算出最大连续子数组之和。比如数组{2,4,-7,5,2,-1,2,-4,3}的最大连续子数组为{5,2,-1,2},最大连续子数组的和为5+2-1+2=8。2)给定一个链表,给定这个链表的头结点,实现删去这个链表的任意某个结点。3)字符串匹配:?能替代任意单一字符,* 能替代任意字符串(包含空字符串),实现bool Match(char *s, char *p)。
-
给一个多边形,已知多边形各个顶点的经纬度,如何判断一个点是否在多边形内。
- 正则化方法。
- 讲LR。
第二次投的是AI lab计算机视觉算法实习生,我当时感觉自己面的挺好的,但是一周内也没有通知。大概20天之后给我打电话约二面,原来是之前面试官有事耽搁了,我当时已经有确定的offer选择了,就没有再面了。
- 项目。
- 代码。LeetCode223:Rectangle Area
- 算特征图的输出和感受野。(网上有很多这种题,特征图计算时注意卷积向下取整,池化向上取整,感受野计算top-down)
爱奇艺算法实习生
面试官要求立即到岗,而我时间又没那么宽松,所以就止步一面了。
- 项目。
- 模型压缩了解多少。比如量化。
- 介绍朴素贝叶斯。
- 介绍逻辑回归。
- 数据增强怎么做。
百度计算机视觉算法实习生
百度做cv的部门很多,一般都是部门独立招聘,所以我总共面了三个部门。我个人觉得视觉技术部的面试难度是最大的,因为这是AIG做cv的核心,不容易通过而且转正难度也比较大。其次是深度学习技术平台部,主要做paddlepaddle的,涉及模型复现之类的工作,这个部门要求至少实习六个月,所以即使我当时面试通过了但是实习时间不允许。
部门1:
-
讲一个你自己满意的项目。
- 你自己设计的多尺度模块是怎么实现的,yolo3也有多尺度,你比较一下这两个多尺度有什么不同?
-
yolo3的尺度输出有什么关系吗?
-
介绍yolo3的原理、结构和改进?yolo3的上采样是怎么做的,反卷积吗?
-
yolo是怎么实现one stage的?(应该从输出channel的数据分布回答)
-
IOU是怎么做的?
-
讲非极大值抑制算法。
-
写非极大值抑制算法代码。
-
讲一下装饰器?
-
python的多线程有什么需要注意的地方吗?
-
什么时候用python的多线程,什么时候用多进程?
-
SVM支持向量的点在哪?两条线中间的点是什么,两条线之外的点是什么?
-
BN层的作用是什么,可学习参数是什么?如果输入是3*32*32*64,可学习参数是多少个?
-
如果卷积核是4*4*3,一共有五个卷积核,卷积参数是多少?(不要忘记偏置)
部门2:
- 项目。
-
mask rcnn和yolo这种专门做检测,deeplab专门做分割有什么相同和不同之处呢?
-
如果让你设计语义分割网络,encoder和decoder应该具备什么条件呢?
-
你觉得用空洞卷积和用比较大的卷积有什么区别吗?
-
你觉得空洞卷积可以用在检测里吗?
-
你了解anchor的概念吧,假设v1也有anchor,v2和v1的anchor有什么区别吗?
-
python里的multi-processing的多进程package有用过吗?
-
python和C++面向对象有什么不同?python的面向对象体现在什么地方,优势是什么?
-
python有dict数据结构,C++里有相似的数据结构map,你了解吗?你说一下dict背后的原理?如果我有一个巨长无比的dict,有成千上万个key,现在我还有100个key,如何判断这100个是否在那个dict里?
-
你能说一下pytorch的data parallel实现机制吗?或者说batch size是256,有8张卡,如果我用这个机制,是每张卡256,还是把256均分到8张卡上呢?tensorflow是一样的处理吗?
部门3:
- linux你用的是什么版本?你觉得linux和ubuntu的关系是什么样的,linux为什么会有很多发行版本?你觉得这些发行版本之间不一样的地方在哪里?
-
快排和归并排序有什么一样和不一样的地方?他们的最好最快平均时间复杂度是多少?
-
快排的流程?base你现在选的是最左边的数,你觉得怎么选择base可以提高快排效率
-
动态规划和贪心有什么区别?
-
在配置环境的时候经常会用到linux下的path,还有一种library path,你觉得这两个有什么区别?
-
进程和线程有什么区别?
-
你觉得python3和python2.7比有什么好处呢?
-
比如一个256*256的图片,你用numpy数组读进来,是3*256*256的形式还是256*256*3的形式?opencv读入的通道顺序是什么样的?
-
你觉得SVM和LR在分类的时候,他们的损失函数有什么不同?比如有很多样本,不管是SVM还是LR都能找到直线把他们切分开来,你觉得这两种算法在切分的时候这条线不一样在哪里呢?
-
.SVM怎么处理线性不可分问题?你能举一个核函数的例子吗?为什么引入核函数之后,线性不可分的问题就解决了?
-
朴素贝叶斯的公式是什么?朴素是什么意思?
-
除了mobilenet你还了解其他什么小的网络?mobilnet v2和mobilenet有什么区别?你觉得mobilenet2中的结构有什么好处?为什么起作用?
-
你觉得densenet和resnet有什么最根本的区别?
-
如果有一个网络比较大,你想压缩它可以有几种方法?
-
量化是怎么做的?有了解过知识蒸馏吗?
-
mobilenet v2和v1有什么区别?
-
tensorflow的variable scope和name scope的区别?
-
二叉树怎么对它进行镜像翻转?你给我讲一下后序遍历?用非递归的形式讲。
抖音算法实习生
偏向机器学习,字节跳动对数据结构的要求还是非常高的。
- 有向无环图的前馈计算(就给你个有向无环图,自己定义数据结构实现)。
-
抛硬币如何抛出三分之一的概率。
-
逻辑回归的损失函数,逻辑回归推导 。
作业帮算法实习生
代码写的不完整,就直接gg了。
- 项目。
- 代码。1)LeetCode原题:22. Generate Parentheses。2)LeetCode原题:LeetCode836:Rectangle Overlap + LeetCode223:Rectangle Area
腾讯微信计算机视觉实习生
一面:
- 简要概括项目主要做什么。
- 你的项目模型输入是什么,数据集多大,数据增强怎么做的,怎么衡量做的好坏。
- 公开数据集有什么,数据集里都是什么图片,用什么装备采集的?
-
比如语义分割分割出猫和狗,但是如果狗这片区域里有几个像素点是猫,应该怎么处理?
-
实际场景:朋友圈的文本信息都给你用,设计一个情绪文本分类器。要求输入一个自然语言,你能判断出这个情绪是高兴的还是不高兴的。不会NLP没关系,就说应该用什么样的思路做就可以。
-
一段绳子,裁两刀可以拼成一个三角形的概率有多大。
二面:
写代码。
- 给定一个非空整数数组,求数组的中位数。
-
给定k个有序数组,返回这k个数组的交集。
阿里计算机视觉算法实习生
阿里最开始投递的是蚂蚁金服,简历面就gg了,蚂蚁金服难度还是比较大的,看重项目paper之类的。之后被另一个部门捞起来了,因为已经到春招后期了,所以面试的记录没有整理。
但是整体面试的风格还是印象非常深刻的,一面是简历面,大概面了一个小时吧,项目基础知识,基本上能问的都问了,而且没有提前邀约,就是直接打电话约你面试,不允许你换时间准备这种。
然后就是正式的一面,这个印象也非常深刻,因为当时我觉得自己简历上的项目已经准备的很充分了,但是这个面试官仍然把我问住了,而且是我从来没有思考过的点。剩下又面试了两三次,发挥的也一般,因此实习也就没去上阿里了==
来源:
https://cuijiahua.com/blog/2019/11/life-52.html