寒武纪算法面经秘籍
《AI未来星球》陪伴成长的人工智能社群,价值过万的各种内部资源及活动,限时特惠中,点击查看。
求职跳槽福利:为了便于大家求职、跳槽的准备,大白将45家大厂的面经,按照知识框架,整理成700多页的《人工智能算法岗江湖武林秘籍》,限时开放下载,点击查看下载。
面经整理历程:经过一年多的努力,大白整理了超过3500篇,各类大厂的算法面经资料。
并将涉及到的知识点,按照知识框架,分类汇总,每个公司整理成一篇,比如本文的寒武纪面经。
大家对照面经,可以了解心仪的公司,会根据你的简历,问哪些知识点?便于大家对掌握的知识,进行回顾梳理。
希望为大家在求职或者跳槽的道路上,提供一些帮助,为大家取得心仪的offer助力。
面经整理心得:大白也将整理所有面经的心得,写成了一篇文章,点击查看心得。
其他大厂面经:国内其他大厂的面经汇总,点击查看目录。
寒武纪面经整理:江大白
1 寒武纪面经汇总资料
1.1 面经汇总参考资料
① 参考资料:
(1)牛客网:寒武纪面经-13篇,网页链接
(2)知乎面经:点击进入查看
(3)面试圈:点击进入查看
② 面经框架及参考答案:
(1)面经知识框架:点击进入查看
(2)面经参考答案:点击进入查看
1.2 面经涉及招聘岗位
(1)全职岗位类
【算法工程师(深度学习算法推理引擎/高性能计算库方向)】、【深度学习算法研究员】、【计算机视觉算法工程师】、【深度学习框架研发工程师】、
1.3 面试流程时间安排
PS:以上流程为大白总结归纳所得,以供参考。
其他注意点:
● HR面试之后,可能会有性格测试,通过之后就等通知了
1.4 寒武纪面试心得汇总
★ 感觉对c++需求很大,面试中很多都是这方面的问题
★ 平日里准备的更多的是深度学习训练的细节,不过面试中会问框架方面的问题
2 寒武纪面经涉及基础知识点
2.1 图像处理基础
2.1.1 讲解相关原理
● 传统图像处理,比如腐蚀膨胀的原理?
● 描述一下空洞卷积?
2.2 深度学习:CNN卷积神经网络方面
2.2.1 讲解相关原理
2.2.1.1 卷积方面
● 卷积层的计算细节、激活函数如何引入非线性?
● 为什么说引入非线性,网络就可以表示几乎所有的连续函数?
● 有没有自己从头实现过Conv2D?
● 5×5卷积核和2个3×3卷积核哪个好?
● 空洞卷积怎么实现,什么作用?
2.2.1.2 其他方面
● 两张卡同时训练的时候每张卡上的bn的参数是否一样?
2.2.2 公式推导
● CNN的反向推导计算?
2.3 深度学习:RNN递归神经网络方面
2.3.1 讲解相关原理
● 讲讲embedding吧,讲讲LSTM吧?
2.4 深度学习:CNN&RNN通用的问题
2.4.1 基础知识点
● 介绍卷积网络、RNN、bilstm?
2.4.2 模型评价
● 在给定场景下(好像是关于神经网络的层级结构的确定问题),如何给出最优化判据(就是采用什么样的方法来判断结果是好的,这样就能够提供反馈信息给神经网络,并以此来优化结构和参数。
2.5 传统机器学习方面
2.5.1 讲解相关原理
2.5.1.1 数据准备
无
2.5.1.2 特征工程
① 特征降维
● PCA的原理?
② 特征选择
无
2.6 深度学习&机器学习面经通用知识点
2.6.1 激活函数方面
● 激活函数如何引入非线性?
● 证明引入非线性,为何就可以说这个网络可以表示几乎所有的连续函数?
2.6.2 压缩&剪枝&量化&加速
● 多核CPU上矩阵乘法怎么加速?
● 卷积怎么加速?
2.6.3 过拟合&欠拟合方面
● 防止过拟合的方法?
3 寒武纪面经涉及项目知识点
3.1 深度学习:CNN卷积神经网络方面
3.1.1 目标检测方面
● 对Yolo算法的了解程度?相关细节?
● 遥感目标检测,你做了那些工作,遇到哪些难点?
3.2 深度学习:RNN递归神经网络方面
无
3.3 强化学习
无
3.4 机器学习方面
无
4 数据结构与算法分析相关知识点
4.1 数据结构与算法分析
4.1.1 线性表
4.1.1.1 数组
● 给定一个无序数组,找出里面数据和为0的组合,分析时间和空间复杂度?
● 数组和链表区别
4.1.1.2 链表
● 对一个链表进行排序,要求时间复杂度O(nlogn),空间复杂度为O(1)? (归并排序)
● 环形链表
4.1.1.3 字符串
● 字符串排序(按字母顺序)?
● 0-n-1:中找到一个重复的数字
4.1.2 树
● 什么是平衡二叉树?红黑树?
4.1.3 排序
● 在n个值里找最小的k个数,分析时间复杂度?
● 快速排序时间复杂度?
● 堆排序原理
4.2 算法思想实战及智力题
4.2.1 算法思想实战
● 如果给定一个正整数N,对于一个最小位是2的s次幂的数,需要多少位才能表示这个数?如何确定数字系统中的参数位数?
● 找出数组中的重复数字(哈希表)
● 两个鸡蛋掉落问题(动态规划)
4.3 其他方面
4.3.1 数论
(线性代数)特征值与奇异值
● 如果给定一个正整数数N,对于一个最小位是2的s次幂的数,需要多少位才能表示这个数?如何确定数字系统中的参数位数。
4.4 Leetcode&剑指offer原题
无
5 编程高频问题:Python&C/C++方面
5.1 python方面
5.1.1 网络框架方面
5.1.1.1 Tensorflow相关
● 从构建模型到训练的过程中,tf会用到的特性,想到多少说多少?
● 比较一下tf 2的eager execution和PyTorch的动态图的优劣?
5.1.1.2 Caffe相关
● 对caffe的框架理解得怎么样?知道caffe的框架组成吗?
5.1.1.3 其他
● 使用什么深度学习框架,如何设计一个神经网络结构?
● 熟悉框架有哪些,tensorflow或者pytorch做扩展开发吗?
● pytorch 与 tensorflow之间的优缺点?
● 静态图与动态图的区别?
5.1.2 基础知识
5.1.2.1 区别比较
● tuple和list的区别?
5.1.2.2 讲解原理
● python或者C++是否熟悉,python如何包装C++的库函数?
● python2转python3项目如何向下兼容?
● python中为何要使用numpy?
5.1.2.3 讲解应用
● python中的self像是C++的什么?
● list插入的操作,三种?
5.2 C/C++方面
5.2.1 基础知识
5.2.1.1 内存相关
● C++中内存越界、内存泄漏、内存溢出?
● C++和C的指针有何区别?
5.2.1.2 区别比较
● map和unordered_map的区别
● new、malloc的区别,它们用在哪些存储区?
● 三个关键字的访问权限与继承权限的区别
● 继承和多态
● 堆和栈的区别?
● C++ const和violate什么作用?编译器会怎么处理?
5.2.1.3 讲解原理
● std::vector内存的分配?
● C++11的新特性?
● 智能指针有几种,介绍每个的特性是什么?指针内存释放的机制?
● weak_ptr的使用场景
● 类型转换方法有几种,cast方法,介绍一下
● 优先队列底层数据结构,堆的数据结构有什么特点
● 堆定义的头文件在哪,用过哪几种队列,优先队列自定义排序方法
● 介绍multi_map的数据结构
● 如何实现多态?
● 判断一个链表有环
● 内存管理单元的作用
● 什么是指令流水?
● C++中的虚函数,各种类型转换方式?
● 析构函数的作用,什么时候作用?
● 虚函数的作用,将基类里的virtual关键字去掉会怎么样?
● 将基类的虚构函数 的virtual关键字去掉又会怎么样?
● long有几个字节,long long跟之前的C++版本有什么不同?会超过8个字节吗?
● 右值方便了哪些写法,有什么优点?左右值转换的函数是哪个?
● 右值引用在模板里面的作用,写模板用std::move()来传参的作用,forward的作用
● define
● 宏定义
● malloc
● static的作用
● 继承种类?虚继承解决什么问题?
● 讲解一下虚函数的原理,析构函数可以写成虚函数吗?哪些情况需要写成虚函数?
5.2.1.4 讲解应用
● C++中利用opencv存储图像的结构体?
5.2.2 手写代码相关
● C++里用过lambda表达式嘛?说说?它对开发效率和运行效率的提高。
6 操作系统高频问题:数据库&线程&常用命令等
6.1 数据库方面
无
6.2 操作系统方面
6.2.1 线程和进程相关
6.2.1.1 区别比较
● 线程和进程的区别?
6.2.2 常用命令
● 对操作系统的了解有多深?
● linux常用命令有哪些?
6.2.3 其他问题
● 生产消费者模式,以及临界资源有哪些?
● 造成死锁的四个必要条件?
● 软硬链接的区别?
7 技术&产品&开放性问题
7.1 技术方面
● 在给定场景下(好像是关于神经网络的层级结构的确定问题),如何给出最优化判据(就是采用什么样的方法来判断结果是好的,这样就能够提供反馈信息给神经网络,并以此来优化结构和参数?
● 浅谈关于人工智能与自动控制结合方法,就是人工智能方法该怎么样应用到自动控制中去?
● git中如何恢复/撤销之前已经push的操作?
7.2 产品方面
● 做一个项目大概的周期和时间分布是怎样的?
● 数据、模型、优化等各占多少?
本文由 大白智能 作者:凯哲 发表,其版权均为 大白智能 所有,文章内容系作者个人观点,不代表 大白智能 对观点赞同或支持。如需转载,请注明文章来源。