AI算法岗面试汇总

本人是2020届毕业生,这里整理了各位前辈的面试经验,予以参考。

数据结构

二叉树:

  • 二叉树求叶节点的和,递归和非递归方法
  • 判断2棵二叉树是否相同;
  • 二叉树打印出最右侧的节点;
  • 树(非二叉树)的合并,当前节点的值小于80的话,把值归到父节点,子节点变成父节点的子节点,并删除该节点;
  • 判断相似二叉树,并优化到多项式时间复杂度;
  • 求根节点到叶节点的最远距离;
  • 链地址法中对于映射到同一个地址的数,设计数据结构能够快速查找出其中的数(比如对于1,11,21,31,41,51映射到同一个key(1),如何快速找到31)(用树模型)

链表:

  • 两个链表做加法(要考虑大数);
  • 翻转链表,如abcd变成badc;
  • 快排的思想,如何做链表的快排,主要解释了过程;
  • 对hash表的理解,有哪些解决冲突的方法(分别怎么用);
  • hash表在内存中是怎么查找的;
  • 2个链表判断是否有公共节点(链表带环时的处理);

基础,数组,字符串,矩阵,排序:

  • 心算一个十进制转二进制
  • 2个等长的有序数组,得到中位数;
  • 两个排序的数组合并
  • 二维数组求连通域;
  • 在n个数的数组中,1到n中只有一个数没有出现,求这个数;
  • 数组中只有一个数出现一次,其余出现两次,求出现一次的数(LeetCode);
  • 给定2个字符串,找到最长的公共子串(写完动态规划问能否改进);
  • 二路归并排序;
  • topK的思想,说一下思路;
  • 从一堆数据中找到前k个最大的数(写了个堆排序)
  • 螺旋打印矩阵;
  • 旋转矩阵,输入任意N维矩阵,输出变换后的矩阵,类似实现numpy的transpose;
  • 旋转有序数组后的二分查找;
  • 数组二分查找;
  • 问数组按行、按列存储的区别;

其他:

  • rand2变成rand3,并从概率角度解释;
  • 从rand5变到rand8;
  • 写一个class实现固定大小内存空间的读写删除;
  • 实现均值滤波;
  • 动态规划的思想;
  • 有一个生成器,生成0的概率是p,生成1的概率是1-p,问如何生成1/2和1/2的概率
  • x,y都是0到1 的均匀分布,求max(x, y)的期望;
  • 汉诺塔实现;
  • 手写RPN正负样本选取的过程代码;
  • 有2个文件,文件太大无法将一个文件全部加载到内存,找出2个文件中相同的数;
  • 给一堆x,y点,拟合出最佳直线,损失函数可以自己选择,最小二乘和迭代法都考了;
  • 海量数据处理题,这个百度一搜一大把(重要);参考:http://blog.csdn.net/v_july_v/article/details/7382693

 

AI算法

 

CNN:

神经网络:

  • 深度学习相关问题 参考:https://blog.csdn.net/xwd18280820053/article/details/76026523
  • CNN基本知识,smoothln loss的意义与作用,常见的loss function;
  • 什么造成过拟合常见的防止过拟合方法: data agumentation,early stop,regularisation,用更简单模型,dropout,加噪声,预训练网络freeze某几层;
  • dropout原理,如何实现;
  • 介绍一下batch normlization;
  • 如何理解CNN;
  • 介绍一下反卷积;
  • 1*1的卷积有什么特别的用途
  • 对于现在CNN发展的一个理解,最新成果的一些掌握;
  • DNN给定结构情况下有哪些关键问题(优化算法,激活函数这2个方面):有哪些优化算法,梯度下降怎么传播,后向、前向怎么结合(这个对后向传播机制熟练就没问题了)
  • 有哪些激活函数?relu与逻辑函数的区别?(relu避免梯度消散,加快训练速度,起到稀疏性的作用);
  • 交叉熵代价函数与平方损失代价函数的区别,什么情况下两者等价?
  • 优化算法了解多少(批梯度下降、随机梯度下降、mini-batch梯度下降的差异,还有动量的优化算法);                 参考:http://blog.csdn.net/xwd18280820053/article/details/77529550
  • 负梯度下降方向为什么是下降最快的方向;
  • 画LSTM框架图;
  • 问了一个概率随机游走的问题:一个人站在原点,只能往左或者往右,每次走1个单位长度距离,问走了n次之后距离原点距离X的期望;
  •  

聚类:

  • 有哪些聚类(K-means,Hierarchical methods--agglomerative和divisive,Gaussian Mixture Models);                参考:https://www.zhihu.com/question/34554321
  • 维数灾难,解决:随机森林;

分类器:

  • 介绍一下:logistic regression,svm,gbdt,randomforest,xgboost,lightgbm(一般根据简历有针对性的问);
  • 朴素贝叶斯分类器思想、应用;
  • 为什么用线性回归做分类效果不好;
  • 比较一下k-means和高斯混合模型;
  • SVM中C越大对模型有什么影响

应用:

  • 介绍一下AUC,项目中评价指标为什么使用logloss而不用AUC
  • 项目中是怎么做特征选择的(重要)
  • one-hot encoding有什么好处
  • 上亿个数据,每个数据20个维度(也就是一个向量),给你一个数据如何快速找到和该数据最相似的前几个(kd-Tree思想)
  • 如何判断一个文章是不是谣言(标题,传播者,发布者,内容等);

 

数学:

  • 线性代数里边的矩阵特征值,特征向量,奇异值分解
  • 极大似然估计和贝叶斯估计的区别

你可能感兴趣的:(AI算法岗面试汇总)