华为算法面经秘籍
《AI未来星球》陪伴成长的人工智能社群,价值过万的各种内部资源及活动,限时特惠中,点击查看。
求职跳槽福利:为了便于大家求职、跳槽的准备,大白将45家大厂的面经,按照知识框架,整理成700多页的《人工智能算法岗江湖武林秘籍》,限时开放下载,点击查看下载。
面经整理历程:经过一年多的努力,大白整理了超过3500篇,各类大厂的算法面经资料。
并将涉及到的知识点,按照知识框架,分类汇总,每个公司整理成一篇,比如本文的华为面经。
大家对照面经,可以了解心仪的公司,会根据你的简历,问哪些知识点?便于大家对掌握的知识,进行回顾梳理。
希望为大家在求职或者跳槽的道路上,提供一些帮助,为大家取得心仪的offer助力。
面经整理心得:大白也将整理所有面经的心得,写成了一篇文章,点击查看心得。
其他大厂面经:国内其他大厂的面经汇总,点击查看目录。
华为面经整理:江大白
1 华为面经汇总资料
1.1 面经汇总参考资料
① 参考资料:
(1)牛客网:华为面经-172篇,网页链接
(2)知乎面经:点击进入查看
(3)面试圈:点击进入查看
② 面经框架及参考答案:
(1)面经知识框架:点击进入查看
(2)面经参考答案:点击进入查看
1.2 面经涉及招聘岗位
(1)实习岗位类
【华为云EI实习岗】、【计算机视觉实习生】、【华为杭研院Cloud&AI昇腾计算产品部算法实习】
(2)全职岗位类
【机器学习算法工程师】、【终端部门算法工程师】、【开发硬件算法工程师】、【华为上研算法工程师】、【AI应用研究中心工程师】、【华为云视频内容分析】、【华为消费者bg算法工程师】、【Cloud Bu人工智能工程师】、【华为南京研究院算法工程师】、【华为成都研究院算法工程师】、【华为AI算法工程师】、【华为西安研究院算法工程师】、【华为南京NLP算法工程师】、【华为自动驾驶算法工程师】、【华为射频算法工程师】、【华为消费云服务部AI工程师】、【华为数据存储与机器视觉产品线智能协作产品部AI工程师】、【华为智能车BU AI算法工程师】、【图像算法工程师】、【音频算法工程师】、【搜索推荐算法工程师】、【圣无线的通用软件开发工程师】、【成都传送/无线部门通信算法工程师】、【华为数据存储AI工程师】、【昇腾计算产品部AI工程师(机器学习方向)】
1.3 面试流程时间安排
PS:以上流程为大白总结归纳所得,以供参考。
其他注意点:
● 有些人在第一面之前,还会有机试和性格测试
● 有些区域是技术面+机试性格测试+三面BOSS面
● 有些人是先综合面,再HR面
1.4 华为面试心得汇总
★ 华为特别重视底层原理,和其他互联网公司不一样。
★ 华为的面试看面试官吧!有的人会被很多技术的,有的只是聊聊人生和项目。
★ 总结一下三场面试,需要准备好编程相关的问题,机器学习相关的问题,自己方向最新的技术。另外,三场面试都着重问了项目,可能我比较菜,没有发过论文。自己对项目的细节一定要十分了解,这样就不用慌了,随便问都能答上来。
★ 每个区域的招聘流程稍微有点差异,不过一般分为基础面试、综合面试:
基础面试基本就是聊项目经历或者实习经历,另外有些会从产品的角度出发,出一些发散性思维的题目,不怎么为难你 ,主要问项目经历
综合面试主要谈性格、对华为的认识、为什么想加入华为;主要看重承担压力的能力,表现的性格开朗就Okay了。
★ 有的时候,面试很难,有的时候很简单,所以还是看人,但是最好认真准备,以不变应万变。
★ 聊简历上的项目,每次说到某个点会继续深入问一下,但挖的不深。我面的那个面试官是做人脸识别和指纹识别的,最后问我怎么识别是照片还是真人,我以为都只能拍一张照片,就说了一些用深度,或者阴影和光照等解决之类的,但其实是可以拍很多张的,可以根据运动判断,所以跟面试官好好沟通真的很重要!
2 华为面经涉及基础知识点
2.1 图像处理基础
2.1.1 讲解相关原理
● 传统图像处理的canny算子
2.2 深度学习:CNN卷积神经网络方面
2.2.1 讲解相关原理
2.2.1.1 卷积方面
● CNN中1*1卷积核的作用?
● 介绍一个熟悉的CNN模型,卷积怎么反向传播?
● CNN基本组成,什么是感受野, 反向传播原理?
● 膨胀卷积原理
● 空洞卷积相比普通卷积的不同之处,如果特征图很小,这时要用空洞卷积就会加很多padding,增加很多无用信息,怎么处理这种情况?
2.2.1.2 池化方面
● 池化层的作用?(我拓展讲了种类、反向传播,以及 pytorch 特有的自适应池化)
2.2.1.3 网络结构方面
● 简述MobileNet的V1,V2,V3的区别?
● vgg、resnet、densenet之间的比较?
● 画一下MobileNet网络结构
● resnet和denseNet的网络结构,以及为什么这样设计?
● ResNet的作用?
● 认识哪些常用网络,是为了解决什么问题所提出的?
● 为什么要用轻量级的网络?shufflenetv2相比v1有什么改进?
2.2.1.4 其他方面
● 简单的介绍一下CNN,及它的发展和应用?
● 自己写网络模型时,是手动搭,还是复现或调库?自己有没有优化或者自己搭建新模型,描述一下?
● 梯度消失/爆炸产生原因,及解决方法?
2.2.2 公式推导
● 写一下了batch norm的公式?
● Softmax等层的原理(公式)写一下?
● 推导神经网络链式法则
2.2.3 手写算法代码
● 手推卷积过程
2.3 深度学习:RNN递归神经网络方面
2.3.1 讲解相关原理
● 简单的介绍一下RNN,及它的发展和应用?
● RNN,LSTM,GRU的异同?
● 介绍LSTM及其变种?
● 解释LSTM原理,LSTM的结构描述一下,超参数说一下?
● LSTM为了解决长依赖问题,引入了三个门,分别啥意思?
● 能否详细的介绍LSTM模型的结构和内部的运行过程?
● 双向LSTM比LSTM到底好在哪?
● LSTM为什么可以避免过拟合?
● LSTM哪个门用到了上一状态?
2.3.2 手绘网络原理
● 画出LSTM的结构图,写公式
2.4 深度学习:CNN&RNN通用的问题
2.4.1 基础知识点
● 不平衡样本怎么处理?
● Transformer相比于RNN你认为有哪些改进?
● 怎么做的数据增广?
● attention怎么做?
2.5 传统机器学习方面
2.5.1 讲解相关原理
2.5.1.1 数据准备
无
2.5.1.2 特征工程
① 特征降维
● SVD与PCA的关系?
② 特征选择
● 特征选择的方法?(这里建议分 filter, wrapper, embedded 来讲,我只是说了PCA,LDA,L1)
2.5.1.3 有监督学习-分类和回归方面
① 分类回归树
● 集成学习了解吗?XGBOOST/GBDT简单介绍,区别?
● bagging和boosting,stacking区别,分别的原理?
A.基于bagging:随机森林
● 为什么随机森林能降低方差?
B.基于boosting:Adaboost、GDBT、XGBoost
● 树模型和熵介绍,为什么xgboost效果好?
● xgb和gbdt的区别?
● GBDT、RF 有什么异同?各适用于什么样的情况?
● 介绍xgb,lgb?
② 逻辑回归LR
● 线性回归解析解的推导(三种方法)
③ SVM
● 介绍一下SVM,介绍了核函数的种类、支持向量、超平面、软间隔、Hinge Loss?
● svm 优缺点
④ 朴素贝叶斯
● 贝叶斯模型?(这里我顺着讲了朴素贝叶斯、逻辑回归最大似然推损失函数的过程)
● 解释极大似然估计,最大后验概率估计,解释核函数及其应用?
⑤ 决策树
● 决策树划分选择、树的复杂度、剪枝?
● 决策树,随机森林原理?
2.5.1.4 无监督学习-聚类方面
● knn与k-means的区别?
● k-means 和 DBSCAN 的对比,k 的选取,提速,聚类方法的评估?
● 聚类算法如何提升性能?
● K-mean算法的优缺点(简历中有提到K-means++)
● DBSCAN的原理?
2.5.2 手推算法及代码
● 手推SVM
● 写一下贝叶斯公式
● 写一下KL散度公式
2.6 深度学习&机器学习面经通用知识点
2.6.1 损失函数方面
● 深度学习有哪些激活函数?为啥会有激活函数?
● 为什么Relu的结构小于0的输出为0?这样有什么优点(防止梯度消失,稀疏性以及加快计算,当时没想到)什么缺点,如何改进,改进版relu的名字是什么(忘记了叫LRelu)?
● MSE和交叉熵的区别 ,写交叉熵?
● 手推交叉熵的求导
2.6.2 激活函数方面
● Sigmoid与Softmax的区别与联系?
● 说一下激活函数,relu和sigmoid区别?
2.6.3 网络优化梯度下降方面
● sgd和adam的优缺点?
● 什么是ADMM,为什么用ADMM,子问题为什么不用梯度下降求解?
● 梯度下降为什么可以成功?(我回答的是损失函数是凸函数)
2.6.4 正则化方面
● L1,L2符合哪种分布?
2.6.5 压缩&剪枝&量化&加速
● 模型压缩的几种方法?(量化、剪枝、低秩分解等 )实际用过吗?
● 量化的理解,有什么好处 ?
● 加速优化的方法有哪些,剪枝如何操作,最近看过的论文,跟进的方法?
2.6.6 过拟合&欠拟合方面
● 怎么判断过拟合与欠拟合?
● 解决过拟合和欠拟合的办法?
● 机器学习当中可能会有欠拟合过拟合的问题,怎么解决过拟合问题?
● 对于传统的机器学习(rf,lr,svm)来说,一般靠引入正则化项来避免正则化问题,那么应用到深度学习里面,过拟合的解决方式主要有dropout、early-stopping、数据增强等
2.6.7 其他方面
● 深度学习与传统方法的区别,深度学习为什么效果这么好?
● 根据项目经历解释偏差-方差的权衡?
● 数据不平衡怎么解决?
● 说一下训练模型过程中可能遇到的问题以及解决方法?(这里我详细讲了梯度消失、爆炸,训练曲线不下降,过拟合,欠拟合的产生情况和解决方案)
3 华为面经涉及项目知识点
3.1 深度学习:CNN卷积神经网络方面
3.1.1 目标检测方面
3.1.1.1 讲解原理
● Rcnn、Fast Rcnn、Faster Rcnn直接的对比与联系?
3.1.1.2 损失函数
● faster和ssd的损失函数表达式?
3.1.1.3 手写代码
● 写一下IOU计算
● 写一下NMS
3.1.2 目标追踪
● 目标追踪和目标检测区别?kcf?
● 传统目标跟踪方法有什么改进操作?
3.1.3 图像分割
● 对于项目里的语义分割,你还知道哪些语义分割的框架?
3.1.4 图像分类
● 分类器了解哪些,自己写过哪些;最熟悉哪个分类模型?
3.1.5 自动驾驶
● 汽车运动学,动力学
● 传感器硬件(雷达,摄像头等)和相关的算法(欧式聚类)
● fernet坐标系 S-T图 lattice planner EM planner
● 自动驾驶分级和一些相关的概念
● 自动驾驶决策规划的相关模块都有问到,主要是从轨迹规划等问题切入问的。
● 问了埃尔米特插值法,实际使用上会出现的什么问题,如何解决?
● 从autoware到Apollo上的规划模块都有问到,主要是区别还有实际使用上的情况。
● 围绕简历问的autoware的优劣势,还有现在主流的决策方法的优劣势(状态机,概率图,强化学习)
3.1.6 音频算法
● 噪声与语音的区分方法,与项目有关?
● 白噪声的特征,如何识别盲源白噪声,如何降噪?
● 时间序列分类算法,用到过那些?
● 时间序列特征
● 时域离散周期的频谱?
3.1.7 通信算法
● 描述奈奎斯特采样定理
● 写出香农公式,说明每一项的含义
● 画出一个你最熟悉的通信系统框图,并简要描述每个部分功能
● 画出16QAM调制的星座图,IQ不平衡时的16QAM星座图,带有频偏的16QAM星座图
● 说明FIR滤波器和IIR滤波器的区别
● 列举数字滤波器设计中常用的窗函数
● 说明卷积和相关的区别
● 给出序列[1,0,2 1 3],计算该序列与[1,0,2,1,3]的线性卷积和循环卷积结果
● 说明什么是“各态历经性”
● 64阶FFT中使用了多少个乘法器?
● 给出有符号定点数11011011,其中有5位为小数,将其转换为十进制数
● 给出信号非整数倍变换采样率的方法,包括频域和时域方法
● 画出 a.格雷映射的16QAM星座图,并且写出映射关系 b.画出IQ不平衡的16QAM星座图 c.画出加入加性白高斯噪声的16QAM星座图 d.画出带有频偏和相偏的16QAM星座图
3.2 深度学习:RNN递归神经网络方面
3.2.1 自然语言处理NLP
3.2.1.1 讲解原理
① Transformer
● seq2seq除了LSTM编码,还有Transformer的编码结构,了解吗?
② Word2vec
● Word2vec和fasttext区别?
● Word2vec方法有哪些/区别?
● 介绍一下Word2vec?
③ 其他
● 根据简历上的CTR比赛,问了fm,ffm,deepfm,dcn,xdewpfm
3.3 强化学习
● 孪生为啥起作用?
● 强化学习Q-learning和DQN 写了一下更新公式,然后公式里各个变量的含义啥的,DQN的伪代码和流程图。
● GAN怎么训练?
● WCGAN为什么比WGAN好?
● 在普通WGAN上做了哪些优化,为什么可以这样优化?
● 问了WGAN的优化以及G和D训练中的平衡?
● 差分隐私怎样引入,证明正确性?
3.4 机器学习方面
无
4 数据结构与算法分析相关知识点
4.1 数据结构与算法分析
4.1.1 线性表
4.1.1.1 数组
● 从未排序的数组里找到第k个大的数
● 一个排序数组除了一个元素,其他的元素都是相同的两个,找到这个元素,复杂度O(logn)(下标奇偶二分)
● 求数组第K大的元素,要求O(n)时间复杂度。
● 找出数组里中每个元素比它小的个数,直接排序+遍历
● 求一个数组中和为k的最长连续数组?
● 给你一个数组,给一个target,从数组中选取任意数量的数字,保证数字之和等于target,每个数字可以重复取,给出所有的取法?
● 给一个整数组成的digits数组,从里面选出一部分数字组合成一个新的数字,要求出能被3整除的最大数字?
● 有一个包含正负整数的无需数组,如果数组中存在连续子序列之和为0,则把这个序列剔除,输出剔除所有符合要求子序列之后的结果?
● 一个长度不超过10000000的不重复整数数组,输出其中所有和为0的三元组,三元组中元素可以有单个重复计算?注意尽可能减小时间复杂度。
● 数组访问要注意什么?越界问题
● 给一个数组,求每个元素与后面第一个比他大元素的距离
input :[30,31,25,24,30]
output: [1,-1,2,1,-1]
● 给定一个数组,不改变数组顺序,从前往后依次把所有数取出来,每次取数之和有最大值限制,给定取数的次数,问最大值限制最小是多少?
● 给一个数组,让求和为给定值的最长子数组的长度
● 求数组的最大子序列之和?
4.1.1.2 链表
● 链表反转
● 合并k个链表
● Linkedlist和Arraylist的区别?
4.1.1.3 字符串
● 字符串反转
● 实现浮点数转字符串,要注意的点:(1)0.XXX(2)负数
● 进制转换,将输入的数转换成十进制。
● 输入字符串格式有两种:
第一种:base#n,base表示数字基数(进制),范围2-64,超过10的数字用a-z, A-Z, @, _ ,总共54个字符表示
第二种: n,没有base#,0x开头是十六进制,0开头是八进制
非法输入,输出ERROR
● 判断是否为交叉字符串,如:str1 = "abcd", str2 = "1234", str3 = "ab12c3d4", 判断str3中是否包含str1与str2交叉后的字符串?
● 给定字符串(全部是大写字母),给出字符串所有不重复排列数 ?
● 组合无重复最长字符串?
● 字符串的最长公共子串
● 最长公共子序列
● 给定字符串,找出最长的回文子串?
● 求字符串是否是另外字符串的子集?
● 写了个字符串A=“abcebdfa”,B=“abd”),怎么样剔除A中含有的B中的字符?
● 给定一行字符串,求出这行字符串中出现频率最高的字符,字符串中含有标点符号,字符不区分大小写。如果出现频率相同时,输出先出现在字符串中的字符?
● 给一个字符串和一个字符,让你找出该字符在字符串中出现的个数,字母的话不区分大小写
4.1.2 树
4.1.2.1 二叉树
● 问斐波那契数列计算的复杂度,分了递归和非递归来讲,但面试官问能不能更快?
● 二叉树,二叉搜索树,二叉平衡树,红黑树
● 二分查找的时间复杂度是多少?
● 二叉排序树的时间复杂度是多少?
● 三叉排序树、四叉排序树的时间复杂度呢?
● 二叉树每个节点的值为0或者1,每个叶子节点所在路径都对应一个二进制数,将其转换为十进制,然后求所有十进制的和?
● 树有几种?分别是什么内涵?
● 寻找二叉树中是否存在值为k的路径
● 二叉树最大宽度
● 二叉树删除的时间复杂度,删除后怎么变化,为什么是logn?
● 完全二叉树的第7有10个叶子结点,则整个二叉树的结点数可能是多少?
● 给一个二叉树的前序和中序遍历的数组,让你算出它的后续遍历?
● 平衡二叉树的失衡调整
● 树的遍历算法
● 树形运算节点,找出同时最大内存分配?
● 如何把一个搜索二叉树变成排序数组?
4.1.2.2 堆
● 堆排序算法、冒泡排序的时间复杂度:nlogn、n^2,追问堆排序算法的空间复杂度?
● 大小顶堆如何用数组表示?
4.1.3 排序
● 分别说一下在数据量比较大的情况下最快的查找算法,和数据量比较小的情况下最快的查找算法?
● 数据结构中查找最快的算法是哪个?
● 用Python写个归并排序
● 归并排序,但不准调用库函数
● 归并排序的原理
● 如果有非常多数据怎么找出最大的k个?
● 找n个数里最大的m个数
● 快速排序,归并排序,堆排序的思想,复杂度分析?
● 快排,并说下复杂度?
● 在24h制下,给定时间字符串数组,求间隔最短时间。
要求不能用自带的排序等功能〔明显想让自己写排序〕
比如〔“12:00”,“12:03”,“15:03”〕
输出就是3
● 拓扑排序
● 说一下排序算法的稳定性?
4.1.6 搜索
● 图遍历深度优先,广度优先有没有了解,说说这两个方法可以解决什么问题,具体怎么用?
4.2 算法思想实战及智力题
4.2.1 算法思想实战
● 海洋陆地
● 俄罗斯套娃
● 跳台阶
● 找零钱
● 求水仙花数
● 股票收益最大化问题
● 讲一了BFS和DFS
● 有n长的钢条,可以任意切割,给定各个长度的价值,求解如何切分可以获得最大价值(动态规划求解)
● 二值矩阵求最大1的矩形面积,和面试官说用动态规划做,讲了思路?
● n级台阶,从某高度往下砸小球,问怎么判断在哪个台阶就会碎,我第一反应动态规划,卡了半天发现并不是,有两个小问题:
a.只有一个小球怎么办,遍历;
b.有两个小球怎么办,一开始说分治,面试官说不是最优解,在提示下答出一个小球用来确定区间,另一个小球用来在区间遍历。问区间取多少,随便答了个logn,面试官说也可以,最优是根号n;
● 给定一组温度值序列,返回一个数组,该数组每个点代表当前温度经过多少天以后能够升温,要求用O(n)时间复杂度?
● 找中间索引,一个数组,[1,3,4,6,5,2],规定这个中间索引左边的和等于右边的和,如果有多个中间索引,取最左的那个。
先算总和,从左开始遍历数组,每次算左和和右和判断是否相等就可以了。
4.2.2 智力题
● 拆礼物盒, []表示一个盒子,盒子里可以放多个礼物或礼物盒,礼物盒都不为空。
要求拆开所有礼盒,取出小礼盒,仅保留里面的礼物,并摆好礼盒。
礼盒摆放要求:
a.大礼盒在底层,小礼盒在顶层
b.同一级别的礼盒,按照原来从左到右的顺序摆放
c.拆开后,如果大礼盒剩余为空,输出[]
例如:
输入:[ [a, b], [c, d], e, f ]
输出:[a, b], [c, d][e, f]
输入:[[a, b], [c, d]]
输出:[a, b], [c, d]
● 类似中小学奥林匹克的题,十二个球,其中一个重量与其他不同,用一个天平几次可以找到那个球?
4.3 其他方面
4.3.1 数论
● 给定整数n,写出其因式分解,因式分解数字从小到大排列?
● 什么是凸函数?
4.3.2 计算几何
● 给定周长,求直角三角形个数
● 单调栈求最大矩形框面积?
4.3.3 概率分析
● 一个无限长的格子,从第一格出发,不停的扔骰子(点数随机1到6),按照骰子数前进几格,问刚好停在第50格的概率是多大?
4.3.4 矩阵运算
● 手斯矩阵转秩
● M×N的矩阵,从左上角走,只能向右或者向下走,要求走过的每个元素的值加起来的和最大,步数不限?
● 4*4的矩阵,每个位置都有一个value,求从左上角到右下角的最大累计value路径?每次移动只能向右或者向下。
● 给一个二维矩阵 有正有负,求从左下到右上的最大乘积路径,DP BFS
● 给一个二维矩阵 有正有负,求从左下到右上的最大和路径,DP
● 矩阵中有一些数,从左上走到右下,只能往右和往下,最大权值的路径权值是多少?
● 给一个N,M的矩阵,由0,1组成。其中1代表能走,0不能走,当前小明从左上角(0,0)出发,且初始点必定为1,他必须用固定的步长S走,如果他能走到右下角则输出1,不能输出0。 直接用BFS很快就可以写出来。
4.3.5 其他
● 开平方,不能用乘,只能用移位做
● 两个列表合并成有序列表
● n个数的二进制数中1的个数?要求一次遍历即可得。
● 打印一个集合的所有子集?
● hash冲突有哪几种,怎么解决?
● 队列和数组的区别,匹配问题?
4.4 Leetcode&剑指offer原题
● Leetcode 3:
● Leetcode 16:
● Leetcode 18:主要是考察双指针
● Leetcode 30:
● Leetcode 72:
● Leetcode 76 题:Minimum Window Substring
● Leetcode 179:
● Leetcode 1144题
● Leetcode 1162题:主要是要使用BFS算法
● Leetcode 1363题
● Leetcode 1386题
● Leetcode原题:最长乘积子数组
● Leetcode原题:求一个集合的所有子集,一共有多少个子集?
● Leetcode原题:O(logN)复杂度找到单次部分旋转后的非减数组最小值?例如:[1,2,3,4,5]->[4,5,1,2,3] 从后面这个数组中找到最小值1。
● 剑指offer原题:如何判断是否是正确的出栈顺序
5 编程高频问题:Python&C/C++方面
5.1 python方面
5.1.1 网络框架方面
5.1.1.1 Pytorch相关
● 问了Tensorflow&Pytorch的不同点?
5.1.1.2 Tensorflow相关
● Tensorflow如果加载模型?如何加载模型的一部分?具体调用的是哪个接口函数?
5.1.1.3 其他
● 动态图和静态图的区别?
● 把mxnet,pytorch,tensorflow,caffe优缺点都讲一下
● caffe和tensorflow的区别?
● Numpy的数组,pytorch tensor有什么区别?
5.1.2 基础知识
5.1.2.1 线程相关
● 介绍一下python的多线程
● Python的多线性和进程?
● Python里面多进程和多线程怎么用,进程之间怎么通信?知道协程吗,你为什么说协程比线程更轻量?
5.1.2.2 内存相关
● python垃圾回收
5.1.2.3 区别比较
● Python3.5和Python2.7的map有何区别?
● 内置数据结构有哪些(tuple, list, dict, set), tuple与list有什么区别?
● 列表和元组的区别?
● is和 ==和 = 的区别?
● python3和python2的区别?
● for while 循环区别
● 迭代器和集合区别
● Python静态方法和类方法的区别?
● copy和deepcoy
5.1.2.4 讲解原理
● Python的map函数是啥?(list映射)
● Python中基本类型有哪些?
● Python实现单例模式
● Python 设计模式
● Python 面向对象有什么特性?
● 多线程,multiprogress是真的多线程吗?
5.1.2.5 讲解应用
● Python动态加载模块怎么做(没用过,后来查了是importlib)
● 元组的特点,使用场景
● Python深浅拷贝,一个字典a,b=a,b=copy.copy(a),和b=copy.deepcopy(a),这时改变b的值,a有什么区别?
● Python生成器了解吗,在训练数据时,直接加载到一个list和用生成器有什么区别?
● Pytorch里面如果一部分不想参与训练要怎么设置?
5.1.3 手写代码相关
● Python 如何判断将一个句子切分成单词,单词如何判断是否回文?
● Python正则表达式模块知道吗?写一个
● Python矩阵乘法怎么写?
5.2 C/C++方面
5.2.1 基础知识
5.2.1.1 区别比较
● 面对对象和面对接口的理解?
5.2.1.2 讲解原理
● 问C++的指针知道在操作系统咋实现吗?
● 虚函数知道吗?三种继承方式说一下?
● 聊c++多态 虚函数 纯虚析构函数 栈解旋
● 多线程,讲了下CUDA编程
● 问redis接口实现,共享内存接口实现?
5.2.1.3 讲解应用
● C static有哪些应用场景?
6 操作系统高频问题:数据库&线程&常用命令等
6.1 数据库方面
6.1.1 基础问题
● Sql: 左连接是什么?
● 数据库会哪些,A表整体插入到B表怎么操作
6.2 操作系统方面
6.2.1 TCP协议相关
● 知道tcp/ip的算法,ip寻址吗?
● TCP和UDP的区别,设计模式会哪些?
6.2.2 线程和进程相关
6.2.2.1 区别比较
● 进程和线程的区别?
6.2.2.2 讲解原理
● 说一下线程有几种实现方式?
● 进程和线程哪个可以资源共享,另一个为什么不可以?
● 进程和线程,使用线程带来的好处和存在的问题
● 进程通信方式,为什么要通信,线程通信的是什么?
6.2.3 常用命令
● linux常用命令,查看端口是否被占用
● top命令的si代表什么?
6.2.4 其他问题
● 知道linux内核原理、调度吗?
● 是否熟悉封装、继承、多态?STL数据结构用过那些?
● git常用命令,如何创建新分支
● ssh的私钥和公钥的区别、作用
7 技术&产品&开放性问题
7.1 技术方面
● 深度学习网络模型往移动端移植会遇到的挑战以及应用?
● 项目中有遇到数据量大,计算慢的问题吗,有什么瓶颈问题,性能问题吗?
● 如果硬盘容量只有2G,但是数据量有10G,应该怎么加载数据?
● deepstream框架用过吗?
● 现在有N*n张照片,请以一个标准对这些图片进行评价。其中,N表示N个拍摄场景,n表示n台终端设备(平板、笔记本、手机等)。(限时20min左右)
a.将照片分为N组,并对每组照片进行处理,评价,排等级。
b.如何对每组内的照片进行评分?
c.n设备拍摄照片的Top问题(最好最差的情况),应该如何解决问题,优化照片指标?
(做题的前提是充分理解题目的用意:做题期间,关于图片性能标准、分组评级的内容,我不是很理解,跟面试官沟通了两次,不懂得多问,同时也可以让面试官了解你的沟通能力)
7.2 产品方面
● 问如果分给你的一部分频谱资源被其他的设备所污染,你会采取什么措施?
7.3 开放性问题
● 问以往的经历中有没有遇到什么困难,是怎么解决的?
本文由 大白智能 作者:凯哲 发表,其版权均为 大白智能 所有,文章内容系作者个人观点,不代表 大白智能 对观点赞同或支持。如需转载,请注明文章来源。