机器学习算法以后就业:想拿算法工程师offer
机器学习算法以后就业:想拿算法工程师offer2、一个活动 n个女生手里拿着长短不一的玫瑰花 无序的排成一排 一个男生从头走到尾 试图拿更长的玫瑰花 一旦拿了一朵就不能再拿其他的 错过了就不能回头 问最好的策略?1、a b~U[0 1],互相独立 求Max(a b)期望2、L1不可导的时候该怎么办3、sigmoid函数特性2、统计学,概率论
来源 | 牛客网 编辑 | 小军 前言
本篇根据各个公司的机器学习相关岗位面试中问的问题进行总结,后面还会更新面试中考察所占比例。
知识点思维导图
数学基础:1、微积分
1、SGD Momentum Adagard Adam原理
2、L1不可导的时候该怎么办
3、sigmoid函数特性
2、统计学,概率论
1、a b~U[0 1],互相独立 求Max(a b)期望
2、一个活动 n个女生手里拿着长短不一的玫瑰花 无序的排成一排 一个男生从头走到尾 试图拿更长的玫瑰花 一旦拿了一朵就不能再拿其他的 错过了就不能回头 问最好的策略?
3、问题:某大公司有这么一个规定:只要有一个员工过生日,当天所有员工全部放假一天。但在其余时候,所有员工都没有假期,必须正常上班。这个公司需要雇用多少员工,才能让公司一年内所有员工的总工作时间期望值最大?
4、切比雪夫不等式
5、一根绳子 随机截成3段 可以组成一个三角形的概率有多大
6、最大似然估计和最大后验概率的区别?
7、什么是共轭先验分布
8、概率和似然的区别
9、频率学派和贝叶斯学派的区别
10、0~1均匀分布的随机器如何变化成均值为0,方差为1的随机器
11、Lasso的损失函数
12、Sfit特征提取和匹配的具体步骤
3、线性代数
1、求mk矩阵A和nk矩阵的欧几里得距离?
2、PCA中第一主成分是第一的原因?
3、欧拉公式
4、矩阵正定性的判断 Hessian矩阵正定性在梯度下降中的应用
5、概率题:抽蓝球红球,蓝结束红放回继续,平均结束游戏抽取次数
6、讲一下PCA
7、拟牛顿法的原理
8、编辑距离
机器学习算法1、处理分类问题常用算法
1、交叉熵公式
2、lr公式
3、LR的推导,损失函数
4、逻辑回归怎么实现多分类
5 、SVM中什么时候用线性核什么时候用高斯核?
6、什么是支持向量机 SVM与LR的区别?
7、监督学习和无监督学习的区别
8、机器学习中的距离计算方法?
9、朴素贝叶斯(naive Bayes)法的要求是?
10、训练集中类别不均衡,哪个参数最不准确?
11、你用的模型,最有挑战性的项目
12、SVM的作用,基本实现原理;
13、SVM的硬间隔,软间隔表达式;
14、SVM使用对偶计算的目的是什么,如何推出来的,手写推导;
15、SVM的物理意义是什么;
16、如果给你一些数据集,你会如何分类(我是分情况答的,从数据的大小,特征,是否有缺失,分情况分别答的);
17、如果数据有问题,怎么处理;
18、分层抽样的适用范围
19、LR的损失函数
20、LR和线性回归的区别
21、生成模型和判别模型基本形式,有哪些?
22、核函数的种类和应用场景。
23、分类算法列一下有多少种?应用场景。
24、给你一个检测的项目,检测罐装的可口可乐,瓶装的可口可乐作为负样本,怎么弄?
25、SVM核函数的选择
26、SVM的损失函数
27、核函数的作用
28、SVM为什么使用对偶函数求解
29、ID3 C4.5和CART三种决策树的区别
30、SVM和全部数据有关还是和局部数据有关?
31、为什么高斯核能够拟合无穷维度
32、第二面完整推导了svm一遍,还有强化学习问的很多,dqn的各种trick了解多少,怎么实现知不知道。
33、SVM所有核函数的了解应用,SVM的损失函数
34、LR和SVM 区别
35、朴素贝叶斯基本原理和预测过程
36、LR推导
37、交叉熵
38、LR公式
39、交叉熵公式
2、处理回归问题常用算法
1、L1和L2正则化的区别
2、问题:Loss Function有哪些,怎么用?
3、问题:线性回归的表达式,损失函数;
4、线性回归的损失函数
5、机器学习:知道哪些传统机器学习模型
3、处理聚类问题常用算法
1、什么是DBSCAN
2、k-means算法流程
3、LDA的原理
4、介绍几种机器学习的算法,我就结合我的项目经理介绍了些RF kmeans等算法。
5、KMeans讲讲,KMeans有什么缺点,K怎么确定
6、Kmeans
7、DBSCAN原理和算法伪代码,与kmeans,OPTICS区别
4、推荐系统的常用算法
1、 问推荐算法,fm,lr,embedding
2、协同过滤的itemCF,userCF区别适用场景
3、 推荐系统的大概步骤,解决冷启动。。。
4、传统的机器学习算法了解吗
5、用mapreduce实现10亿级以上数据的kmeans
6、Kmeans
7、A/B test如何进行流量分流
8、协同过滤中的算法怎么细分
9、FM公式
10、FFM公式
5、模型融合和提升的算法
1、bagging和boosting的区别
2、boosting和 bagging区别
3、XGBOOST和GDBT的区别
4、GDBT的原理 以及常用的调参参数
6、AdaBoost和GBDT的区别 AdaBoost和GBDT的区别
7、gbdt推导
8、boosting和bagging在不同情况下的选用
9、gbdt推导和适用场景
10、说一下gbdt的全部算法过程
11、rf和gbdt基分类器区别,里面的决策树分别长啥样,怎么剪枝
12、随机森林和 GBDT 的区别
13、xgboost的特征重要性计算
14、xgboost的正则项表达式
15、xgboost原理,怎么防过拟合
16、xgboost,rf,lr优缺点场景。。。
17、xgboost特征并行化怎么做的
18、xgboost和lightgbm的区别和适用场景
6、其他重要算法
1、HMM隐马尔可夫模型的参数估计方法是?
2、Bootstrap方法是什么?
3、如何防止过拟合?
4、EM算法推导,jensen不等式确定的下界
机器学习1、Scikit-learn
1、Focal Loss 介绍一下
2、过拟合的解决方法
3、方差偏差的分解公式
4、问题:对应时间序列的数据集如何进行交叉验证?
5、问题:正负样本不平衡的解决办法?评价指标的参考价值?
6、迁移学习
7、数据不平衡怎么办?
8、AUC的理解
9、AUC的计算公式
10、生成模型和判别模型的区别
11、过拟合的解决方法
12、特征选择怎么做
13、怎么防止过拟合
14、L1和L2正则
15、ID3树用什么指标选择特征
16、特征工程的问题
17、给了个链接线上写代码,要求写读文本、文本预处理、特征提取和建模的基本过程,不过写到特征就没写了
18、softmax公式
2、Libsvm
1、 检测20类物体,多少张训练集,怎么训练
2、 lightgbm优势
3、Keras/Tensorflow
1、MXNet和Tensorflow的区别
2、Tensorflow的工作原理
3、Tensorflow中interactivesession和session的区别
4、手写了tensorflow的图像分类代码,还有问之前线下笔试最后编程题的思路,算法复杂度,然后项目也问。
深度学习1、BatchNormalization的作用
2、梯度消失
3、循环神经网络,为什么好?
4、什么是GroupConvolution
5、什么是RNN
6、训练过程中 若一个模型不收敛 那么是否说明这个模型无效?导致模型不收敛的原因有哪些?
7、图像处理中锐化和平滑的操作
8、VGG使用3*3卷积核的优势是什么?
9、Relu比Sigmoid的效果好在哪里?
10、神经网络中权重共享的是?
11、神经网络激活函数?
12、在深度学习中,通常会finetuning已有的成熟模型,再基于新数据,修改最后几层神经网络权值,为什么?
13、画GRU结构图
14、Attention机制的作用
15、LSTM和Gru的原理
16、什么是dropout
17、LSTM每个门的计算公式
18、HOG算法原理
19、DropConnect的原理
20、深度学习了解多少,有看过底层代码吗?caffe tf?
21、除了GMM-HMM,你了解深度学习在语音识别中的应用吗?
22、用过哪些移动端深度学习框架?
23、Caffe:整体架构说一下,新加一个层需要哪些步骤,卷积是怎么实现的,多卡机制,数据并行还是模型并行?
24、HOG算子是怎么求梯度的
25、BN层的作用,为什么要在后面加伽马和贝塔,不加可以吗
26、梯度消失,梯度爆炸的问题,
27、Adam
28、attention机制
29、RNN梯度消失问题 为什么LSTM和GRU可以解决此问题
30、GAN网络的思想
31、1*1的卷积作用
32、怎么提升网络的泛化能力
33、什么是seq2seq model
34、激活函数的作用
35、为什么用relu就不用sigmoid了
36、讲一下基于WFST的静态解码网络的语音识别流程?
37、目标检测了解吗,Faster RCNN跟RCNN有什么区别
38、SPP,YOLO了解吗?
39、梯度消失梯度爆炸怎么解决
40、RNN容易梯度消失,怎么解决?
41、LSTM跟RNN有啥区别
42、卷积层和池化层有什么区别
43、 防止过拟合有哪些方法
44、dropout咋回事讲讲
45、relu
46、神经网络为啥用交叉熵。
47、注意力公式
48、论文flow情况
48、Flappy.Bird开发者 怎么利用DNQ方法强化学习你的游戏AI
49、LeNet-5结构
50、推导LSTM正向传播和单向传播过程
51、LSTM原理,与GRU区别
52、DNN的梯度更新方式
53、 CNN为什么比DNN在图像识别上更好
54、现场用collabedit写代码,一个怪异的归并算法。之前没遇到过,直接把归并写出来,但是说复杂度太高,优化了三遍还不行,最后说出用小顶堆解决了。
55、LSTM和Naive RNN的区别
56、神经网络为啥用交叉熵。
57、注意力公式
58、Inception Score 评价指标介绍
59、使用的 CNN 模型权重之间有关联吗?
60、CycleGAN 原理介绍一下
61、训练 GAN 的时候有没有遇到什么问题
62、CPM 模型压缩怎么做的?有压过 OpenPose 吗?
63、用过哪些 Optimizer,效果如何?
64、图像基础:传统图像处理方法知道哪些,图像对比度增强说一下
65、介绍一下图像的高频、低频部分,知道哪些图像补全的方法
66、百度实习:模型压缩的大方向。CPM 模型怎么压缩的,做了哪些工作?
67、Depthwise 卷积实际速度与理论速度差距较大,解释原因。
68、RetinaNet 的大致结构画一下
69、RetinaNet为什么比SSD效果好
数据结构与算法1、查找
1、手写二分查找
(1)算法题,单调函数求零点 (简单的二分法)
2、特别大的数据量,实现查找,排序
2、哈希
1 Hash表处理冲突的方法
2、一致性哈希
3、Hash表处理冲突的方法
4、apriori
5、KM算法
3、表达式、字符串
1.中缀表达式转后缀表达式
(1)算法题:翻转中间由各种符号隔开的字符串
2、问题:A B∗(C−D)/E的后缀表达式。
4、栈与堆
1.大顶堆怎么插入删除
2、堆栈区别
3、栈溢出有哪些情况
5、树
1、问题: 手撕代码,根据前序,中序创建二叉树。
2、算法题:从右边看被遮挡的二叉树,求露出的node
3、算法题,给前序和中序,求出二叉树
4、算法题,trim二叉搜索树
5、红黑树
6、排序
1、对一千万个整数排序 整数范围在[-1000 1000]间 用什么排序最快?
2、堆排序的思想
3、冒泡排序
4、快速排序的最优情况
5、抽了两道面试题目两道。8个球,1个比较重,天平,几步找到重的?
(1)算法题: topK给出3种解法
6、快排
7、说一下小顶堆的调整过程
8、算法题:2sum,3sum
7、高级算法
1、手撕代码:以概率p生成1、概率1-p生成0的rand函数,得到0-1等概率的rand函数,计算新的rand函数中:调用一次,while循环的期望次数
2、Kruskal算法的基本过程
3、BFS和DFS的实现思想
4、关联规则具体有哪两种算法 它们之间的区别
5、贪婪算法
6、模拟退火,蚁群对比
7、 算法题:名人问题,给出最优解法
8、代码题:股票最大值。
9、编辑距离
8、链表
1、如何判断单链表是否是循环链表
(1)算法题,反转链表
(2)算法题,单链表判断是否有环 (leetcode easy),以及判断环入口
9、数组
1、找出数组中只出现1次的数,其余数均出现2次,扩展,其余数出现2次以上
10、动态规划
1、最短描述数,10的最短描述数是3^2 1^2所以是2,求一个数的最短描述数
2、跳台阶问题,每次只能跳1个台阶或者2个台阶,n个台阶共有多少种方式
3、动态规划和带记忆递归的区别
4、手撕代码:0-1矩阵的最大正方形
11、遍历
1、代码题:股票最大值。
编程语言,工具和环境1、编程语言
1、什么是python的生成器?
2、Java抽象类和接口的区别?
3、python中is和==的区别
4、python方法解析顺序
5、strcpy函数
6、Ctrl C程序挂掉还是抛出异常 如何判断两个dict是否一样 list头上删除元素 字符串拼接?
7、6.pytorch中cuda()作用 两个Tensor 一个加了cuda() 一个没加 相加后很怎样?
8、python中dict和list的区别 dict的内部实现
9、C 的delete delete[]的区别
10、C 相关的问题虚函数
12、如何写多线程的代码
13、是否关注过caffe和pytorch是怎么写的吗?pytorch调用多GPU函数内核
14、Java虚拟机内存的划分
15、python dict按照value进行排序
16、C 中static关键字的作用
17、虚函数和纯虚函数的区别
18、Python多进程
19、深拷贝,浅拷贝,写一个出来(写了个自己认为对的版本)
20、在程序里面智能指针的名字是啥?
21、new,malloc区别
22、纯虚函数怎么定义,写一个出来
23、函数后面接const是什么意思?
24、写一个函数指针
25、抽象类和接口的区别,慢慢说
26、有看过c++的一些库吗?
27、c++你看的最久的一章是哪一章,c++primer最熟哪一章
28、开发环境、语言的掌握
29、Python 多进程
30、Python 锁
2、大数据相关
1、Spark性能如何调优
2、map reduce实现笛卡尔乘积
3、 是否写过udf,问udaf,udtf区别和一些细节
自然语言处理1、Word2vec
1、Word2Vec中skip-gram是什么 Negative Sampling怎么做
2、FastText和Glovec原理
3、word2vec实施过程
4、softmax的原理了解
5、Wod2vec公式
6、Wod2vec公式
7、使用gensim的word similar方法预测句子
计算机基础1、linux
1、ELF的bss段
2、计算机网络
3、ip报文经过一个路由器改变哪些字段?
2、TCP/IP算法 IP寻址
3、操作系统
1.如何将小端存储模式转为大端存储模式
2、Python 锁
4、数据库
1 .count(*) count(1)和count(列名)的区别
场景题1 .如何对10亿个词语进行排序 找出频率最高的100个
(1)算法题,10亿个32位正整数,求不同值,只给1GB内存。
2、AI能用在游戏的哪些方面。
3、如果让我用AI技术怎么加入AI元素
4、你觉得你的构想能实际实现吗?
5、那这个技术加进去有什么实际上的意义?
项目1、项目中涉及的算法有了解情况
2、模型的搭建,后处理,数据中发现的特征,发现的亮点。
3、数据量和涉及的算法,效果。
4、你是怎么处理数据中经常存在的数据不平衡的问题。
5、考察项目中的roi-pooling
6、自我介绍
7、项目介绍
8、问了下项目怎么做的
9、 问了一下项目和简历
10、描述一个算法项目从kickoff-落地的全过程
11、 扣项目,问简历,其中涉及的算法和上面差不多
12、 对项目中一些技术选型产生质疑,并友好的一起讨论了这个问题
13、扣简历的项目,扣的很细
14、 扣简历
15、扣简历,问得太细了,每个项目都要回答如果再做一次,有什么改进的地方,both算法上和模型选择上
16、聊简历项目,对搜索推荐算法的了解
17、简历上聚类项目用到的ISODATA算法比kmeans有哪些改进
18、自我介绍,
19、然后让我说一下自己最印象深刻的项目。问我项目的最终成果,分析失败的原因。
20、主要是问项目,根据项目里问一些细的技术点,比如gan在实际实现中的loss是什么
21、 第五轮面试:主要是问项目
22、 第二轮技术面:两个面试官面我一个。
23、看过的论文,讨论论文
24、针对岗位需求和我简历里的内容进行提问
25、 自我介绍
26、项目经历介绍下
27、项目中遇到的最大困难
28、自我介绍
29、针对简历里的第一个项目问的一些问题
30、针对项目3,让解释下DOA估计
33、你的C/C 怎么样?
34、自我介绍?
35、谈谈实习项目?
36、项目难点?
37、说一下你简历里的图像识别的项目
38、来问我现在在做什么项目,然后我说OCR,然后介绍了一下
39、自我介绍
40、项目经历详细介绍:两种预测方式区别,pair的预测方式,整体项目有哪些可以提升的,遇到的困难之类的,整个项目用了哪些库?
41、看过的论文,讨论论文
42、论文flow情况
43、自我介绍
44、实习:项目介绍:台球识别和分类使用的方法,Hough 变换原理、后处理
45、Kaggle 比赛:背景介绍,数据清洗、数据增强、类别平衡,最终成绩,与前几名差距在哪,有没有尝试集成的方法。
46、GAN 小论文:做了什么,最终效果
47、GAN 小论文,做了哪些工作,详细公式推一下,对 GAN 的具体应用有了解吗?
48、简历上项目为何适用xgboost和lr,对比其他分类算法的场景优势。
49、GAN小论文,你做了什么,有哪些改进,在哪些数据集上做过实验,分辨率是多少?
50、实习:1)项目背景。台球检测和分类方法,球杆检测方法,球杆遮挡问题怎么处理,不用分类器,直接分割或计算图像差值会怎样?
51、有什么问题想了解一下
总结这几乎包括了机器学习面试中所有可能问到的问题,如果能比较好的掌握它们,拿一份机器学习算法工程师offer应该不难。