陌陌CV算法岗一面挂经
之前一直觉得科班非科班没有那么大差别,但是随着这次秋招越来越发现,差距真的还是蛮大的,科班的学过的那些课,就算是没有好好学,很水地突击过了考试,跟没学过或者自学的差距还是挺大的,有时甚至自己根本就发现不了自己还需要学哪些知识……只能通过一次次笔试面试查漏补缺……还有科班的平时积累、项目、组会什么的,都跟非科班自己一个人学掌握的程度差很多
而且每次面试完总能发现自己还是有好多不会的!不管看了多少面经面试多少次【好像也没有几次】都是这样!非科班菜鸡流下了无力的泪水
好了不抱怨了进入正题,到达面试现场之后先在一个小会议室等着,给了纸笔先写一道题,一个256*256的二维数组,逆时针旋转90度
说完题目就出去了留我一个人在***里写……刚听完题还挺激动,艾玛这题我看过啊,于是一开始没多想,直接写了个O(1)空间复杂度的,但是之前只看过这道题的思路没亲自写过,推导每个点的坐标写了半天……最后写完了,又想了半天怎么给面试官讲清楚【因为等了半个多小时还没人叫我】后来想起来如果没规定空间复杂度直接定义一个新的数组然后把原数组的元素一个个挪过去不就得了= =
最后终于有人叫我了,先讲了下刚才做的算法题,然后开始面试
讲项目,用到了边缘检测,问我怎么做的,blahblah【脑抽把Sobel算子说成Canny算子了……让我说核函数的时候面试官还在质疑,我想我记得很清楚啊怎么会错?原来名字记串了🙃】
讲项目里自己设计的神经网络结构,为什么这么设计,为什么用3*3的卷积核,答因为VGGNet的思想,然后讲了下为什么2个3*3跟1个5*5感受野相同,然后问为什么在后面加2层FC,为什么不加1层或3层,我答的是把卷积提取的特征看做多层感知机的输入节点,后面只需要接两层全连接理论上就可以拟合任意非线性函数,层数过多会造成训练困难、参数过多啥的……
继续讲项目,接着问项目里用到的方法以及它们的思想和原理【有的特地去了解过的还能说上来点,其他的就都是直接调包了= =】
问了maxpooling跟averagepooling有什么不同,为什么降采样用maxpooling分类用averagepooling【不会!】maxpooling反传怎么做的
问了个学习率怎么调整,防止过拟合办法,BN为什么能防止过拟合【没答上来,刚才查完说是BN之后每个单个训练数据都跟它所在的batch有关,相当于做了数据增强】
别的记不清问什么了,感觉除了结合项目问的问题之外,其他问题都似曾相识,没有什么印象特别深的
最后问基本的神经网络结构了解吗?ResNet旁路跟卷积后的结果相加具体是怎么做的?
你有什么问题要问我?陌陌在图像方面都有哪些应用?面试官:blahblah【没听太懂】
然后面试官主动评价了一下我,大意:你很优秀,但是我们还有一大批更优秀的***,所以拜拜了您内
------------------
感想:那些算法的原理、细节,平时干活的时候又用不到,知道它们的用途和特点,当成黑箱会用不就好了【我可没那个本事抠创新点发论文】?然而面试的时候还是要问原理,估计不问的话也没有别的刷人的办法了吧……
#陌陌##算法工程师##面经##秋招##内推#