2019春招算法面经汇总
链接:https://www.nowcoder.com/discuss/203132
来源:牛客网
看你python用的比较多,先说一下python的一些基础知识吧。
1.read readline readlines的区别
2.*args **kwargs的含义与用法
3.说说项目
4.svm的核函数和对偶,核函数有哪些?区别是?svm模型C参数越大,代表模型的偏差大还是方差大?
5.模型过拟合有哪些处理方式
6.解释一下你刚刚说的两个正则化的不同
7.画出RNN的结构图
8.scikit-learn中随机森林有哪些参数需要注意
链接:https://www.nowcoder.com/discuss/120676
来源:牛客网
一面是俩帅气的小哥哥,先让自我介绍,然后问了一下项目
项目特征选择怎么做的
怎么防止过拟合
L1和L2正则
ID3树用什么指标选择特征
开放题:预测一位学生期末是否挂科,需要挖掘哪些信息。
然后就是 有没有男朋友呀,地点意向什么的
对公司有哪些了解(结果我一点儿也不了解,尴尬了30秒)
上午十二点面完,一点通知下午三点终面
终面应该是主管 hr
问了下项目怎么做的,我觉得应该是考察你的表达能力,估计他们不太懂
也说了下特征工程的问题
如果有同学要学机器学习,你会建议他们从哪里做起
兴趣爱好
意向地点
链接:https://www.nowcoder.com/discuss/102053
来源:牛客网
链接:https://www.nowcoder.com/discuss/92701
来源:牛客网
- 作者:撒泼打滚求Offer
链接:https://www.nowcoder.com/discuss/92370
来源:牛客网
1. 目标检测了解吗,(了解一点)Faster RCNN跟RCNN有什么区别2. SPP, YOLO了解吗(不了解)(后悔没去看看= =)3. 梯度消失梯度爆炸怎么解决4. RNN容易梯度消失,怎么解决(LSTM)5. LSTM跟RNN有啥区别6. 传统的机器学习算法了解吗(不怎么了解,说了个KMeans)7. KMeans讲讲,KMeans有什么缺点,K怎么确定(不会)8. 卷积层和池化层有什么区别(不是很懂这个问题的点)9. 防止过拟合有哪些方法10. dropout咋回事讲讲11. 你有什么要问我的吗 -
2.过拟合的解决方法3.L1/L2正则化4.特征如何降维 - 作者:NickWong2
链接:https://www.nowcoder.com/discuss/111758
来源:牛客网
一面问本科地信咋回事问竞赛成绩 咋不是黑龙江赛区介绍一个自己最熟悉的项目是否考虑过前后两个实验精度不同是为什么数据集来源为什么选择迁移学习出现问题不应该说是inception框架的问题用没用resnet?集成学习的细节然后就是卡了能有半个多小时的题html源码结构的DOM模型转成什么样的数据结构存储,其实就是问多叉树怎么存储,我当时就没想到多叉树的存储是存chlid和brother.提示了还卡了辣么久然后说了我一下代码规范的问题然后问遍及(原题背景简化以后)然后我一直纠结brother.怎么返回到father.后来发现一个while找自己的brother.就好啦 最开始还忘记return.叶子结点的情况了😂😂再就是问如何处理过拟合l1 l2都是啥原理dropout是啥原理还有啥方法 工程上深度学习的方法有木有提前终止,扩大数据量,验证集。不知道还有啥集成学习用没用过 bagging boosting.都是咋回事?boosting做预测的过程?(这个没答对)面试官很耐心很耐心,面试了70分钟,面试体验非常好,虽然答的啥也不是😂😂
二面自我介绍介绍一个自己做的好的项目用来描述精度的二次加权kappa是啥二次加权kappa是啥(当时紧张啥了,真的忘记了,还扯出来一个MSE,醉了醉了)问inception模型的演变(这个滴滴 AI lab就问过 真得好好看看了)估计面试官对我也挺无语的,问啥啥不会开始写题第一题I love you转换成you love I咋写?只允许申请O(1)的额外空间开始以为要计算变换后的位置,和面试官讲了一下发现行不通然后想了一会儿想出正解了 写完了 面试官没说有错误 问了一下代码意思第二个题取top100开始说大顶堆,发现没办法pop出来最小的说小顶堆,讲了一下操作。问时间复杂度,说nlogn,多说了100发现不对,二叉树就是log级别的然后让写top5的写完了,结束了,面试官撵我走了
作者:政化天下666
链接:https://www.nowcoder.com/discuss/111385
来源:牛客网
百度
岗位:机器学习/数据挖掘/自然语言处理工程师
状态:技术面完成
渠道:秋招
1、技术一面
2018年9月14号星期五 现场面
1、自我介绍
2、手撕代码
1)二维有序数组的二分查找某个数
2)找一棵二叉搜索树里面给定两个节点的公共祖先
3)最大的K个数
3、介绍思想
1)文件太大,内存太小时候,最大的K个数怎么样的求解过程?
4、手推公式
1)讲解并推导一下SVM
5、基础问题
1)LR和SVM的区别
2)讲一下做过计算机视觉的比赛
3)对着笔试题目写的内容,问过拟合有哪些解决方法
4)说看见笔试写了推荐的那题写了DNN,能讲讲自己用过么?结合了一个CVPR的文章讲一下我写的word embedding、DNN
5)详细介绍实习期间的工作,然后怎么做的?
6、有什么想问的问题
2、技术二面
2018年9月17号星期一 现场面
1、自我介绍
2、手撕代码:合并两个无序链表成为有序链表
3、讲一个项目,很看重思考的过程和处理的方式
4、讲一下实习的内容,说的比较详细,每一步怎么训练、用什么训练、怎么使用的、有什么好处
5、交流对深度学习的理解,从CNN、RNN等多个方面介绍自己掌握的
1)CNN方面:介绍结构,介绍发展历史,卷积用来干什么,顺便提了迁移学习,resnet的思想,中间问到了:BN的作用和原因
2)RNN方面:介绍RNN结构,梯度消失,介绍LSTM,介绍GRU,介绍最近两年的mrelu-GRU,介绍了并行RNN
3)DNN方面:介绍了dropout,relu等等
6、补充说明了强化学习及应用场景
7、提问环节
3、技术三面
2018年9月19号星期三 现场面
1、觉得比较有成就感的事情,对自己有什么持续激励么?
2、介绍一下实习的内容,然后自己怎么做的,然后差不多花了20分钟在上面探讨优化改进点,以及有哪些问题
3、实验室允许实习么?怎么去说服老师同意实习的?
4-9、关于项目分工怎么考虑,部门人际关系如何协调,宿舍舍友间关系,师生关系,实验室同学关系,个人兴趣爱好等
10、offer的考虑
11、提问环节:
1)岗位和内容,后面问对统计方法的了解,问了SVM的一些知识,损失函数,正则项等等
2)加班强度怎么样?面试官说百度是10:30-4:30必须要在公司工作,其他时间有事你可以走的,项目忙的时候可能加班到9点10点,还是比较灵活的
链接:https://www.nowcoder.com/discuss/121790
来源:牛客网
链接:https://www.nowcoder.com/discuss/95240
来源:牛客网
1.介绍项目,被外界打断三次,有种便秘的感觉,讲完了,面试官在百度问题,然后问我项目技术问题,回答之后他说他看过那篇论文,然后就没了
2.项目花了30+分钟,跳出你的项目,谈谈传统机器学习(小弟深度学习弱渣),你觉得传统学习,深度学习本质区别?
我回答:线性-非线性?
面试官:不对。
我再答:分类-回归?
面试官:不对,你理解不行啊,基础有点差(我内心:。。。)那我再换个方式问:Linear regression跟logistics regression的本质区别?
我:线性非线性?
面试官:不对
我:内心就是mmp)不好意思,我没理解好这个点,请问你能跟我说下正确的理解答案吗?
面试官:不可能啊,这是面试,百度很多你自己去百度
我:目瞪口呆。。。
面试官:再问个问题,预处理知道吗?我们讲讲归一化吧,归一化的本质是什么?
我:去除数据的差异?
面试官:不对
我:把所有的data都scale到同一个range下?方便比较特征?
面试官:不对,你不是搞深度学习吗?这个跟BN思想一样啊。
我:BN的就是去除数据之间的差异,减少层层之间的依赖啊
面试官:你没理解到点上去
我:目瞪口呆twice
3.这样吧,你桌面共享出来,你写个backprop:
(内心OS:妈耶~怕不是被针对了,别人30分钟就出了,我1个多小时还要写code
打开一个sublime,写了个SGD的简单方法敷衍了下
交换问题:1.所在部门干啥的?2.对我的评价及建议:动手能力不错,但是理论基础差。。。。
链接:https://www.nowcoder.com/discuss/91192
来源:牛客网
链接:https://www.nowcoder.com/discuss/92851
来源:牛客网
阿里一面
1.自我介绍下:
我是XXX的硕士,机器学习专业,我研究方向偏向于深度学习;然后我本科是XXX的物联网工程专业,本科做过两个项目:1)基于大数据的股票市场分析 2)基于用户操作的推荐系统 ;研究生阶段目前印象最深是做了两个项目:1)机器人课程作业中的challenge 2)现在正在做的基于model的智能机器学习框架,着重介绍在最后一个,然后问了下实际工作,完成程度,贡献度。最后追问了一个对于物联网的看法
2.hashmap介绍先说了下自己知道JAVA的hash map的用法,python中dictionary也是用hash表实现的:首先利用hash()将key和value映射到一个地址,它通过把key和value映射到表中一个位置来访问记录,这种查询速度非常快,更新也快。而这个映射函数叫做哈希函数,存放值的数组叫做哈希表。 哈希函数的实现方式决定了哈希表的搜索效率。具体操作过程是:
- 数据添加:把key通过哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。
- 数据查询:再次使用哈希函数将key转换为对应的数组下标,并定位到数组的位置获取value。
但是,对key进行hash的时候,不同的key可能hash出来的结果是一样的,尤其是数据量增多的时候,这个问题叫做哈希冲突。如果解决这种冲突情况呢?通常的做法有两种,一种是链接法,另一种是开放寻址法,Python选择后者。
开放寻址法(open addressing):
开放寻址法中,所有的元素都存放在散列表里,当产生哈希冲突时,通过一个探测函数计算出下一个候选位置,如果下一个获选位置还是有冲突,那么不断通过探测函数往下找,直到找个一个空槽来存放待插入元素。
3.算法:快排的时间复杂度和空间复杂度?平均多少?最差多少?还有那些排序的时间复杂度是O(nlogn)?知道排序中的稳定性吗?我:快排的时间复杂度我记很清楚是O(nlogn),空间复杂度是O(1),平均就是O(nlogn),最差是O(n^2),退化成了冒泡排序;此外还有时间复杂度为O(nlogn)的还有堆排序和归并排序;排序的稳定性知道是在排序之前,有两个元素A1,A2,A1在A2之前,在排序之后还是A1在A2之前。
4.SVM和Logistic Regression对比:首先我介绍了下logistics regression的过程,就是把y=wx+b的结果放到sigmoid函数里,把sigmoid作为一个分类器,这样做的原因是sigmoid函数能把所有范围的值域控制在(0,1)区间内,然后我们把0.5作为一个分类的阈值,大于0.5的作为正类,小于0.5的作为负类。然后SVM是一个利用超平面将数据隔开分类的问题,首先我们在max所有距离平面最近的点的margin,同时subject to y(wx+b)>0,意味着分类正确:
然后:我们可以的到最近点到平面的距离:
我们最后再用拉格朗日乘子式将subjuct to 条件转换成一个等式求解最后的w,b 然后求得最有超平面。我说SVM有很多kernel,这个有点像regulation,面试官说错了,你讲讲kernel是什么干什么用的?我说kernel是把数据把低维映射到高维,因为有些数据在低维不可分,映射高维可以找到超平面去划分,更好准确。
最后说了LR比较方便计算,SVM 高维kernel计算复杂,但是准确。如果数据多,要求实时得到预测结果,用LR;如果数据不多,要求准确率,我选择SVM。另外SVM可以用于多分类,而LR只能用于二分类
5.解决Overfitting、regulation的方法:regulation,我才总结下了,大致主要聊了2点:
1)dropout,介绍dropout的概念啊,问了下train和test阶段的不一样过程细节
主要讲了下test把active function的输出都乘以P,这样就把train和test的输出期望都scale到了一个range,这样才是更加准确的
2)Batch Normalisation:BN,BN的原理,问什么好,好在哪里?
1.降低了样本之间的差异,scale到(0,1)
2,降低了层层之间的依赖,主要体现在前一层的输出是下一层的输入,那么我们把所有数据都scale到了(0,1)的distribution,那么降低了层层之间的依赖关系,从而使数据更加准确
全程聊了一个小时,我人都傻了,一面不是面简历吗?(内心OS。最后问了面试官两个问题:1)我本来跟老板汇报了工作在路上走着,电话就来了,我就说没准备好问了下面试官对我的评价,然后面试官很nice说基本面不错,给我评价偏正面;2)问了面试官的部门工作内容,balala讲了一堆。然后跟我说,后面可能有人联系你,也可能没人联系你,有人联系的话,可能是他同事,
--------------------------------------------------------二面-------------------------------------------------------------
一,介绍自己及项目:主要介绍自己在TensorLayer框架的制作,贡献,太细节了,导致面试官说本来要问我的都说了
二.基础考察:
1.你知道感知野吗?什么作用?你知道卷积的作用吗?你用过池化层吗?有哪些?
当时一脸懵逼,感知野是神马啊?最后再次确认了感知野其实就是在多个kernel做卷积的时候的窗口区域,就是3个33等于1个77的感知大小。
卷积的作用是提取特征,前面的卷积提取类似于人眼能识别的初步特征,后面的卷积是能够提取更加不容易发现但是真实存在的特征。
Pooling 用过,max pooling, average pooling, global average pooling。再问这个两个分别有什么用?
max pooling我蠢到说提取最有特征的特征,其实就是最具有代表性的特征;average pooling提取的是比较general 的特征;global average pooling用来分类的,因为后面网络的加深,full connected layer参数太多了,不容易训练,为了快速准确得到结果,采用global average pooling,没有参数,但是得到的分类效果跟FC差不多。
2. 讲到这里有点尬,你说你做过爬虫,自己写的还是用的框架?
用的框架,现在基本不用java我觉得我还是要补一补,差不多都忘光了,我所做的就是用Xpath找到爬取的元素,然后保存下来,再用脚本转成待用Jason
3.你机器学习的,知道sequence to sequence吗?
我第一反应是RNN,我说RNN没了解,主要我只做深度学习CNN相关工作,大佬呵呵一笑,说你们要补补基础啊
4. 在线编程:
给个题目你写写吧,不用math中的取平法差,判断一个自然数是不是可以开方(时间复杂度尽量低)?
妈耶,第一反应二分查找
一上去尬了写了一个boolean 然后删除,搞了个def开始写函数
最后问了2个问题,他又问了我2个问题:1,(这次是个P8大佬)在杭州,你工作地点介不介意?(我多说了几句话,开了地图炮,真的内心话)2,你作为tensorlayer的contributor,对标Kreas,优势在哪里?他说Kears底层支持好多库caffe2, Pytorch,等等,我说TensorLayer出发点不一样,怎么样比比了一通方正我觉得没逻辑~感觉自己凉了~因为面试官给我回馈就是你要拓展你的机器学习知识面啊啊啊,我一个搞机器学习被吐槽这样。。。
--------------------------------------------------------三面-------------------------------------------------------------
全程50分钟,主要讲的是项目:针对项目提出几个优化问题;
1.对于提供可以自由裁剪pre-train model,怎么保证你输出的前面部分的check point 参数与模型结构 freeze在一起能在新的任务里,表现好?有没有实验数据支撑?
2.你知道depthwise-CNN吗?讲讲具体原理?那1*1的kernel的作用是什么呢?对网络model有什么影响?
3.你还知道或者学习过那些传统机器学习算法?XGBoost?HMM?SVM等等都清楚吗?
4. 你学过那些基本算法?数据结构的运用?
5. 你是哪里人?老家?籍贯?
6.问我大学经历,未来打算,为什么工作?听出来我想先工作,问我后面想不想读博?
交换问题,1.面试官的工作内容。2.对自己的评价及建议:短时间内展示自己最闪亮的部分(第二天进四面,等待通知
链接:https://www.nowcoder.com/discuss/93959
来源:牛客网
一,介绍自己及项目:主要介绍自己在TensorLayer框架的制作,贡献,太细节了,导致面试官说本来要问我的都说了
二.基础考察:
1.你知道感知野吗?什么作用?你知道卷积的作用吗?你用过池化层吗?有哪些?
当时一脸懵逼,感知野是神马啊?最后再次确认了感知野其实就是在多个kernel做卷积的时候的窗口区域,就是3个3*3等于1个7*7的感知大小。
卷积的作用是提取特征,前面的卷积提取类似于人眼能识别的初步特征,后面的卷积是能够提取更加不容易发现但是真实存在的特征。
Pooling 用过,max pooling, average pooling, global average pooling。再问这个两个分别有什么用?
max pooling我蠢到说提取最有特征的特征,其实就是最具有代表性的特征;average pooling提取的是比较general 的特征;global average pooling用来分类的,因为后面网络的加深,full connected layer参数太多了,不容易训练,为了快速准确得到结果,采用global average pooling,没有参数,但是得到的分类效果跟FC差不多。
2. 讲到这里有点尬,你说你做过爬虫,自己写的还是用的框架?
用的框架,现在基本不用java我觉得我还是要补一补,差不多都忘光了,我所做的就是用Xpath找到爬取的元素,然后保存下来,再用脚本转成待用Jason
3.你机器学习的,知道sequence to sequence吗?
我第一反应是RNN,我说RNN没了解,主要我只做深度学习CNN相关工作,大佬呵呵一笑,说你要补补基础啊
4. 在线编程:
给个题目你写写吧,不用math中的取平方差方法,判断一个自然数是不是可以开方(时间复杂度尽量低)?
妈耶,第一反应二分查找
一上去尬了写了一个boolean 然后删除,搞了个def开始写函数
链接:https://www.nowcoder.com/discuss/111220
来源:牛客网
链接:https://www.nowcoder.com/discuss/111388
来源:牛客网
腾讯
岗位:应用研究(机器学习)
渠道:内推
1、技术一面
电话面
1、自我介绍
2、问本科专业和计算机专业有哪些区别,专业主要是学什么,必修选修
3、问项目,然后聊里面的算法,解释两个最熟悉的机器学习算法,项目里面的特征怎么处理的,为什么用这些机器学习方法去做,样本不均衡的话怎么处理
4、学过哪些机器学习课程
5、关于最优化方面学过哪些课程
6、问牛顿法怎么求解
7、最后问怎么解决过拟合的
2、技术二面
电话面
1、问了实验室方向,所做的事情?实验室的毕业生一般去哪工资?
2、实习允许么?问不是一般放假一个月两个月的么?
3、问一个项目,项目需求、怎么做的,为什么选择LSTM?
4、要写论文么?是实验室强制的么?
5、了解阿尔法狗么?
6、熟悉哪些机器学习算法?
7、决策树有哪些选择最优划分节点的方法?有了信息增益为什么还提出了增益比?
8、模型评价标准,RMSE\ROC\AUC等等
9、平时一般用什么做工程、用什么做算法?喜欢工程一些还是算法理论研究?
10、QT和python怎么结合?
11、C 实现多态的好处,有哪些实现多态的方法?
12、了解推荐算法么?举例说明一般个性化推荐怎么做的?
13、你有什么问题?
3、技术三面
电话面
1、问了实验室的方向,硕士生和博士生都做什么,实验室毕业生有多少?
2、实验室要求不要求发论文?打算在哪方面做研究?举个例子说明想法。我就说了看CVPR上面少量样本学习的那篇文章里面的一些想法。
3、专利内容是什么?并详细了解一个项目。
4、还熟悉哪些机器学习算法?
5、问那你说说决策树分类和回归时候有哪些区别?
6、介绍阿尔法狗的原理
7、了解最近提出的胶囊网络么?
8、对推荐算法有了解么?
9、分类模型评价标准有哪些?追问,AUC可以用于多分类模型么?
10、看过哪些相关的书籍?
11、学习过哪些机器学习课程?
12、平时用什么语言?我一般做算法用python,做工程用C 。追问你用python主要是用scikit-learn库么?我说有的是用了,有的要自己写,比如GMR,RBF,还有的用tensorflow的深度学习框架。
13、你说说C 多态的好处?
14、纯虚函数的用处?
15、虚函数的好处?
16、C 类里面有一个静态成员,那么有什么特性?
17、哪里人?
18、做过笔试么?觉得考的怎么样?
19、最后说两个月的实习有点短啊,我解释了原因,说不让出去实习,实验室允许请假一个月才有两个月的机会。
4、技术一面
现场面
1、实验室方向是做什么的?
2、python交换数字a,b
3、python对一个列表删除所有为0的数字
4、python怎么定义一个类的成员变量
5、linux怎么删除一个进程?那么进程号怎么知道呢?(grep)
6、linux命令怎么查看硬盘太小
7、LR和SVM的区别,当聊到损失函数,问分别是什么?hinge损失函数里面的z是什么?
8、决策树里面的分类树怎么选择划分属性,给了两个属性分布情况,问选择哪个?
9、决策树做回归时候划分点怎么选择?
10、LSTM对于RNN的改进地方在哪?解决了RNN的什么问题?(梯度弥散)
11、那么RNN的梯度爆炸怎么解决?
12、LSTM的结构,里面的遗忘门是一个数值还是向量?维度是多少?
13、python写一个函数,实现给定一个列表,把列表所有0移到列表最后面,其余相对顺序不变,要求时间o(n),空间o(1)
14、python写一个函数,实现有1T 的数据,10亿个不重复单词,给你一台机器,16G的内存和5T的内存,怎么统计每个单词的个数?
15、补充一个还有LSTM你用的优化方法是哪个,我说是Adam,他问还有哪些,我说SGD等等,他问GD和SGD的区别了
5、技术二面
现场面
1、不打算读博么?
2、能够实习几个月?
3、为什么用到LSTM?
4、解释一下AUC(ROC的面积),从概率上面的解释一下?
5、解释一下交叉熵
6、解释梯度消失和梯度爆炸问题,然后怎么避免?
7、解释一下模型训练里面的偏差和方差对于训练的意义?
8、用了gcc没?
9、用过python没?用了,zip作用,说打包。numpy里面的list的引号是什么意思?不知道问的是啥。
10、自己在学习中比较高兴是什么时候?
11、有没有关注最新科学界动态?讲了一篇CVPR2018的文章
12、你有没有什么问题?我问您是哪个部门的?
6、HR面
现场面
1、从2016年以来就是一直在做舰艇自适应决策是吧?这个是和企业合作么?什么时候做完?能来实习么?
2、专业属于哪个学院?计算机还是软件?
3、家在哪?家里面还有没有兄弟姐妹?
4、还面了其他的公司么?
5、主要熟悉的是tensorflow是吧?
6、为什么没有看见论文呢?之前没有计划发是吧?
7、平时怎么学习机器学习算法的?
8、没有考虑做竞赛么?目前在做算法比赛
9、有什么问题
链接:https://www.nowcoder.com/discuss/128590
来源:牛客网
一面:
讲项目
特征选择的常用方法
bagging和boosting的区别
手推逻辑回归
过拟合的解决办法,以及在你的项目中怎么用的
L1和L2的区别 L1为什么能稀疏矩阵 L2为什么不能,L2为什么能解决过拟合
gbdt,xgboost模型的比较
lstm和Rnn区别
梯度消失的解决办法
手撕代码:链表反转 最大子序列和
智力题:马匹赛跑 25匹马,5个跑道,没有计时器,要找出前三名,最少要比多少场,答案是7
二面:
手推gbdt
手推xgboost
手撕代码两个有序数组,求其中位数,然后改进时间复杂度
LR和svm的区别
场景分析题,如何对新闻进行实效性分析,怎么挖特征
lstm.每个门的公式还会写吗?我说不记得😁
还有一些小问题记不清了,,,
链接:https://www.nowcoder.com/discuss/93329
来源:牛客网
- 自我介绍
- 介绍觉得做的最好的的一个项目
-
算法题:如何判断单链表中是否有环?
是个很经典的面试题,可惜没有答出来,面完后同学说了思路:用快慢指针或者哈希表。对于快慢指针方法,如果单链表存在环,快、慢指针必定会在环中的某个结点相遇;对于哈希表方法,可以使用STL的map将链表结点指针映射成map下标,每访问过一个结点p,就将m[p]赋为1(m[p]初始为0),若在访问某个结点时其m[p[已经被设为1,说明已被访问过,即有环
参见:https://blog.csdn.net/cyuyanenen/article/details/51712420 - 机器学习中L1和L2范数各有什么特点以及相应的原因?
L1范数更容易产生稀疏的权重,L2范数更容易产生分散的权重,原因一般从公式角度或者几何空间角度去解释
从公式角度解释:深度学习花书7.1节(202页左右)。带L1正则化的最优参数w=sign(w星) max{|w星|- a/H , 0},其中w星代表未正则化的目标函数的最优参数,H代表海森矩阵,a是正则化系数,只要a足够大,w 星就会在更大区间范围内使w变为0,而带L2正则化的最优参数w=H/(H+a)▪w星,只要w星不为0,w也不为0.
从几何空间角度解释:绿色等高线代表未施加正则化的代价函数,菱形和圆形分别代表L1和L2正则化约束,L1-ball 与L2-ball的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的"等高线"除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性。相比之下,L2-ball 就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小
ps:其实L1和L2范数的问题感觉解释的还不是很清楚,如果有朋友有更好的解释,欢迎留言交流~
- 简单自我介绍
- 家是哪里的?
- 本科的成绩怎么样?
- 自己觉得一面的表现如何(我说表现一般,在介绍项目的时候答得还可以,但后面的算法题没答上来,机器学习的题目也解释的不是很好)
- 面试官说他之所以问这个是觉得我一面的实际表现与优秀简历不是很相称,问我原因是什么?(我回答说自己非计算机专业出身,算法和编程能力并不是很强,而且研究生阶段导师无法给予实际的指导。ps:其实我想说遇到了一个比较坑的研究生导师,非但不能给予实际的指导,有时还会乱指导)
- 对vivo的了解是怎样的?(吹了一波vivo的手机和企业文化)
- 期望的工作地是哪儿?
- 最后有什么问题想问?(就简单问了下结果什么时候出来,面试官说20多号左右)
链接:https://www.nowcoder.com/discuss/93521
来源:牛客网
一面:
(1)自我介绍
(2)介绍项目,介绍了一个CTR项目,针对项目提问题
特征选择,特征工程,随机森林是怎样重要筛选特征的,RF/XGboost/GBDT区别,树模型如何处理缺失值和连续值,模型融合stacking
(3)手写代码,简单题目,有序数组的二分查找(重复数字返回第一个),二叉树相加,是否子结构,都是leetcode easy题目,写得有点慢。。。
二面:
(1)自我介绍
(2)介绍项目
(3)给定一个项目,如何分阶段完成
(2)列举两个优点和缺点
(4)保研还是考研,为什么不能保研
(5)在实验室早上几点去,晚上几点回
(6)工作地点
(7)我去了两个公司实习,比较一下这两个公司
(8)如何看待你应聘的岗位
链接:https://www.nowcoder.com/discuss/90245
来源:牛客网
知道应该在面试完及时整理面经,方便自己也方便他人,但是懒癌发作一直没有下手。(懒癌怎么能找到好工作呢?!)今天下午刚刚结束了作业帮一面,回来总结一下。
1)科大讯飞合肥大数据中心,本来投的是北京的研究院但是被Hr分到了合肥,就索性面了。
2)作业帮提前批机器学习算法岗,没有自我介绍,面试官拿着之前提交的电子版的简历,问项目。问了项目的分工情况,然后开始逐点问,对数据预处理怎么填充的缺失值,哪些判定为异常值,对连续属性进行离散化有什么好处,Logistic回归能处理浮点数吗?多项式组合特征对哪个模型中效果提升最大。这个没答上来,问了面试官,面试官说是Logistic回归里面提升最大,而且组合起来的两个特征也是想出来的,没什么理论支撑。还问了模型的评价指标AUC是如何计算的,ROC曲线的横纵坐标代表了什么含义。XGBoost模型里面参数有哪些?如何发现过拟合。XGBoost模型中对数据进行采样的好处?主要是针对简历里写的不清楚的地方提问的。给了一个编程题,如何最快的在循环有序数组中查找某个值,在纸上写,怕各种陷阱,迟迟不敢下笔。然后又给了一个算法题,如何最快的找出两个集合中的交集,提出用哈希表的方法,问了这种方法的复杂度,然后又问如果这两个集合都特别大,不能再内存中构建哈希表该如何做?可能是想让我回答多线程相关的内容,但是我不会。如何设计哈希表?期间也问过有编过多线程多进程的代码吗?没有。。。然后面试官总结数据结构基础知识不扎实,写代码太慢,说可以推荐我去数据分析岗,被我拒绝了hhhh
面试官说的没错,确实基础知识非常欠缺,而且很多问题都没能给出正面回答,秋招之路还很漫长!明天面试ThoughtWorks,听说巨难,很慌张。。
链接:https://www.nowcoder.com/discuss/94930
来源:牛客网
链接:https://www.nowcoder.com/discuss/99349
来源:牛客网
一面 算法题 两条链表求第一个公共节点。
逻辑回归推导
最大似然及交叉熵
正则及各自优劣
评价指标及含义
问了一个实习的项目,40分钟,过。
二面,
问了kmeans的计算过程及复杂度
剩下全程问项目,基本全程自己讲,40分钟过。
三面,总监面,主要问了问之前实习怎么跟pm对接需求,在每项工作中参与的程度。简单介绍了下每个项目背景和业务价值。
场景题:网易云音乐评论的个性化推荐。40分钟,过。
链接:https://www.nowcoder.com/discuss/97260
来源:牛客网
链接:https://www.nowcoder.com/discuss/102265
来源:牛客网
- 实习项目介绍;
- 比赛细节介绍;
- 特征与模型的相关性如何计算与表示;
- 深度学习特征的hash搜索算法时间复杂度;
- lightgbm的特性以及学习函数;
- Adaboost学习策略;
- 决策树种类以及分裂方式;
- RF与lightgbm的区别;
- 代码题:求二位矩阵中连通1的最大区域;
- 先写一个A的B次方然后模10e7;(我写了一个logB的算法,最后在这个基础上他说有什么改进,然后从A和B两个方向上改进了。并且还让我推导正确性)这个题看起来比较简单,不过还是挺有挖掘深度的。
- 比赛介绍-然后开始问我怎么处理特征的,怎么选模型的,收获是什么。接着问我队伍名称是什么,最后得分怎么样(好吧,问的这么细?~最后他说比赛第三名他认识~原来如此)
- 再次介绍实习项目;
- 然后问了第一个实习的公司相关的情况;
- 给了建议:说我的简历里面的项目跨度太大,以后找其他工作的话最好能够根据岗位来写自己的项目~~(感觉很好啊)
- GBDT、lightgbm、xgboost等的特性;
- ACM队伍中担任什么角色,DP?那写一个DP的题目吧:一个环中有N个结点,每个结点有一个价值,选择结点价值最大(选择的结点不能挨着)。
- 对快手的了解
- 对将来职业的规划
- 现在面试了哪些公司
- 我问了快手现在的发展情况,然后HR给了相应的解答。
链接:https://www.nowcoder.com/discuss/101927
来源:牛客网
链接:https://www.nowcoder.com/discuss/124931
来源:牛客网
链接:https://www.nowcoder.com/discuss/108820
来源:牛客网
- 支持向量机SVM
在整体框架上,首先要知道SVM的学习策略是间隔最大化,可形式化为一个凸二次规划,等价于正则化的hinge损失函数的最小化问题,最后通过SMO方法解决接下来可根据李航的统计学习方法或者周志华的机器学习的SVM章节从头开始回忆细节。可根据以下问题串联算法原理细节。
1、函数间隔和几何间隔的区别?
分类超平面可表示为wx+b,y为分类类别(1/-1),其中函数间隔(function margin)为y(wx+b),可代表距离超平面的远近即为对样本分类的确信程度。此时会显易见想到如果成比例改变w,b,虽然没有改变分离超平面但是会增加函数间隔,所以需要对分离超平面进行规范化即除以||w||,得到几何间隔。https://blog.csdn.net/maymay_/article/details/80263845
2、怎么得到svm目标函数?
基本思想为相近样本点使其最大间隔化,这样确保距离超平面很近的点能有足够大的区分度。即为最大化样本(xi,yi)之间的最小几何间隔。实际上以上思想是对数据结构化分布做了描述。
3、 什么是kkt条件? 什么是支持向量?
将含由不等式的约束问题通过拉格朗日法得到了无约束问题,此时得到了KKT条件,通俗来将有以下几个条件
(1)拉格朗日式L对各个参数求导为0
(2)等式约束f(xi)为0
(3)拉格朗日系数alpha>=0
(4) 拉格朗日系数alpha 与不等式约束式子g(xi)的乘积=0
可由以上可的,当alpha>0 时,g(xi) =0即其解x向量就是支持向量这里同时说明支持向量机只依赖于alpha>0的样本点,其他样本点对其没有影响,说明支持向量对噪音不敏感
4、 什么是松弛变量?
所有训练样本并不是线性可分的,意味着不能满足函数间隔大于等于1。为了提高容错率使得函数间隔加上松弛变量 sigm且sigm>=0 。对于每个松弛变量需要支付代价,则改变目标函数+C sum(sigm),其中C为惩罚系数,C越大表示误分类的个数越少。
5、 为什么推到成对偶形式?
(1) 对偶问题更容易求解(2) 能够自然的引入核函数,进而推广到非线性问题6、核函数的作用是什么?有哪些核函数?如何选择核函数?
(1) 什么是核函数?
特征函数为将欧式空间映射到希尔伯特征空间, 核函数K(x,z)就为特征函数的内积。核技巧为只定义核函数K(x,z),不定义映射函数, 通过核函数直接计算映射函数的内积。2 核函数的作用?
将低维的欧式空间映射到高唯特征空间,将线性不可分在高维特征空间中变得线性可分,在svm中拉格朗日对偶问题中的内积xi*xj 可以用核函数代替 。核函数可将两组数据映射为核空间内的两个点,看两个点之间的距离判断是否为同一分布。3 有哪些核函数?1)高斯核函数RBF: 其嵌入空间(embedding space)非常丰富,使得原空间的不同分布能够映射到不同的点.核函数能将连续函数空间填满的kernel叫做general kernel.2)多项式核函数:多项式函数不是general kernel. 因为更高阶的多项式不能由低阶多项式的线性组合构成3)字符串核函数(string kernel function):核函数不仅定义在欧式空间,还定义在离散数据集合. 字符串核函数是定义在字符串集合上的核函数
7、 模型的优缺点?
优点:
1 、基于结构风险最小化原则,正则化的合页损失函数(当样本被正确分类且函数间隔(确性度)>1 的时候损失数为0,否则损失函数为1-y(wx+b)),有更好的泛化能力2 、在对偶问题上可以使用核技巧,避免了高维空间的复杂映射3 、SVM问题是凸二次规划函数,可以求得全局最优解缺点 1 、有较大的空间消耗,主要是储存训练样本与核函数,适用于训练小样本
- 逻辑回归 LR
1、为什么可以用(要用)sigmoid 函数?
(1) 为什么可以用: Sigmoid函数定义了逻辑回归的条件概率,<w,x>的内积代表数据属于正类(y=1)的确信度。<w,x>越大则x属于正类的确信度越大。由于建模需求,需要将<w,x>从整个实数空间映射到条件概率P(y=1|w,x),Sigmoid 函数单调递增能反映确信度,并且能够将实数空间(-无穷,+无穷)映射到(0,1)区间内,能表示概率意义,更加直观。
(2) 为什么要用:指数分布具有最大熵的性质,即在满足前提假设下的分布,分布越均匀越好.在逻辑回归中认为P(Y|x)服从伯努利二分布,并且P(y|x)=f(wx),可根据最大熵的性质推出sigmoid函数。
2、 逻辑回归对于多分类怎么做?
P(y=k|x)的概率分布,等价于softmax,计算在哪类的概率值高。
3、逻辑回归能否解决非线性分类?
(1)非线性超平面可通过变换替换,使得超平面关于新变量线性。(2)逻辑回归不是wx+b这样的形式,需要变换为有内积的对偶形式,再利用核技巧。但LR对偶形式系数不稀疏,但是svm对偶形式系数是稀疏的,所以当线性可分会选择svm4、逻辑回归有哪些应用场景?在特征很多的场景,比如上亿 - 决策树
1、 如何生成决策树?
决策树思想:表示给定特征条件下的条件概率分布,分类即将该节点分到条件概率大的一边,决策树是一个递归选择最优特征的过程,特征将训练机划分成子集,在当前条件下该状态是最好的分类 1)若子集能被正确分类,则构造叶节点 2)若自己没有完全被正确分类,则对自己选择新的最有特征(递归过程) 终止条件:直到所有训练子集能被正确分类
2、 决策树属性选择的方法?
1)信息增益2) 信息增益比3、什么是ID3 ID4.5 CART?
特征分裂准则:信息增益(熵H(Y)-条件熵H(Y|X) :即已知特征X后Y的信息量减少的程度
ID4.5:由于信息增益选择取值较多的特征问题,使用信息增益比进行矫正
CART分类回归树,回归树特征选择标准为最小化平方误差,分类树则为吉尼系数,吉尼系数越大不确定性久越大。
4、 决策树如何后减枝?
损失函数为C(T)+a|T| ,其中C(T)是训练数据的预测误差,|T|为叶子结点的个数,a为权衡模型复杂度的系数。对树任意内部节点,计算以t为单节点的损失函数 与 t为根节点的损失函数,并且由此计算减枝后整体损失函数减少程度。5、 决策树的优缺点?
缺点:(1)噪音对决策树生成影响很大,我们所希望的分类器对噪音是健壮的。( 2)决策树是基于贪婪算法,难以找到全局最优优点:(1)对数据类型和缺失值,离群点鲁 (2)可解释性很强,抽取分类规则路径
6、决策树的适用场景
中小型数据集,适合小特征量。若特征量过多则可能被剪枝。 - 决策树集成算法
1、 什么是adaboost?
Adaboost是提升方法的一种特例,其算法主要思想为:
(1) 、一个弱分类器在每一轮训练过程中改变数据的权值分布,即提高前一轮被分类器分错类的样本的权值
(2)、将多个弱分类器组合成一个强分类器,即加大分类误差小的弱分类器的权值算法模型为加法模型,不能直接用SGD优化方法更新权重,故用前向分步算法更新权重。
2、 什么是GBDT?
重点是新的模型是在之前模型的残差往梯度方向走
3、什么是xgboost?
(1) 为什么xgboost是对误差进行建模?xgboost是集成学习boosting框架下的学习算法,因为特征空间是用分段函数去逼近的,所以采用additive training去学习我们的模型。additive training 是第t轮的模型预测=第t-1轮的模型预测+新的函数f(t),新的函数就是我们所学习的,其中q为叶子索引代表树的结构,w为叶子结点的权重,所以新函数为特定的叶子结点的权重
(2) 如何学习新函数通过最小化目标函数得出新函数,目标函数是基于结构风险最小化原则,目标函数=误差拟合+模型复杂度
对误差拟合函数二阶泰勒展开,对模型复杂度包含(叶子结点数 和 叶子结点权重)最后通过对目标函数求导 得到最优权重(该权重与一阶与二阶信息有关) 以及 已知权重下的目标函数(打分函数)(3) 如何生成xgboost?
选取最优特征,在最优特征下寻找最佳属性分割点,评判标准为类似于吉尼系数形式,递归生成树
(4)xgboost有哪些参数?
-学习率 eta :学习率越小,迭代次数越多。-最小孩子权重 min-child-weight:控制叶子结点中二阶导数和的最小值,即样本的数量越少(由于h大约均在0.01附近),越容易过拟合-最大深度 max_depth
-最大叶子结点数 max_leaf_node-后剪枝参数gamma
-L2参数lambda
-L1参数alpha (控制模型复杂度)-样本随机采样 subsample;列采样比例 colsample_bytree
(5)xgboost 有哪些优点?
-树节点分裂方法,利用近似算法,二阶导数为权重值的分位数作为切分点-自动学习特征缺失值的方向-列抽样(借鉴随机森林),行抽样-学习率(eta)的shrinkage,增加迭代次数-自定义损失函数-特征预排序
(6)xgboost和gbdt的区别?
1)GBDT是以CART作为基分类器,xgboost支持线性分类器,其中线性分类器的xgboost相当于正则化的逻辑回归(分类问题)或线性回归(回归问题)2)GBDT的目标函数含有一阶信息,xgboost的目标函数含有二阶信息,最小化目标函数可得关于函数空间f(t)的梯度迭代或牛顿迭代,牛顿法能更快的收敛。同时xgboost加入了正则项,控制了模型的复杂度。(7) Lightgbm对xgboost有哪些改进?
-Histgram算法 将浮点型数值离散为K个,统计离散值的累积量,遍历直方图找最优特征分裂点
-直方图加速:叶子结点的直方图可由父亲结点的直方图与兄弟结点的直方图做差得到
-leave wise 选取信息增益最大的叶子结点继续分裂(容易过拟合,利用max_depth参数控制)
- 深度学习
(1) 什么是卷积网络?什么是vgg16-19 ?
vgg16有同样大小卷积核3*3和2*2池化层,最后三层为全连结,全连结耗参数,卷积耗时间,在每次卷积后均有Relu激活函数进行非线性映射。
(2) 为什么多次小核要好于一次大核?
增强非线性映射
(3) 什么是ResNet?
神经网络存在退化现象(degradation),即会随着深度增加达到饱和后,再持续增加深度准确率下降(测试集和训练集准确率均下降,故不是过拟合).
为了解决这个问题,引入了残差但愿,一个残差单元学习的目标为输入和输出的差别H(x)-x,而不是完整的输入H(x)
链接:https://www.nowcoder.com/discuss/106725
来源:牛客网
链接:https://www.nowcoder.com/discuss/138721
来源:牛客网
个人背景
211本985硕,本科是嵌入式方向,大学四年沉溺于电子设计竞赛,主要做挑战杯、电赛等等;研究生导师主要偏工程,天天做项目。2017年9、10月份,看实验室一位师兄找机器学习方向工作,自己看书了解了一些机器学习的算法,感觉挺有意思。刷了几本入门书之后,拉了本科做电赛同学参加了两个国内数据挖掘类竞赛, 一直做到了12月份,一个Top5、一个Top20. 后来在天池上又做了一些,但都没进Top30.
实验室往届师兄很少去互联网公司,缺少秋招经验,自己至到7月份,才开始上牛客网找面经、刷题,认真准备秋招。
7月初,在牛客网上找了很多机器学习岗的精华贴,自己进行了总结(几个关键点):
1. 科班出身,实验室有机器学习相关项目,有相关论文发表;
2. 大厂算法岗实习经历;
3. 数据挖掘类竞赛Top10;
4. 机器学习算法原理熟悉,代码能力强;
结合自身情况:
- 1 实验室做的项目更偏向于硬件, 论文更是没有;
- 2 之前师兄没有实习的先例,导师可能也不让(其实现在想想,应该和导师沟通一下的,两个月可能也会给,主要实验室之前没人出去实习);
- 3 有个Top5,还有几个Top30的;
- 4 机器学习算法原理及面试代码题;
主要是从3&4进行提高, 3就是总结自己比赛项目,从赛题背景到具体算法原理,都进行了总结(对每个比赛都单独建了一个文档,按照STAR法则进行总结,随着面试经历的增加不断进行更新); 4是反复刷《统计学习方法》、《机器学习》、《机器学习实战》等几本书,特别是牛客网上其他同学的面经,会对照着进行回答,并把经典面试题目做个文档进行总结;面试代码题这一块做的不是很好,只刷了《剑指Offer》和一百多道leetcode题,后面吃了不少亏;
offer情况
offer: 搜狗、网易、快手、欢聚时代、科大讯飞、其他非互联网公司
面试挂:阿里、百度、头条、美团、途牛、老虎证券、蘑菇街、大疆
还有些小厂笔试和面试都放弃了
面试情况
-
大疆(算法工程师):最早一批,电话面,面到一半才听出来对面有两个人,而且当时面试环境也不好,实验室楼上装修打电钻,很多问题都没听清,其他同学才20多分钟,我这边一面进行了50多分钟。 面试官并非机器学习算法工程师,问题更像是控制方向的 一面挂
-
途牛(数据挖掘/机器学习岗): 微信视频面,主要是介绍比赛,针对比赛提问,然后有一些场景问题,自我感觉聊得还行;一面挂
-
阿里内推(机器学习岗): 一面,看黄渤“一出好戏”时在电影院面的,问的很详细,从专业到课题研究方向,再到比赛项目,然后他们团队在做的事情,面试感觉挺好,聊了将近一个小时,聊完感觉还行,进去看了个结局;隔天二面,感觉是本科校友,主要也是从专业,学校一些基础聊,介绍项目等等,问了些机器学习算法,深度学习是否熟悉等,没啥特别难的问题,30多分钟结束.(面完感觉不太对,时间太短了,果然又隔了一天,变成“已回绝”) 二面挂
-
美团提前批(算法岗) (也是看“一出好戏”时,接到面试邀请的,整场电影估计就看了30、40分钟吧):简历投递的时候S-B了,填的都喜欢,还好被捞起来了。一面感觉是简历面,跟阿里面的差不多,主要是项目介绍、针对项目问些问题、常见机器学习算法原理、调参技巧、深度学习是否熟悉等等;二面等了好多天,牛客视频面试,感觉这个面试官应该主要是做开发的,机器学习方面不是懂太多,出了两道代码题,讲讲思路,然后介绍常见的机器学习算法原理,差不多50多分钟吧,跟我说待会儿三面;三面,三面面试官说他就是之前的一面面试官,捞的我,然后继续聊了机器学习相关算法原理、比赛项目细节,出了两道代码题,因为一面聊过,差不多30多分钟就开始聊聊他们团队正在做的事情,完了让我等着待会儿总监面;四面?, 应该是小boss吧,主要聊聊人生、职业规划等等,中间穿插了数据库的问题(但是数据库真的懂的不多), 差不多30分钟的样子结束; 四面挂
-
腾讯内推(算法岗): 师兄帮忙内推的他们团队,等了好久才通知面试,那几天每天都看手机,生怕错过了,结果被鸽了一个星期都没面,进度直接超时变灰。 秋招选的部门组织调整,直接没给面试机会?被鸽
-
头条(算法岗):参加了第一场笔试,AC2道吧,给了面试机会;一面,是个年轻的面试官,说话很有条理,主要是从简历上项目开始聊,穿插一些机器学习算法原理等等,一道代码题;二面,研究生校友,听说是校友,上来就先给了一道概率题,编程求解;给了提示才吭哧吭哧写出来,让再改进改进;(其实碰到数学题就开始崩了,这个时候脑袋里更是空了,根本没有思路), 面试官说就这样吧,还有一道更难的还没出呢,就结束了,整个过程大约20分钟左右吧;随后HR小姐姐打电话过来说期待春招再见。二面挂
-
老虎证券内推(python开发岗):这个完全是内推投错岗位了,python开发工程师,整个过程很尴尬,我介绍项目,面试官不太懂,而且我也不太懂开发的东西; 一面挂
-
蘑菇街内推(算法岗):一面:牛客网视频面,面试官很年轻,自我结束、项目经历,最后写代码,讲了思路,代码没写出来,换了个简单的,写完结束面试; 一面挂
-
网易提前批(算法岗):笔试AC了0.8?,给了现场面的机会,去之前看了牛客网上讲面试体验不太好,然后岗位也不是太匹配,担心千里送人头;其实面试官和前台小姐姐都挺好的,还蹭了前台小姐姐小饼干吃,网易食堂也挺好的。 一面,自我介绍,讲解比赛,针对比赛进行提问,算法原理、特征工程怎么做的等等,接着聊了他们目前所做工作,给了场景题,怎么解决,没有手撕代码;二面,算法公式推导,特征工程怎么做的,特征如何筛选,手写一道代码题;HR面,男的,全程在打字,偶尔抬头问我问题,面完感觉是要跪的,所幸后面给了offer. offer
-
百度(算法岗):现场面,一面,常规操作,介绍项目,针对项目提问;然后是场景题;最后手撕代码,第一道没写出来,换了一个简单的,写了好几种方法,结束;一面挂
-
搜狗(算法岗): 现场面,一面,自我介绍,针对项目进行提问,算法原理,手撕代码,介绍他们目前所做工作;HR面,大概是我遇到的最专业的HR了,各种专业术语说的比我还6,常规问题; offer
-
快手(算法岗):牛客网视频面,快手大约是头条之外感觉最难的面试了,一面,内推到了机器学习平台开发工程师,上来问了些机器学习算法原理,3道代码题;二面,联系HR更换到数据挖掘岗,介绍比赛经历,常见机器学习算法原理,是否用过Hadoop、spark等等,2道代码题;三面,总监面,聊聊项目、职业规划、为什么选择数据挖掘岗,算法原理(问的非常仔细,比如熵的物理意义等等), 3道代码题,有一个没写出来;HR面,常见问题、手里有哪些offer, 对快手产品是否了解(这里作死说和抖音类似,后面马上被问两者区别。。。); 过了几天,给了口头offer; offer
- 欢聚时代:现场面,一面,介绍比赛经历,机器学习算法原理,公式推导,场景题,针对项目进行提问;二面,全程问算法原理,同时边介绍,边进行公式推导(问熟悉的机器学习算法有哪些?回答一个就要推一个公式,后面只敢说些简单的模型~),一道代码题;HR面,常见问题;四面,总监面,现场面完HR面之后就回去了,当晚通知面试通过,进行总监面,20分钟,主要是自我介绍,聊聊他们团队正在做的事情;offer
作者:所以只能好好学习天天向上
链接:https://www.nowcoder.com/discuss/138577
来源:牛客网
链接:https://www.nowcoder.com/discuss/138474
来源:牛客网
因为代码能力比较差,论文还是发了不少,所以楼主很早就确定了要找算法工程师岗的目标
也问了历届师兄师姐都去了什么地方,怎么做准备的。去年的时候看着师姐师兄找工作似乎挺简单的,就想着到时候找个工作应该不难,结果后来才知道师兄师姐有笔试的公司基本都没投。。哭死
其实是三四月份开始投简历的,当时想着找个大厂的暑期实习,就开始各种投,做了一堆笔试,但是当时也没有刷过题,所以就看着一堆编程题,想着春招的时候就感受一下为秋招积累经验吧。。。。上半年就一直在做老师的项目,一直被催着出一篇文章。到了五六月份的时候面了几个实习,第一个面了携程的挂了,后来拿了华为的、上汽的,其他的笔试那么烂肯定都没消息的,然后老师一直让写论文不给实习。
七月出国开了个会回来感觉再不实习来不及了,就在实习僧上狂投了一波,面了好几家,sap、阿里的一个做自动驾驶的斑马网络、阿里的外包、平安科技8.6、金融一帐通、森亿智能等等积累经验,不太想去或者面不到,就拖到八月初了,感觉提前批都开始了怎么还能继续拖着呢,就没去实习开始补面试中遇到的不会的问题,被问死的东西。看过的东西记不住,就开始总结,写博客
那时候感觉一堆要补的,简历也要改,还有很多提前批的开始了要开始投,就很忙很忙。很早之前就知道要刷题刷leetcode,有人告诉我寒假就要开始刷题了,但是我就一直拖着,直到面试了让手撕代码,就完全一脸懵逼了。于是暑假了才开始刷题,看书。买了周志华的西瓜书,李航的统计学习方法,看网上的机器学习常见面试题,查面试不会的东西,复习简历里的项目和论文,同时还要稍微继续做做自己学校的项目。。。
然后就开始投简历,因为编程差,怕投算法找不到工作,又因为觉得算法比较有发展前景所以只想投算法的,到目前为止差不多投了五六十家吧,拿了5个offer,还有一些没去面的就不管了
面试一个个数一下吧,流水账
阿里:
找师兄内推了蚂蚁金服,电面了一下挂了,说对算法理解的深度不够,还说我态度不好。。。。。可能楼主说话的语气平常没有练习好。。。感觉阿里大佬问的确实很深,直接问算法的本质是什么,哑口无言不知道怎么回答
又内推了口碑,简历挂电面都没
面经 https://www.nowcoder.com/discuss/138543
大疆:
7.28
没有上海的机器学习算法岗,我就投的图像岗
七月份的提前批
似乎有个笔试,完了电面问了简历,挂了
面经 https://www.nowcoder.com/discuss/138428
腾讯:
7.29
后来正式秋招笔试觉得做不过就没仔细做
认识携程的面试官,顺便帮我内推了腾讯优图医疗组,但是说当时八月中下就已经没hc了。。。。。
百度:
提前批投了面了2次
第一次面凤巢8.10,2面就挂了。问我分布式用过不,计算机操作系统学过不,我都没用过,凉凉
第2次是垂直行业搜索部门8.13 面经 https://www.nowcoder.com/discuss/138427
爱奇艺:
8.20
提前批 openday去的爱奇艺 没图像算法,就投了推荐 真的是 面试官看了我的简历说,你知道你投的是推荐吗 项目都不想问我 出了个算法题我写不出,就凉了
浙江大华:
提前批,八月吧,2个电话技术面,1个hr面,拿到了offer,让签两方,还有违约金。但是觉得价钱太少了而且后来发现上海只有算法岗的办事处,不能落户,就拒了
不过是拿的第一个offer,还是给了一波自信的
携程:
三月面过一次,当时准备的不好,还没睡醒。让画网络结构,不会,又问了别的也不太会,就挂了
提前批8.21,面了一面,说我方向不太对,所以换了3个面试官,讲了项目,问我了解别的xgbt,逻辑回归之类的不,大概讲了下,面试官不是很满意。但是之前参加一个活动给大佬内推了一份简历,所以过了一周先通知我去二面,还没面,过了几天跟我说我面试通过了。。。。直接发了提前批意向书。。
算法二面卷子 https://www.nowcoder.com/discuss/138438
网易:
内推的提前批线下笔试了一下 挂了 8.11
笔试题 https://www.nowcoder.com/discuss/138437
游族网络:
提前批,8.14,随便面的,介绍项目,感觉还没我面实习难。。。面试官说专门下载看了我发的论文。。。。我很惶恐。。
面试官很年轻,聊的时候说那边做数据的比较多,组也比较小,十几个人,我自己感觉不是很合适
复旦微电子:
8.29
提前批
刚去北京京东参加了三天比赛会学校立马面的
噼里啪啦问了一堆问题 面完就跟我说凉了
问了问多xxx应该怎么做。我又没做过= = 就瞎扯
美团:
听说不怎么招,同学去面还挂了,只能面一次,后来就没行动
头条:
笔试太太太难了直接凉凉
小红书:
笔试了,第一批没叫我去面试,10.27第二批叫我去面我没去
拼多多:
不喜欢这公司,没投
唯品会:
岗位投错了,9.15让我去面数据挖掘,当时拿了其他offer就拒了面试
DELL EMC:
提前批现场面了一次,1小时代码卷子,+聊天
发现公司是做存储的,机器学习不太做,hr就给换了个组
过几天电面了一次,后来九月15让我去公司笔试面试,我也没去
ebay:
九月才开始校招
参加宣讲会拿了面试直通卡,10.23去面了下
分搜索,支付,大数据三个大组
面了还没出结果。自己感觉方向不是很匹配
寒武纪:
笔试发现是c++,就没做
滴滴:
九月才开始,就没投
360:
提前批投过,笔试考一堆操作系统,计算机组成啥的,不会,凉
华为:
实习投了过了要改文章就没去
优招因为实习投过所以流程不对不能投
秋招一面1小时,2面综合面,完了又喊我专家面,四面总裁面,等结果中
联影:
三月实习投过,地理位置太偏了,方向也不喜欢,技术比较传统。但是联影张江我没投,可能会好点
sap:
投过实习,感觉投的那个技术一般般,乱乱的,过了实习面试没去
科大讯飞:
笔试凉
英特尔:
叫我去笔试的时候有offer了,就没去笔试
思科:
见面会去面了一下,说只招1个人,没拿到直通卡,笔试全英而且当时有offer了就没做
招商银行信用卡中心、海康、触宝、 :
简历挂???可能是专业不能改所以看起来不对口的问题
交通银行、兴业银行、xx银行:
喊我去现场笔试/在线笔试,考的很计算机基础知识,不想做/不想去了/瞎写了
英语流利说:
笔试挂 方向也不太契合他们做语音的多 我做图像
b站:
提前批,九月中旬3技术,1hr面
拿了offer。
做广告算法的,不喜欢,组也不大。leader看起来不错,薪水开的不错。不过不喜欢,拒了
亚马逊、微软:
不敢投
商汤、旷视:
斗胆内推也是挂
58赶集:
笔试题奇葩,就c++,没做
上汽通用泛亚:
做自动驾驶的,拿了暑期实习offer。钱太少了。。一天才100 没去
VMware:
软件开发岗 英文笔试题 考一堆数据库、操作系统、计算机组成,不会,挂
图玛深维:
面了3小时,创业公司,后来没消息了
欢聚时代:
上海没图像,投了推荐
面试时候说我知道协同过滤,面试官问我别的还会啥,我不会了。。。。。写了个代码也没写好,挂了
室友拿了他家的nlp,钱很多
汇顶科技:
笔试后快两个月了让去面试
本来不想去,说可以给的比华为多,就去面了
感觉面试官不咋感兴趣我的项目,凉了
第四范式:
面AI反欺诈,2个视频面,过了,三面部门leader问我想做啥,我说做图像但没找到岗位,他就给我推过去了图像组,又4面了下过了,5面是联合创始人,问了几个技术原理,没回答好就挂了
这公司很奇怪,不让去公司面,2次临时约半小时后的时间电面/视频面,反正也没过,这公司后来的事情大家也都知道了= = 总觉得怪怪的
中兴:
没去面,感觉这公司要凉,而且基本没图像岗位
平安科技:
面了3天,做医疗图像,方向特别匹配,1技术,1 leader,1hr面,每天一面,不去算弃权。。 最后拿了offer,给的也不算少
总结:
5个offer,自己一般满意吧。如果早点刷题可能会有不一样的结果。但是没有那么多如果
建议:
关注招聘公众号,每个公司都有,会有一些活动。比如爱奇艺开放日,京东的比赛,阿里大文娱的开放日,很多同学都不知道
抓住机会多参加活动,openday,讲座开放日。我携程的offer就是参加活动捡的。。。
传说给的很少的公司可能也会突然给的很多,比如平安科技、b站
多刷题,早刷题,多看书,看原理,手推公式,手写代码
自己的项目细节搞清楚,源代码看会,网络结构会画,
查查常见面试题,问的很多差不多,记不住就背会,或者总结写下来
自己没做过的东西如果是基础的话也要稍微了解下,看看科普帖子之类的
有空可以做kaggle、建模比赛,怎么做的要能讲清楚
多和师兄师姐打听,别的实验室的别的学校的也都打听一下
欢迎关注楼主的csdn博客
https://blog.csdn.net/sunflower_sara