23届暑期实习面经大放送,各大厂算法岗面经

LZ是23届,主攻算法岗,搜广推方向, 经历了去年炼狱级别的暑期和秋招,目前工作已签,时间也过了一年,可以把去年的经验分享一下了

字节-抖音推荐算法一面

  1. 自我介绍
  2. 问一问你想聊哪个项目,然后聊了一下实验室项目,你的这个项目是做啥,需求出发点是啥?怎么评估效果?你觉得你这个项目创新点是啥。
  3. 简历里有一个推荐的比赛,开始聊推荐。你做了哪些特征?这些特征你觉得哪些比较重要?如果给你重新比赛的话,你会做什么特征?曝光特征 序列特征(面试官把这些曝光特征称为后验特征)match特征。
  4. 比赛的时候,模型效果怎么评估?用uAUC。那么uAUC和AUC有啥区别,AUC的含义是什么?
  5. 怎么构造训练样本?面试官比较关心标签怎么构造,但是他没太搞懂我的比赛,因为我的比赛里标签是给定的。
  6. 聊一聊模型,介绍一下deepFM,重点问FM怎么实现的。感觉答得还行
  7. FM的复杂度是多少,我说kn,那么k是啥,n是啥。
  8. 为什么FM复杂度是线性的,emmmm,我有点懵,因为K是常数,所以是线性的呗?但是感觉面试官不太满意。
  9. 做题,********-509 斐波那契数 很简单,秒过。然后问我性能还能再优化吗?我觉得DP已经是最优解法了啊,不过面试官说还可以用矩阵快速幂和通项公式,我大e了啊。
  10. ********-64 最小路径和 也是用DP秒解,问我复杂度是多少?我写的是最原始的版本,我想了一下,觉得空间还能优化,然后他挺高兴,问我大概是多少。我又想了一下,最后应该是O(N)

字节-抖音推荐算法二面

  1. 介绍项目
  2. uAUC介绍一下。跟普通的AUC有啥区别,解决了什么问题。AUC的含义是啥?
  3. Word2Vec能介绍一下嘛。有什么方法。Skip-gram负采样怎么实现的。Skip-gram损失函数是啥。推导一下?
  4. 推导一下LR,包括计算过程,损失函数,优化方法,磕磕绊绊地,省略了一下求导,不过他也没在意。
  5. 为什么二分类使用交叉熵作为损失函数,交叉熵这个损失函数怎么数学推导出来的。
  6. 开始问我计算机八股……问我vector怎么实现的,哈希表怎么实现的,线程与进程是什么。进程之间如何通信的。555,不会。不过看了一下我的简历,我本科不是计算机的,行吧,不懂也正常。那就问问hash表的作用是啥吧,寻址时间复杂度是多少。
  7. 开始做题,无序数组中的第k大的数,要求使用快排思路。写出来了,问我时间复杂度是多少。为什么是nlogn,你能数学推导一下吗。除了快排思路,还有啥方法。那个时间复杂度是多少。

字节——tiktok直播推荐一面

  1. 一开始先做题,先从简单的做起,在一个有序数组里找到重复的元素。然后换了一道题,找到一个有序数组中的缺失元素。再提升难度,在一个无序数组里找到缺失的数字,******** 268,提示使用异或,我现场想出了非进阶的解法,然后面试官让我再优化一下空间,这个我没想出来,他说我离正确答案已经很近了。最后给了答案,不知道这算不算能过吧,哎
  2. 聊一聊机器学习的基础,问我知道什么评价指标,我举了例子,准确率,召回率,F1,AUC。面试官让我讲讲AUC什么意思,然后给我一个场景题,在推荐时考虑用户观看时间,让我想一想这个AUC应该怎么设计。我想说用完播率来排,不过他说这样有问题,因为对于长视频来说,完播率本身就比短视频要低,所以在设计AUC时,应该把观看时长长的排在前面,不过面试官说我的这个思路也挺有深度的。
  3. 问我了解什么优化方法,我把解析法,SGD,ADAM,拟牛顿法都讲了一遍,然后优缺点也说了。
  4. 问我了解什么损失函数,我说知道MSE和交叉熵,然后问我比较了解那个,我说交叉熵,然后把交叉熵从最大似然函数推导出来。
  5. 最后就项目聊一聊,问了一下我项目里使用的graph embedding,然后问我还了解什么graph embedding的方法。然后问我知不知道GraphSAGE,我也说了一下,但是好像说错了。
  6. 问了一下推荐算法的比赛,问我们怎么考虑构造特征的,怎么解决冷启动的问题。然后给了我一个场景题,如果是冷启动用户,应该怎么解决。我说可以根据年龄性别等用户画像信息,如果不给这些信息呢,我从业务方面给了一个解决方法,比如让用户自己选感兴趣的领域等。
  7. 如果现在只给了用户的观看序列,怎么做推荐。我说可以先做word2vec,然后再参考DIN。

