2020暑期算法岗记录(阿里妈妈/腾讯pcg/百度更新中)
3.11 阿里云弹性计算提前批(这一面没怎么准备参考价值不大,还是写上来了)
三月初跟着提前批瞎投了一波阿里,没想到第一个面试的是云部门,面试官是搞开发的,聊了会直接说自己不懂机器学习你也不用讲了,我直接???全程问的都是数据结构操作系统相关的东西,触及了我的盲区所以很自然的挂了。
具体问的由于时间较早记不清了,大概有:
详细讲讲线程进程的区别,还有一些具体场景下的变化
python字典的删除实现
讲讲循环队列
实现一个最小栈(剑指原题)
3.18 阿里妈妈一面(广告部门)
时长一个小时
首先问项目,说了一个去年做的数据挖掘的比赛(信贷预测),讲得比较细,大概20分钟,期间有打断,问了具体怎么构建特征?构建时序特征的意义?最后根据什么选择3000维特征,组合特征的时候用了拼接?怎么拼接?大概这些。
比赛用了lightgbm模型?详细讲一下。(我从gbdt原理讲起,考虑到应对稀疏特征、缺失值的处理提到到xgboost,又讲了lightgbm相比xgboost的改进。)
问了gbdt在分类时节点输出是什么?怎么拟合残差?
防止过拟合的方法?(从数据、模型、指标三个角度,提到了dropout、正则,后面正好顺着问。)
讲一下dropout原理,为什么能防止过拟合?对训练数据和预测数据有什么区别?
l12正则 从数学角度解释(烂大街的问题,讲了拉普拉斯分布和正太分布,从增加先验的角度讲的,感觉他不太满意)
logloss的具体形式
算法题写了回文链表
3.23腾讯云
45分钟
部门主要做nlp的,感觉和面试官不太对口
挑了一个电影评分预测的项目让讲 问了svd原理,怎么得到奇异值矩阵?(讲了半天线性代数,怎么分解得到特征值矩阵)svd++、funksvd的区别、偏置的意义。
svd怎么实现降维?als怎么优化?写出损失函数的具体形式。
对tensorflow了解吗
基于pagerank实现的邮件数据怎么构建网络?怎么引用到文本、新闻重要词汇的提取?
定义函数实现一下softmax(不要用numpy) 数值太大溢出怎么办?
4.2阿里妈妈二面
50分钟左右
还是讲一遍上次的比赛 这次面试官应该是leader全程不怎么说话,全部听完才问问题。
统计特征的形式?为什么要统计全局的?为什么要考虑时序,时序间隔不一样怎么办?比赛用了ks指标,讲一下为什么?和auc的区别,针对它做了哪些优化?构建哪些特征效果好,什么原因?
讲比赛过程中我说到特征稀疏化的问题,提了一嘴gbdt不适合处理这种类型的特征,lightgbm会通过计数分桶的策略处理,他没吭声我就铺开讲了讲结果扯远了感觉直接跑题。
问了自己最熟悉的算法,脑子一懵居然说了LR。。。
从头推了一遍LR,结合ctr预估讲了为什么适合处理高维稀疏数据,为什么适合正态分布的连续特征。还扯了为什么用sigmoid表示概率。(主要他一直不说话也不知道该讲什么)
问了l1正则 产生稀疏解的原因(一画图准备扯拉普拉斯分布0点值就把我打住了,知道我想说什么),不可导点的处理(说了三种方法,问了不了解针对大规模数据的方法,这些实际都不常用)
算法题:将一个数组分成两部分,使得两部分和尽可能相等,求分组
4.10 阿里妈妈 (上次二面挂了简历转去其他组不知道算几面)
问得不多,算法题没做出来 个人感觉最可惜的一次
问了netflix的电影评分预测 讲了怎么基于矩阵分解求出评分 svd的k值代表什么?怎么确定?
问了deepfm,讲了FM的原理,怎么缩减计算量
讲了dcn,算子的具体形式,怎么构建组合特征,和xdeepFm的区别。没怎么追问。
svd怎么实现图像降维,怎么确定不会影响训练效果?
算法题:一条无限长的x轴,假设你站在原点,可以向左走也可以向右走,第n次走n步或者-n步,给一个target,问走到target的最小次数
4.13 腾讯pcg
面了大概45分钟
开场一道题:旋转链表 比较简单,面试官很认真一行一行对着查了一遍
看你简历做过点击率预估的相关项目,讲一下
讲一下xdeepFM和DCN的区别,优势在哪,dcn算子的形式?第l+1层的输出?第l+1层特征组合的维度包含前l层吗,xdeepFM呢?
写一下fm构建的目标函数,计算复杂度怎么降低?
有没有接触大规模数据的经验?
构建最大的特征数?
问了下评价是对算法的理解还不错,晚上看到状态更新成复试了,希望有个好结果吧。。。
4.16腾讯pcg复试(凉)
一小时
部门leader面试 开场聊项目 问得比较杂 重点问了评测指标ks 针对ks做了什么优化?没有问太多具体的算法原理。
算法题:给定一个值n,判断是否为三个以内的平方数之和。
a题失败,没找到简单思路,说是分成sum2和sum3,让写了sum2 运行成功后问复杂度,说错直接凉
面试官的评价是项目理论没什么问题,代码能力相比其他面的人有差距。
继续刷题去了
4.17阿里云
简历被捞了
开场固定套路聊项目,ctr预估和评分预测相关的东西大概讲了讲,xgboost和lightGBM区别在哪,做比赛有没有参考其他的方案,问了stacking相关的东西,比较基础没什么好记的,算法题写了topk,用快排实现结果粗心写错了(最后返回的topk忘记排序了。。。),计算机基础问了三次握手。阿里云面试就问这些。。。
4.19 百度 (一二三面)
三轮面试一次面完,整整持续了三个多小时,从下午三点多一直到晚上七点,面试官流水线作业面完一场很快进下一场。第一个妹子面试官面完让我等着也没说有没有下一场,结果手机提示面试结束还以为自己挂了,寻思自己第一场该回答的都回答了,a题也挺流畅的a出来了咋就说没就没,正准备点差评结果通知二面,差点冤枉人家。。。
内容较多只挑有印象的记。
讲了具体项目比赛,问了构建特征的维度,有没有接触过更大规模的?
介绍一下项目中embedding的部分
给个场景讲一下离散特征具体如何稠密化?
离散特征交叉如何实现?
对一个训练好的模型,在线更新的离散特征如何处理?特征维度发生变化怎么办?
dcn和deepFM的区别,优势在哪?
写出LR的决策平面
逻辑回归的并行处理
gbdt处理二分类和多分类的区别
海量数据中基于querry的查询方式(这里本可以讲一下learn to rank相关的东西,我给扯到余弦相似度上去了,基于相似度又讲了讲slope one方法,完全跑题)
介绍下DSSM模型
l0 l1 l2正则
算法题一共问了四个
扑克牌抽五张如何判断顺子?
有序二维矩阵找target值
4.20知乎(日常实习,目前面了两面)
一面体验比较好,问题也比较基础,上述都包含了,算法题问了:1.二叉搜索树的判断 2.数组中求出和为定值的全部组合,任选一个做。
二面问的不深但是范围比较广,机器学习相关问了一些基础的激活函数、过拟合、dropout、bagging、boosting、AUC稳定性之类的,用没用过spark?
听没听过特征穿越?后半程不停问数据结构,快排、链表的快排实现、队列和栈、堆栈的用途、树的两种遍历写一下求最大深度、堆排序的复杂度等等。。。
4.23快手
***快手,没啥好记的。
5.9 微软一二三面
算法题:
根据前序遍历结果重构二叉树
求出给定两个矩阵的交集和并集
给定一个t的数组 不能用额外内存条件下排序
旋转数组的target
如何根据叶子结点个数判断训练特征数
gbdt中的步长和参数中的学习率作用是什么?详细讲一讲
归一化的意义
lightgbm怎么切片
问得不多但是很深 收获很大的一次面试
更新中............
#算法工程师##阿里巴巴##实习##面经##腾讯#