oppo算法面经秘籍
《AI未来星球》陪伴成长的人工智能社群,价值过万的各种内部资源及活动,限时特惠中,点击查看。
求职跳槽福利:为了便于大家求职、跳槽的准备,大白将45家大厂的面经,按照知识框架,整理成700多页的《人工智能算法岗江湖武林秘籍》,限时开放下载,点击查看下载。
面经整理历程:经过一年多的努力,大白整理了超过3500篇,各类大厂的算法面经资料。
并将涉及到的知识点,按照知识框架,分类汇总,每个公司整理成一篇,比如本文的oppo面经。
大家对照面经,可以了解心仪的公司,会根据你的简历,问哪些知识点?便于大家对掌握的知识,进行回顾梳理。
希望为大家在求职或者跳槽的道路上,提供一些帮助,为大家取得心仪的offer助力。
面经整理心得:大白也将整理所有面经的心得,写成了一篇文章,点击查看心得。
其他大厂面经:国内其他大厂的面经汇总,点击查看目录。
oppo面经整理:江大白
1 oppo面经汇总资料
1.1 面经汇总参考资料
① 参考资料:
(1)牛客网:oppo面经-35篇,网页链接
(2)知乎面经:点击进入查看
(3)面试圈:点击进入查看
② 面经框架及参考答案:
(1)面经知识框架:点击进入查看
(2)面经参考答案:点击进入查看
1.2 面经涉及招聘岗位
(1)实习岗位类
【计算机视觉实习生】
(2)全职岗位类
【机器学习算法工程师】、【NLP算法工程师】、【视觉算法开发工程师】
1.3 面试流程时间安排
PS:以上流程为大白总结归纳所得,以供参考。
1.4 oppo面试心得汇总
★ 基础知识真的很重要。本人认为的计算机基础知识包括数据结构与算法,语言的掌握程度,操作系统原理,计算机网络,自己非科班这方面真的比较弱。这也是自己以后面试准备补充的知识。
★ 都是非常基础的问题,很考验基本功。项目和实习几乎没有问。
★ 会问非常基础的深度学习网络知识。 机器学习类的很多、推荐系统、广告系统之类 计算机视觉,比如目标检测之类的比较少。
★ Oppo面试总结起来:面试确实有随机性,公司的风格和面试官的风格都有很大影响。 此外,综合面试和HR面的常见问题还是要准备一下的。
2 oppo面经涉及基础知识点
2.1 图像处理基础
2.1.1 讲解相关原理
● 讲一下LBP算子?
● 了解raw格式图像不 ?
● 传统方法怎么进行图像模糊检测?
2.1.2 手写算法代码
● 手写中值滤波?
● 手写均值滤波?
● 手写直方图相似度计算?
2.2 深度学习:CNN卷积神经网络方面
2.2.1 讲解相关原理
2.2.1.1 卷积方面
● 卷积操作是线性的吗?CNN是线性的吗?
● dropout的原理,你为什么觉得dropout有效?
2.2.1.2 网络结构方面
● VGG,Googlenet,resnet 如何做网络轻量化的?
● Resnet的原理讲一下?
2.2.1.3 其他方面
● 梯度消失和梯度爆炸的产生原因和解决办法?
● Batchnorm如何解决梯度消失问题?
2.2.2 激活函数类
● Softmax为什么soft?
2.3 深度学习:RNN递归神经网络方面
无
2.4 深度学习:CNN&RNN通用的问题
2.4.1 基础知识点
● 深度学习过程中学习曲线产生震荡,分析原因?
2.4.2 模型评价
● F1-score,AUC,交叉熵;AUC和交叉熵在分类上的区别与联系?
● AUC及其几种用途?
2.5 传统机器学习方面
2.5.1 讲解相关原理
2.5.1.1 数据准备
无
2.5.1.2 特征工程
① 特征降维
● PCA推导的原理?
● 稀疏矩阵如何处理,稀疏矩阵和低秩矩阵区别?
② 特征选择
无
2.5.1.3 有监督学习-分类和回归方面
① 分类回归树(集成学习)
A.基于bagging:随机森林
● 介绍一下随机森林
● 说一下随机森林为什么比决策树好?
● 简单写一下随机森林的伪代码?
B.基于boosting:Adaboost、GDBT、XGBoost
● GBDT原理,XGB原理,二阶泰勒展开怎么写,XGB相比GBDT有哪些区别?
● XGB怎么解决过拟合?怎么剪枝?怎么选择特征?怎么处理缺失值?
● Adboost,GBDT,XGBoost?
● xgb讲一下、xgb行列抽样、xgb特征重要程度,你觉得他这样做合理吗?xgb连续值你为什么要分箱?
● gbdt+lr原理?
● gbdt和rf区别,如何理解gbdt中的gb,从偏差方差角度讲一下?
② 逻辑回归LR
● LR原理?推导LR?
● LR怎么加正则项?
● LR和SVM的区别?(写出各自目标函数)
● 介绍LR,gdbt的数学原理
③ SVM
● SVM分类提的什么特征?
● SVM介绍,以及松弛变量的理解?
④ 决策树(DT)
● 决策树,信息增益公式,基尼指数公式,分类和回归用什么损失函数?
● 讲讲决策树?(讲了三种决策树及分支点选择策略:手写信息增益和基尼系数等)
● 决策树怎么选择特征?信息增益和信息增益比的区别?
2.5.1.4 无监督学习-聚类方面
● 列举已知的聚类算法
2.5.2 手推算法及代码
● LR手推一下?
2.6 深度学习&机器学习面经通用知识点
2.6.1 损失函数方面
● 三元组损失函数?
● 交叉熵损失的优缺点,为啥不用别的损失?
2.6.2 激活函数方面
● 常用的激活函数?
2.6.3 网络优化梯度下降方面
● 比较一下牛顿方法、SGD、GD、mini-batch GD?
● 说一下优化器,你一般都用什么优化器。从动量法,adagrad,rmsprop,adam说了一下。具体问了一下adam的公式。具体问了一下adagrad,rmsprop是如何对学习率做约束的?
2.6.4 正则化方面
● L1正则和L2正则的形式?L1在x=0出不可导,怎么办?
● L1,L2正则化的区别?具体使用场景?
2.6.5 过拟合&欠拟合方面
● 欠拟合,过拟合怎么回事,又怎么去解决?
2.6.6 其他方面
● 哪些指标不能用于正负样本不均衡,哪些可以,为什么?
● 特征向量和特征值分别有什么含义?
3 oppo面经涉及项目知识
3.1 深度学习:CNN卷积神经网络方面
3.1.1 目标检测方面
● Focal loss介绍(项目用到)
3.1.2 图像分割
● Deeplab,psp, FCN 了解多少?讲一下FCN的具体结构。
● FCN 最后进行几层的拼合,为什么这么做?(卷积太深了,像素定位不准确。叠加拼合能够提高准确度。)
● unet介绍(项目用到)
3.2 深度学习:RNN递归神经网络方面
3.2.1 自然语言处理NLP
● Word2Vec原理?
● Word2Vec滑动窗口和维度设置有什么讲究么?
● fasttext了解吗?
● tfidf的劣势?
3.3 强化学习
无
3.4 机器学习方面
3.4.1 推荐系统
● 介绍fm,ffm,deepfm,dcn,xdeepfm
● 问了deepfm是如何提取交叉特征的
4 数据结构与算法分析相关知识点
4.1 数据结构与算法分析
4.1.1 线性表
4.1.1.1 数组
● 连续子数组的最大和?
4.1.1.2 字符串
● 判断一个字符串是否是另一个字符串的子字符串(KMP算法)?
● 求字符串中最多包含K个不同字符的最长字串?
● 两个字符串,找到第二个字符串在第一个字符串中的下标,没有反回-1。直接让我用暴力解法做。
● 不使用字符串判断一个整数是不是符合回文,比如121就是满足要求。
4.1.2 树
● 二叉树了解吗?后序遍历是什么顺序?写一下代码。
4.1.3 排序
● 写一下冒泡排序?
● 求TOPK问题
● 写一个快速排序?
4.2 算法思想实战及智力题
4.2.1 算法思想实战
● 海量数据查重选最高频率的10个?
● 问了一个列表里面有很多英文单词,怎样选出频率出现最高的前几个词?
● 打家劫舍问题
4.2.2 智力题
● 斗地主大小王分到同一个人手里的概率
4.3 其他方面
● 问项目,项目里用到了泊松过程,让写了一下泊松分布?
4.4 Leetcode&剑指offer原题
● Leetcode 221:最大正方形
5 编程高频问题:Python&C/C++方面
5.1 python方面
● 堆和栈在内存分配上有什么区别?
5.2 C/C++方面
无
6 操作系统高频问题:数据库&线程&常用命令等
6.1 数据库方面
无
6.2 操作系统方面
6.2.1 TCP协议相关
● 介绍一下tcp解包的过程(这个不会,说了应用程序通过套接字吧数据下发给传输层,然后传输层进行传输,再通过另一个应用程序的套接字接收数据包)
6.2.2 其他问题
● 说一下用户态,内核态
7 技术&产品&开放性问题
7.1 技术方面
● 当遇到一个实际情况的时候,是一上来就用深度学习cv去解决还是先用传统图像处理方法,怎么去评估二者区别。做的项目中遇到了什么难点,怎么去解决的?
● 业务题:如何判断或者预测,食堂的就餐人数?
● 如果现在快递公司要在全国建十个仓库,应该怎么优化?(k-mean)
● 深度学习了解吗?传统统计和深度学习你怎么看?
7.2 开放性问题
● 对人工智能应用的展望:这个我确实没准备,立马现想。首先讲了工业界和学术界的发展方向,然后讲了未来的应用,比如闲聊机器人(带情绪,和模仿某个偶像的)以及更加拟人化的智能助手(带情绪的,多轮对话的)。
本文由 大白智能 作者:凯哲 发表,其版权均为 大白智能 所有,文章内容系作者个人观点,不代表 大白智能 对观点赞同或支持。如需转载,请注明文章来源。