大华科技算法面经秘籍
《AI未来星球》陪伴成长的人工智能社群,价值过万的各种内部资源及活动,限时特惠中,点击查看。
求职跳槽福利:为了便于大家求职、跳槽的准备,大白将45家大厂的面经,按照知识框架,整理成700多页的《人工智能算法岗江湖武林秘籍》,限时开放下载,点击查看下载。
面经整理历程:经过一年多的努力,大白整理了超过3500篇,各类大厂的算法面经资料。
并将涉及到的知识点,按照知识框架,分类汇总,每个公司整理成一篇,比如本文的大华面经。
大家对照面经,可以了解心仪的公司,会根据你的简历,问哪些知识点?便于大家对掌握的知识,进行回顾梳理。
希望为大家在求职或者跳槽的道路上,提供一些帮助,为大家取得心仪的offer助力。
面经整理心得:大白也将整理所有面经的心得,写成了一篇文章,点击查看心得。
其他大厂面经:国内其他大厂的面经汇总,点击查看目录。
大华面经整理:江大白
1 大华面经汇总资料
1.1 面经汇总参考资料
① 参考资料:
(1)牛客网:大华面经-25篇,网页链接
(2)知乎面经:点击进入查看
(3)面试圈:点击进入查看
② 面经框架及参考答案:
(1)面经知识框架:点击进入查看
(2)面经参考答案:点击进入查看
1.2 面经涉及招聘岗位
(1)全职岗位类
【图像算法工程师】、【算法应用工程师】、【感知算法工程师】、【算法移植优化工程师】、【机器人算法工程师】
1.3 面试流程时间安排
PS:以上流程为大白总结归纳所得,以供参考。
其他注意点:
● 有时候第一面是电话面
1.4 大华面试心得汇总
★ 会问些项目,还有一些基础的细节,问的特别细的那种。比如图像的某些细节,感觉传统的图像处理也会用到。
★ 算法逻辑问题很少问。传统的和CV的都会问。
★ 大华的面试官都挺好的,问题也很有深度,当时很多都没答上来,特别是二面很多数学问题,数学渣渣瑟瑟发抖,没想到最终还是给了HR面。
2 大华面经涉及基础知识点
2.1 图像处理基础
2.1.1 讲解相关原理
● 常用颜色空间,色彩空间以及色彩直方图介绍一下?
● 传统的图像特征提取算法了解吗?SIFT特征提取方法也讲解一下?
● 传统的图像特征,鞍点是啥?
● 传统边缘检测算子有哪些?Hough直线检测原理讲一下?
● KCF介绍、缺点、MOSSE、CSK 、KCF的区别?
● 介绍下HOG,HOG梯度直方图如何建立?
● 光流法讲解一下?
● 双线性插值算法原理讲一下?
● Gabor滤波器和LBP的原理知道吗?
● 高斯滤波的原理是什么?
● 说出图像变化的矩阵公式?
● 仿射变换有几个自由度?给5个点坐标,如何求解仿射变换的参数?
● 图像质量评价指标
● 色彩空间
● 去噪方法
● BM3D的原理和优点
● 传统图像处理了解吗?检测直线和圆可以用哪些算法?
2.1.2 手写算法代码
● 手写灰度直方图代码?
● 手撕图像读取,crop,缩放代码?
2.2 深度学习:CNN卷积神经网络方面
2.2.1 讲解相关原理
2.2.1.1 卷积方面
● 卷积层原理、反向传播的计算过程?
● 1*1卷积的作用?
● 深度可分离卷积的作用?
● 卷积优化的操作有哪些?
● dropout是伯努利还是二项分布?
● 介绍一下深度可分卷积?
● 深度可分卷积和传统卷积计算量和参数量的对比?
2.2.1.2 池化方面
● Pooling层原理、反向传播的计算过程?
● 最大池化的反向传播是怎么做到的?
2.2.1.3 网络结构方面
● ResNet用过吗?Resnet的各个版本介绍一下?
● Inception的各个版本及其改进?
● Mobilenet的三个版本的区别?
● MobileNetv1、v2在imagenet上复现?
● MobileNetv1和v2的区别,relu6为什么低精度好?
● 轻量级网络还有哪些?
● 知道哪些深度学习的网络结构(ResNet、DenseNet、VGG、Inception、MobileNet、Shufflenet)
● Inception的四个版本
● MobileNet的三个版本
● 画一下shufflenetv2的结构,解释作用
2.2.1.4 其他方面
● BN层原理、作用、参数介绍?BN层测试时怎么办?
● BN中的参数有几个,具体是多少(NCHW)?
● 介绍一下Batchnorm?γ和β 有什么用?
● 梯度消失和梯度爆炸的原因、解决方法?
● 训练和测试阶段不一样的操作有哪些?(比如dropout)
● finetune的原因,原理,步骤?
● CBAM在实际分类中和SENet表现差不多,你觉得可能的原因?
2.2.2 激活函数类
● Softmax损失公式、具体计算过程推导?
2.3 深度学习:RNN递归神经网络方面
2.3.1 讲解相关原理
● LSTM扩充细节?
● LSTM与RNN的区别,为什么不用GRU?
(1)GRU和LSTM的性能在很多任务上不分伯仲。
(2)GRU 参数更少因此更容易收敛,但是数据集很大的情况下,LSTM表达性能更好。
(3)从结构上来说,GRU只有两个门(update和reset),LSTM有三个门(forget,input,output),GRU直接将hidden state 传给下一个单元,而LSTM则用memory cell 把hidden state 包装起来)
2.4 深度学习:CNN&RNN通用的问题
2.4.1 基础知识点
● 神经网络初始化方法有哪些些?
● 说一下kaiming初始化要解决什么问题?
● 了解SeNet吗,channel attention怎么做的?
2.4.2 模型评价
● 如何评价多个模型的性能的好坏,ROC曲线代表了什么?
● auc的定义?
● P、R和AP有什么关系?
2.5 传统机器学习方面
2.5.1 讲解相关原理
2.5.1.1 数据准备
无
2.5.1.2 特征工程
① 特征降维
● CCA和PCA的区别?
● 介绍一下PCA?
● PCA和LDA的原理?
② 特征选择
无
2.5.1.3 有监督学习-分类和回归方面
① 分类回归树(集成学习)
● 说一些有哪些分类器?(说了SVM、LR),用两分钟介绍一下SVM
● 传统机器学习,Xgboost和GBDT 的区别?
② SVM
● SVM和Adaboost的流程讲一下?
● SVM的原理说一下?
2.5.1.4 无监督学习-聚类方面
● 讲一下kmeans算法?说一下初始聚类中心的选择有没有什么优化的方法?
● 聚类算法有哪些?
2.5.2 手推算法及代码
● 手撕svd,分解的三个矩阵分别代表了什么?迭代法推到,最小二乘估计。
2.6 深度学习&机器学习面经通用知识点
2.6.1 损失函数方面
● 常用的损失函数?
● Loss的设计规则?
● Smooth L1为什么小于0.5的时候不直接用L1?
2.6.2 激活函数方面
● 知道哪些激活函数?
● ReLU为什么可以防止梯度消失?
● Sigmoid不好在哪?
2.6.3 网络优化梯度下降方面
● 常用的网络优化方法有哪些?
● Adam的缺点是什么?
● 手撕牛顿法和梯度下降法,数学推导及区别?
● deep learning中梯度优化的几种经典优化方法的数学推导
● 了解过优化算法吗?说说二阶梯度优化方法?(经常问)
2.6.4 压缩&剪枝&量化&加速
● 了解过压缩和量化吗?
● NCNN量化出问题怎么解决?
● 剪枝有哪些方法?
● 介绍一下模型压缩?有哪些方法?量化之后精度掉了多少,有什么改进的方法?
2.6.5 过拟合&欠拟合方面
● 过拟合解决的方法?
2.6.6 其他方面
● em算法e步和m步是什么?
● 马氏距离是什么?介绍一下?
● 快速傅里叶变换和离散傅里叶变换的区别?
● 512个特征点是怎么比较的?用什么方法?(余弦相似度)
3 大华面经涉及项目知识点
3.1 深度学习:CNN卷积神经网络方面
3.1.1 目标检测方面
3.1.1.1 讲解原理
● YOLOv1 YOLOv2 YOLOv3 YOLOV4的发展?
● Yolo anchor的选取讲一下?(kmeans)
● NMS的变种说一下?
● RPN怎么计算box的实际坐标?
● SSD算法的难负样本挖掘,产生的anchor boxes对应原图还是特征图?
● Faster RCNN在经过RPN后,产生的anchor boxes数量,产生的感兴趣区域对应原图还是特征图?
● Faster RCNN的损失讲一下。softmax 损失函数的表达式(softmax + 交叉熵损失),Smooth L1损失表达式,为什么好?
● Anchor Free的目标检测了解吗?说一下
● RetinaFace了解吗?说一下。它的损失函数是什么?
● 如何加强小目标检测?答:多尺度、fpn
● 说一下检测中是怎么处理正负样本不平衡的?
3.1.1.2 损失函数
● Focal loss讲一下?alpha 的作用是什么?
3.1.1.3 手写代码
● 非极大值抑制代码写一下?
3.1.2 目标追踪
● 基于神经网络的跟踪算法了解吗?感觉想问centertrack之类的?
3.1.3 图像分割
● 了解Mask R-CNN吗?说一下损失函数?smooth L1 loss的函数表达式?
3.1.4 关键点检测
● 人脸关键点从一幅图到另一副图空间转换算法手撕,4个未知数5个方程怎么求解手撕?
3.1.5 目标重识别
● MAP讲一下,目标检测的MAP和ReID中的MAP的区别,ReID中MAP怎么计算?
3.2 深度学习:RNN递归神经网络方面
无
3.3 强化学习
无
3.4 机器学习方面
无
4 数据结构与算法分析相关知识点
4.1 数据结构与算法分析
● 找出无限大数组中第K个
4.2 算法思想实战及智力题
无
4.3 其他方面
4.3.1 数论
● 雅可比矩阵了解过吗?
● KL散度的定义,度量分布相似度的缺点是什么?
● 线性回归的求解方式?
● 方差协方差的定义?
● 为什么顺着梯度的负方向更新参数下降最快?
4.4 Leetcode&剑指offer原题
无
5 编程高频问题:Python&C/C++方面
5.1 python方面
5.1.1 网络框架方面
5.1.1.1 Pytorch相关
● 深度学习把很多操作封装成独立的层,那为什么pytorch中把softmax和loss层封装到一起,原因是什么?
● pytorch转openvino为什么精度降低了,问题在哪?
5.1.1.2 Tensorflow相关
● 看过pytorch,tensorflow源码吗?智能指针讲一下
5.1.1.3 Caffe相关
● Caffe和tensorflow的区别?
5.1.1.4 其他
● 平时用的框架,这些深度学习框架之间的差别?
● Pytorch和tensorflow的区别,了解这些深度学习框架的底层区别吗?用深度框架自己写过层吗?
● openvino为什么快?原理?
5.1.2 基础知识
5.1.2.1 线程相关
● python 多线程?
5.1.2.2 内存相关
● python深浅拷贝?
5.1.2.3 区别比较
● 说一下python list和tuple的区别?python的list是可迭代的嘛?
● python中的“==”和is有什么区别?
● 集合、列表、元组的区别?
● 命名变量,首字母变成下划线有什么用?
● python list和tuple
5.1.2.4 讲解原理
● python 列表和元组、列表去重?
● pass语句的作用?
● with关键字有什么作用?
● python对列表去重?
● python全局解释器锁?
● python怎么定义一个类?类的成员变量和对象的成员变量有什么区别?
● 修饰符有什么作用?
● Static的用法?
5.1.2.5 讲解应用
● 如何遍历字典的所有键和值?
● python进程慢的原因?
● list怎么去重
5.2 C/C++方面
5.2.1 基础知识
5.2.1.1 内存相关
● 介绍一下static静态变量,怎么存放?
● 主要考察了static变量的性质,在函数内定义,不随着调用结束而销毁,C++内存模型。
5.2.1.2 区别比较
● C++指针和引用?
● C++中指针和引用的区别是什么?指针的sizeof是多少?
● float在32和64上的差距
● sizeof和strlen差别
● C++怎么样?new和malloc的区别?
5.2.1.3 讲解原理
● 类和对象有什么关系?
● 单例模式和工厂模式知道吗?
● 判断struct的字节数?
● static关键字作用?
● stastic加到变量和函数上的作用?
● 局部变量的作用域?
● 底层const的具体含义?
● 在C语言中static的作用?
● 浮点数怎么比较相等(精度)
5.2.1.4 讲解应用
● cuda如何确定block及thread等
● float 单精度6.5在机器里怎么存的?
5.2.2 手写代码相关
● 读程序题两道,一个是考无符号整型,一个是考switch case语句+break
● 实现均值滤波
6 操作系统高频问题:数据库&线程&常用命令等
6.1 数据库方面
6.1.1 基础问题
● Mysql中的左连接和右连接有什么区别?
6.2 操作系统方面
6.2.1 线程和进程相关
6.2.2.1 讲解原理
● 深拷贝和浅拷贝的区别?
6.2.2.2 讲解应用
● 进程除了使用锁之外如何同步?
6.2.3 常用命令
● Linux怎么知道一个文件夹下的文件个数?
● Linux中top命令有什么作用?系统之间文件传输使用什么命令?
● 修改文件权限:chmod +x file
● 软硬链接的区别
● 查看内存的命令
● 查看一个文件夹中大于3天的所有文件(子文件下的也要)
● Linux怎么查看隐藏文件?怎么统计一个文件夹下文件数量?
6.2.4 其他问题
● ipc是什么缩写?
7 技术&产品&开放性问题
7.1 技术方面
● 如果模型再rgb上训练,给你一张bgr图片,在不改变输入图片通道顺序的情况下,如何使用这个模型?(不能重训,可以改模型)
● 如何降低误报率(举例:车辆违规,如果一直误报交警不满意)?
● 如何求灰度图的中值?
本文由 大白智能 作者:凯哲 发表,其版权均为 大白智能 所有,文章内容系作者个人观点,不代表 大白智能 对观点赞同或支持。如需转载,请注明文章来源。