秋招面经汇总
shopee算法岗:
一面:
- 推荐算法中的多任务模型的介绍,以及在实习工作中对模型选择的理由;
- 常用的数据结构:队列、链表、栈、字典等依次介绍大致的实现逻辑与应用场景;
- 哈希表的实现方法有没有了解;
- 对线程、进程方面有没有了解;
- 常用的hadoop、spark等分布式处理方式大致介绍及原理;
- 机器学习中可以实现二分类的方法依次介绍;
- 编程题:快排的实现。
百度推荐策略部机器学习算法岗:
一面:
- 主要是对实习工作的介绍(对比学习、多任务模型等工作);
- 编程题1:有序二维数组的查找;
- 编程题2:随机数生成,要求随机数分布在一个单位球面上。
二面:
- 每一段实习工作的依次介绍;
- 编程题1:一共有10个靶子,打出90环有多少种可能的情况。
三面:
- 实习工作的介绍,以及一些相关指标的介绍(类似AUC等,以及指标变化的原因);
- 实习工作的变化是出于怎样的考虑;
- 为什么从cv转推荐;
- 近几年最困难的时期;
- 最近读过哪些书和paper?分享一篇最近读过的paper。
百度搜索策略部机器学习算法岗
一面:
- 介绍实习工作以及参加的比赛;
- 对最近邻检索这边有无了解;
- 对于推荐模型中特征方法的了解,FM为什么有效,写一下DCN的公式;
- 分布式数据处理中两个大数据表进行join操作的过程是怎样的;
- 编程题:大数相加。
二面:
- 实习介绍;
- 场景题:如何去做网页质量的排序;
- 编程题1:旋转数组查找最小值;
- 编程题2:有序二维矩阵的查找;
- 编程题3:二叉树最近的公共父节点。
三面:
- 实习工作介绍;
- 双塔模型如何引入特征交互;
- 搜索和推荐的区别;
- 计算一个数的平方根(整数部分),如何利用优化的方法去解决该问题;
- 实习过几家公司的有哪些不同,更倾向于哪家;
- 对百度有哪些认识,个人抗压能力怎么样;
- 对于工作的选择主要考虑哪些方面。
字节跳动data-推荐算法:
一面:
- 编程题1:最长上升子序列;
- 编程题2:轮流抽牌先手必胜的问题;
- 一些关于实习项目的问题;
- 一些基础知识(有点记不清了)。
二面:
- 编程题1:交叉链表;
- 编程题2:26进制转字母表示;
- 逻辑回归:手写公式+梯度推导;
- 聊实习项目。
三面:
- 推荐算法中特征交叉方法的发展;
- 对L1和L2正则化的理解;
- 二分类任务的指标有哪些,AUC的计算方式和时间复杂度;
- FM和MF有没有本质的区别;
- 做召回时,进行迭代的目的和出发点有哪些;
- 召回的离线指标上涨,线上就一定会涨吗?为什么?
- 一些其它的项目和场景问题。
京东联邦学习
一面(电话面):
- 讲一下做召回所面向的场景以及遇到的困难和解决方法;
- 讲一下GBDT;
- 讲一下LR。
拼多多算法岗
一面:
- 选择一个实习的工作介绍一下;
- 编程题:N个无序链表合并成一个有序链表;
- 工作中遇到线上线下特征不一致的问题的解决过程;
- 推荐线上线下效果不一致怎么办;
- LR的介绍,正则化方法,以及能否进行并行的训练和预测。
二面:
- 实习经历,挨个讲;
- 编程题1:最长递减子序列;
- 编程题2:字符串形式的数学表达式进行计算。
三面:
- 讲一个实习;
- 概率题:马路上红蓝车辆出现的概率分别是ab,一个人看到红车的正确概率是c,看到蓝车正确概率是d,问当前有肇事车辆,目击者看到是红车,问肇事车是红蓝车的概率;
- 概率题:50个人至少有两人是同一天生日的概率;
- join和left join的区别;
- 常见的分类方法有哪些,决策树的节点分裂标准有哪些;
- 常用的排序算法有哪些,快排是怎么实现的;
- python中的yield的作用是什么,举例说明;
- 进程和线程的区别;
- 编程题:上升序列寻找<=target值的边界值;
- 树的层次遍历的实现;
- 自己的优点和缺点。
美团到家推荐算法:
一面:
- 关于实习的提问;
- 编程题:判断二叉树是否是平衡二叉树。
二面:
- 为什么要做特征交叉?DNN学到的特征交叉为啥不行,还要单独做特征交叉;
- 实习的那家公司的机器学习框架是基于什么思想做的(???);
- 线上增量更新的方式是怎样的;
- 常用的优化器有哪些?一般会用哪种,有没有做实验去进行一一比较过。
阿里妈妈广告算法
一面:
- 对于sim模型的认识和介绍以及多任务模型的一系列介绍;
- 正负样本的选择和构造,以及双塔模型的优缺点和改进方法;
- 将一篇最近阅读的论文。
二面:
- 编程题1:逆序对查找;
- 编程题2:二维有序数组的查找;
- 实习工作和比赛的介绍(以及所作的项目中的亮点);
- 多任务模型的介绍和优化点;
- 个人对于工程和研究的偏向。
三面:
- 对于在推荐中进行多样性探索会带来的损失是如何看待和解决的;
- 对于样本中某些带偏置的特征,如何即能保留其所包含的相关性又去除其所带有的偏置信息;
- 对于序列建模的工作有没有了解,对于DIN的关键点是如何理解的;
- AUC的全称是什么;AUC的含义是什么以及AUC如何计算;
- 编程题:合并两个有序数组到一个数组上(其中一个数组有预留空间);
- 编程题:整数数组连续子数组和是否存在target值;
- 介绍一个曾经做过的有创新性的工作。
OPPO机器学习算法岗
一面:
- 介绍一个参与度最高的实习;
- 介绍以下推荐相关的模型;
- 编程题:两个对象AB分别有血量和攻击力,但是A可以进行回血,问回合制的情况下,A最少用几回合可以战胜B。
二面:
- 实习中遇到的最大困难是什么,是如何解决的;
- 在实习中有没有遇到过一些匪夷所思的工作但是完成了的;
- 实习中有没有取得过什么出乎意料的进展。
京东搜索算法岗:
一面:
- 实习工作的介绍(数据量、训练时长、特征等);
- 多任务模型的介绍;
- 解决过拟合的方法,L1、L2以及BatchNorm的介绍;
- 编程题:给定1~n的数组,查找字典序排序第k小的数字。
二面:
- 实习工作的介绍和提问;
- 多任务模型的介绍;
- 解决过拟合的方法;
- L1和L2的介绍,如何从梯度下降理解L1有稀疏性,L2不会有;
- Dropout的介绍,有没有了解底层实现原理,
- BatchNorm的介绍,为什么要有一个scale和biase变量呢;
- 关于混排的开放试题,来自两个排序模型的不同物料怎么混排在一起;
- 优化器sgd,adam,adam的公式,adam的缺点;
- 编程题:排序旋转数组查找最小值。
三面:
- 实习工作介绍,多场景为啥不做多个塔,怎么改善优化gate网络;(召回)如果想提升cvr要怎么做,cvr样本的引入会不会带来更大的增益;用户的多兴趣点要怎么做等等。
- 特征删减是怎么做的,如何进行特征重要性的衡量;
- 数组包含正负零,重排成为负零正的顺序,要求时间复杂度O(n),空间复杂度O(1)。
小米广告业务中台:
一面:
- 实习项目的介绍;
- MIND方法的介绍;
- 多任务模型的介绍?ESMM和MMOE分别适用哪些多任务?PLE的优化点有哪些?
- 了解哪些特征交互的方式?CAN的优化点在哪里?
- 双塔的优点和缺点?怎么优化双塔的交互呢?
- 对于序列特征有哪些利用方法?
- Embedding的意义是什么?
- BatchNorm怎么理解?
- LayerNorm有没有了解?
- Attention机制你怎么理解?
- 编程题:循环链表找起点,不利用额外的空间。
二面:
- 为啥每段实习都比较短;
- 介绍实习项目;
- 编程题:合并有序数组;
- 问了一下当前的offer情况。
联想机器学习岗
一面:
- 介绍一个实习比较有技术量的工作;
- 职业规划方向;
- 在xx公司学习到了什么,xx项目的落地情况,所做的工作有没有上线、效果如何;
二面(现场面):
- 展示过往工作;
- 对U2I和I2I在整个推荐系统中的理解,其差异在哪里;
- 在推荐中对item建模和user建模的异同;
- 讲一下匈牙利算法;
- 笔试题:曲线的近似划分。
Bilibili推荐算法:
一面:
- linux和win的进程有哪些区别?
- 对linux的进程和进程间的通信有没有了解?
- 编程题1:设计一个数据结构进行稀疏且维度很大的矩阵的存储和运算;(假设A矩阵有m个非0数,B矩阵有n个非0数,设计到时间复杂度为mn还是太大)
- 编程题2:a,b两个数,分别在c的高16维和低16维去进行存储。
腾讯音乐:
一面:
- 对实习工作情况的询问;
- 对向量化快速检索有没有了解;对向量化快速检索在召回侧的应用有哪些了解;
- 编程题:‘123’向ABC解码有多少种可能性;
- 再用C++写一遍上题。
二面:
- 问了一些实习工作的情况。
阿里巴巴CCO智能客服:
一面:
- 实习工作介绍;
- 对同一精排中对不同场景怎样去适应?场景数据稀疏怎么去做;
- 多任务模型的介绍,对于有相关性的任务目标如何去做有没有了解;
- 模型纠偏的工作有没有了解;
- 对于表征学习方面的工作有哪些了解;
- 介绍一下transfromer结构,它的设计思想和对比LSTM等所具有的优势;
- Layernorm的作用和对比Batchnorm的差异;
- 随机森林和GBDT在偏差和方差上的表现,为什么。
网易传媒:
一面:
- 实习项目和比赛介绍;
- BatchNorm的原理和作用;
- pooling层的原理和作用;
- word2vec的两种形式和区别;
- 样本分布不平衡要如何处理。
二面:
- 特征删减是怎么做的?对于多任务的改进,介绍多任务模型?线上线下的不一致问题?
- U2I向量化召回是怎么做的?样本构建,模型,线上应用,上线效果等等?还有大致哪些召回策略?
- 给定多个用户的action list,你可以构建多少种召回策略。
- 编程题:给定两个数组,求两个数组中任意两个点的最小距离。
阿里lazada搜索算法:
一面:
- 给定一个排序好的数组,哪种排序算法的时间复杂度最低;
- 编程题:一个数组两两重复,只有一个数字不重复,怎么找?有两个数字不重复,怎么找?
- 如何把一个数组划分成尽可能均等的两份?(
- 实习介绍?
- NLP有没有了解?Transformer的结构知道不?
- 残差网络主要是解决了什么?推导一下公式解释为什么?
- 讲一下mind和胶囊网络。
文远知行算法岗:
一面:
- 一个路况上有很多object,如果对单个object依次进行预测的话计算量会很大,怎么样减少计算量来预测未来可以行驶轨迹的预测;
- 编程题:二维矩阵从左上角走到右下角需要的最小步数,拥有k次消除障碍的机会。
二面:
- 特征删减的工作是怎么做的,目的是什么;
- 讲一下推荐的模型,从CF开始,为什么用逻辑回归而不用线性回归;
- 训练一个LR,如果minbatch是有序的,比如前面全部是0,后面全部是1,会出现什么现象;
- 分类模型中,如果正例或负例占95%,会怎样,如何解决?用什么指标评价其效果?
- 编程题1:一个函数f(x),已知它的一阶导是单调递增的,给定区间[l,r],求改区间f(x)的最小值;
- 编程题2:给定n*m的二维矩阵,只能向右或者向下走,求从左上角走到右下角的最大得分(各个点分数的乘积);
三面:
- 实习工作介绍;
- AUC的计算方式和横纵坐标轴;
- 二分类问题的评估指标有哪些,ACC和AUC的不同在哪;
- BatchNorm的原理和作用;
- python中的内存管理有没有了解;
- 编程题:假设A中有5个数组,每个数组的长度为1, 10,从A的每个数组中进行均匀采样一个数并排序后构成数组B,再从数组中进行有放回的七次采样构成数组C,求解当给定数组A和C时,得到C的概率最大的数组B。
四面&五面:
- 主要聊一下工作意向和过往的一些项目情况(遇到的困难和解决方案等)。
京东广告首页推荐:
一面:
- 编程题1:生成n个括号的字符串;
- 编程题2:给定一个整数数组,数组中每个数代表当前位置一个宽度为1的柱的高度,求这个数组盛水的容积是多少;
- 8个球,7个一样中,1个轻,给一定天平,求找出最轻的那个球的比较次数;
- 1000瓶液体,有1瓶有毒,问最少需要几只老鼠才能找出来。
- 实习工作的介绍,有没有对难分负样本做工作,有没有对召回的相关性做工作,有没有针对双塔的缺点做工作;
小马智行:
一面:
- 实习工作介绍;
- 关于跨专业对于计算机基础课程的相关问题;
- 没有学过数据库的话,用hadoop、sql的时候是怎么办;
- 编程题1:给定字符串代表多米诺骨牌当前状态,求最终状态;
- 编程题2: 给定x[1...n],每次操作可以任选两个数i,j(x[i]>x[j]),然后x[i]-=x[j],你可以任意操作使得x[1]+x[2]..+x[n]的和最小,求最小的和(1 ≤ n ≤ 10^5, 1 ≤ xi ≤ 10^9)
二面:
- 工作的意向情况;
- 介绍之前做CV的一个情况;
- 网络编程有没有了解,python的grl、生成器有没有了解;
- python中is和==的区别;
- python中如何用print打印一个类;
- python中dict的key的相关机制;
- 一个圆,6个点随机落在圆的边上,问6个点落在长度为n的弧上的概率;
- 编程题:数轴上从左到右依次放着n个宽度都为1的矩形,给出数组H,H[i]表示第i个矩形的高度。问能找到一个面积最大多大的矩形R,使得这个矩形R能放在这n个矩形构成的图形中。