19.3.8更新:感觉之前废话太多放前面不太好,这次调整下,把有用的放前面吧…
正文:面试问题
综述:
面试十几家,除了一点基础知识,其余都是根据我的介绍和简历中的项目来问,OPPO和另一个有问数据结构和C++基础语法,然后一家问了yolo IOU公式和代码实现softmax公式。
变成社招之后,很多基础知识就默认你会,产品组不像研究组,它比较注重工程能力,对于数学功底,应该不像研究组那么看重,达到理解知识原理、看懂论文的程度应该就好了。
所以重点还是放在基础知识和项目上面,究其根本,其实都是在考察面试者的知识深度,理解深度。
具体哪一家的问题我就不单独写了,我就参照我的简历把相关问题整理出来:
我的简历内容: 就是博客里面这些,还有很多没有总结完,所以还没有发。具体的就是
1.caffe框架的使用,调参训练(这部分基本都没怎么问,应该觉得太一般了,但是问了除了调参还用过哪些优化?比如网络优化,自定义层,剪枝,数据增强等)
2.NCNN/FeatherCNN框架的使用和测试
3.TensorFlow(Keras)框架的使用和训练,tf量化和yolo训练
4.本科研究生毕设:基于传感器和视觉的手势识别
(简历这里也比较重要,可以找些简历写作方法,定性地量化自己做的成果,这样比较好评估)
问题总结:
1.caffe和tf等框架的训练里,用了XX模型,为什么用这个模型,是根据要分类的图片特征还是别的什么,图片数据是什么数据,分几类,为什么不用别的模型,这个模型用在什么场景,不同模型有什么优缺点,有没有改源码添加自己的层。
2.传统机器学习:讲一下逻辑回归,线性回归的原理,怎么用,怎么解决实际问题的。做手势识别,怎么找他们的特征,根据什么指标来筛选特征,怎么知道他们的区分度(特征工程,机器学习处理实际问题的建模流程)
3.ncnn这里做了什么,有没有用里面的优化方法,修改的哪部分源码,这部分比较少,记不太清了…
4.讲一下量化怎么做的,它的数学原理,为什么用完全量化不用另外两种,有没有测试量化前后模型的速度,量化其他论文,为什么要对应零点?零点怎么计算?如果最小值为0.1怎么对应零点,零点偏移?scale在推理阶段还是float的,怎么使用?卷积和relu为什么要fused?
yolo原理是什么,怎么用的,yolo交并比计算公式,怎么找到两个框的交集,预测出的两个框有几种位置关系,yolo用的哪个loss,知不知道yoloV3。
(大概都是这种,就是不同面试官能力不同,你感到的压力也就不同,一针见血的可能直接把你问的结束话题了…)
5.本科课题,怎么选取的六个特征,为什么选这六个,分了几类,为什么用决策树,不用回归,回归也可以解决。研究生毕设做的什么,不是深度学习相关的,就没怎么问。
6.项目,没什么落地的,不是产品的,说我做的杂…所有面试都提到这一点,我觉得这部分很没有竞争力,只能靠扎实的基础,完整的知识和清晰的思维来弥补,这就去了半壁江山啊…
(2019.1.28更新:项目内容我重新梳理了一下,明确了