美团——推荐算法实习生一面

  1. 聊聊实习,聊聊项目,穿插着问一些问题。
  2. 实习的时候,为什么要使用DBSCAN来进行数据的去噪,DBSCAN是应用于密度型数据的,你们怎么知道数据的分布情况的?聚类以后,你们是怎么评价聚类的效果的?
  3. 你的项目用到了transformer,能讲一讲transformer跟传统的LSTM相比,有什么优势吗?transformer中的位置编码作用是啥,为什么不使用1 ,2,3等ID做embedding叠加起来呢?答:transformer使用了self attention的机制,可以挖掘出序列中比较重要的点,每次计算时,每个点与目标点的计算是一视同仁的。可以避免RNN中遗忘早期的数据的问题。同时计算是并行的,速度很快。
  4. AUC的含义是什么(梅开三度)
  5. 能解释一下强化学习中的policy based方法和value based的方法,他们有什么异同,有什么使用场景。
  6. 为什么你项目中使用了transformer,这是为了什么考虑的。
  7. deepFM AutoInt LightGBM 三种模型各有什么优劣性,你为什么考虑将他们融合在一起。
  8. deepFM这种模型怎么处理连续性变量?工业界,一般采用分桶,转为标签类型。
  9. 题目:求平方根

OPPO——一面和二面

纯聊项目和八股,没有做题。

京东——一面

1. 简历被做无人车的组捞走了,主要关心实验室的项目,就着实验室的项目跟面试官聊了很久,没有八股。

2. 两道题:最大栈,合并区间。合并区间有个边界条件没写对,然后数据没有排序,面试官没说,没说我就装作不知道,就按排好序的写,哈哈。

京东——二面

只有八股和做题

1. 你们项目里用的attention是点乘还是加法,是点乘,请问为什么用点乘

2. Transformer里计算得分时为什么要除以根号dk

3. 优化器了解吗?说一下SGD和ADAM有什么区别

4. SGD和ADAM使用的是多少阶的导数

5. 数据分布问题,好像是说缺失的数据跟数据的分布之间的一个概率关系,不太懂。答案好像是3sigma准则

6. 强化学习相关:问了一下蒙特卡洛和动态规划之间的区别

7. 蒙特卡洛和动态规划哪个是model-based的

8. C++八股:map怎么实现的,查询时间复杂度是多少

9. 虚函数是什么

10. 什么是平衡二叉树

11. 指针常量和常量指针有什么区别。

12. 三道算法题:******** 34.在排序数组中查找元素的第一个和最后一个位置 ******** 76. 最小覆盖子串,还有一道原创题

#我的失利项目复盘#
全部评论
你参与的这些算法岗 平均给到什么level薪资
1 回复 分享
发布于 2023-03-18 17:39 北京
topk 快排那个时间复杂度是On吧,虽然我也不太会推导😂
1 回复 分享
发布于 2023-04-01 09:54 北京
大佬,美团的技术岗笔试不是纯算法的也需要考算法编程吗?
1 回复 分享
发布于 2023-07-31 19:22 山东

相关推荐

13 145 评论
分享
牛客网
牛客企业服务