2018面经(1):机器视觉工程师岗位
时间:20180806
岗位:机器视觉工程师
公司:H
面试流程:一开始是40分钟的笔试。之后是2轮技术面,1个小时。
一、笔试4页纸,40分钟
1.C语言基础选择题
运算符优先级,指针操作,内存分配
2.算法问答题
(1)非线性**函数
从反面说,如果神经网络的**函数都是线性函数,那么输出就是输入的线性组合,那么根本没必要用隐藏层。
(2)sigmoid函数和导数,relu函数和导数
完整介绍见我的博文:https://blog.****.net/weixin_41770169/article/details/81561159
(3)knn算法复杂度,优化方法,k取值对方差偏差的影响
算法复杂度:O(N*D),N为样本个数,D为特征维度
优化方法:
- 距离加权:见我的博文:https://blog.****.net/weixin_41770169/article/details/81560946
- kd-tree: 见我的博文:https://blog.****.net/weixin_41770169/article/details/81565514
https://blog.****.net/weixin_41770169/article/details/81566160
- ball-tree:见我的博文:https://blog.****.net/weixin_41770169/article/details/81634307
- LSH:见我的博文:https://blog.****.net/weixin_41770169/article/details/81634943
K取值对偏差/方差的影响:
k越大,偏差越小,方差越大;k越小,偏差越大,方差越小。
解释理解:k越小,比如为1,则容易欠拟合,偏差大,方差小;k越大,比如无穷,则容易过拟合,偏差小,方差大。
3.逻辑题
(1)有两个砝码,7g和2g还有一个天平,分三次将140g盐分成50g和90g
a. 用7g+2g砝码称出9g盐 此时分成了 131g盐,9g盐
b. 用7g+2g砝码把131g盐分成两部分61g,70g 此时分成了61g盐,70g盐,9g盐
c. 用2g砝码和9g盐把61g盐分成50g和11g两部分 此时分成了50g盐,11g盐,70g盐,9g盐。最后3个加一起,变成50g,90g
(2)8个球中有一个球略重,每次找只能通过天平来判断,请问最少几次可以找出最重的球
2次
a. 取6个,3和3相等。剩2个
b. 2个中1v1找重的
4.代码题
(1)手写strcmp 注意代码异常判断
(2)一个二维只有0和1的矩阵,找出最大的全1正方形
二、面试
1.每一个项目都问了
卷积神经网络本身、公司的机器学习/问题建模、超分辨率重建/文本定位
2.算法
Kmeans,knn,集成算法具体描述、优化和优缺点。