从1月初开始准备实习(刷题+面经),经历了最初的忐忑到如今几近尘埃落定,期间得到了不少身边朋友的帮助,也从牛友的面经中学到了不少,因此也想分享一下个人的面试经历,希望对大家有所帮助。
基本情况
- 硕转博(协同过滤/图方向),有项目(协同过滤推荐及强化学习相关),无论文(全部在投)
- leetcode 400+。(1月开始。top100+腾讯50+剑指offer+面试金典+每日打卡)
- 面试的全是推荐/广告相关算法岗
- 3月初开始投递简历,截至目前:
- 腾讯(PCG):oc
- 阿里妈妈(搜索广告):oc
- 字节AI-lab:oc
- 美团平台:oc
--------------------------------------
至4.15全部更新完毕,感谢小伙伴们的支持
腾讯(PCG)
腾讯投的最晚但是最早开始面试,一面时准备不够充分,好多答的都不好,不过也查漏补缺了很多东西。二面面试官很nice,很会引导,体验很棒。
一面 3.10 (50min)
- 自我介绍
- 论文及项目
- 强化学习排序怎么实现的,除了这种还有没有其他方案
- 项目中Graph Embedding怎么学的
- 线上更新周期怎么样
- 用来做什么(预训练,CF召回)
- 其他召回算法有什么。
- 召回算法的选择。
- 召回方式(多路,Embedding)
- 算法题:两种宝石,可替换指定次数,求最大子串长度(双指针+记录变化点)
- 反问
二面 3.12 (50min)
- 自我介绍
- 论文及项目(聊了图网络的发展,论文的motivation和实现细节)
- CF的特点:
- 优点:快,不需要上下文特征
- 缺点:冷启动(所以要结合图)
- 长尾问题怎么处理
- CF和DSSM的区别 ?(不是很了解DSSM,答不清楚)
- LR推导(代码复现(train, loss, predict)【搞不定,基于推导写了伪代码,勉强过】
- MF的实现,有哪些优化方式(特征值【必须是方阵】,SVD【不适合稀疏场景,复杂度高】,SGD;)梯度怎么求;怎么让MF训练的更快(没搞懂,答的是控制lr,顺便说了一下lr的调参要点)?
- 算法题:给一个graph,求其中三角的个数(clique的最小单位)(做社交网络的部门所以问图相关的)【类似lc1761】
HR面 3.16 (20min)
- 自我介绍及项目
- 个人三个性格优点
- 缺点
- 对未来的规划
- 实习及转正base地点
- 实习时长(一周五天,有点恐怖)
云证 3.18
OC 3.19
阿里妈妈(广告算法团队)
- 群里加的师兄帮忙内推,人很nice,帮忙看简历还鼓励了不少。
- 整个面试流程下来感觉阿里很注重基础,而且基本围绕简历考察已掌握的知识。
一面 3.12(90min)
- 算法2道:(括号匹配 + 找出无序数组中topK最大有序子序列)
- 概率2(没准备,全跪)
- 聊简历,项目细节
- 反问了部门的主要业务有哪些
二面 3.16 (45min)
- 自我介绍
- 聊项目及论文细节
- 算法题*3
- 题1:二叉树最下层最左节点
- 题2:大数乘法
- 题3:丑数
- 反问
- 来实习能接触到哪些项目
- 学习资源
三面 3.24 (37min)
刚起床就突击电话面。。感觉答得一般般😭
- 开放问题:关于广告投放的问题。建模实现。大概记得问了这几个问题:
- 如何构建sample
- 如何建模
- 输出是怎样的
- loss用什么
- 为什么用交叉熵做分类问题
- 问了下项目和论文。
- 反问
HR面 4.13 (30min)
- 自我介绍
- 简单询问了项目中的一些问题
- 过去对你影响最大的一件事
- 保研/考研
- 实习时间
- 是否考虑转正
- 其他offer情况
OC 4.15
字节AI lab
面试节奏紧凑,效率很高。很注重项目中的具体细节。
一面 3.14 (40min)
- 自我介绍(面试官确认了下个人研究方向)
- 项目,Graph Embedding怎么做的(讲了论文的内容)
- 召回和排序的区别(特征使用数量、效率、模型复杂度等角度阐述)
- DeepFM与FM
- 知识图谱学习得到的Graph Embedding是用于召回还是排序(召回)(1.有噪声;2.因为对于传统观点的召回来说,精准并不是最重要的目标,找出和用户兴趣有一定程度相关性但是又具备泛化性能的物品是召回侧的重点,所以可能知识图谱的模式更适合将知识图谱放在召回侧。)
- 讲一下项目中用到的强化学习。(A2C,讲了原理,实现细节)
- 算法题:
- 快排代码(讲了下如何使得最坏情况也能O(nlogn)
- n * m 矩阵给定左上角和右下角求面积(O(1))【CV中经常用到】。
- 概率:A、B是两个服从0-1均匀分布的随机变量。求E[max(A,B)]。
- 反问:部门业务方向做哪些,有没有结合图谱(个人想做这方向)
二面 3.14 (50min)
- 自我介绍
- 协同过滤的演化(共现矩阵(itemCF, userCF) →MF(泛化)→NCF(高阶交互;非线性)→Graph Embedding (图结构)
- MF如何泛化(特征提取,从SVD为例讲了一下,感觉一般满意;同时类比了深度学习中过拟合和泛化的情况,感觉还行)
- 两篇论文
- 算法题:
- 题1:lc 1420\. 生成数组;想到dp没写出递推公式,卒
- 题2:最长上升子序列;写了贪心+二分(O(nlogn))。
- 无反问:估计是第一题想太久没时间了
三面 3.17 (37min)
- 自我介绍
- 论文细节及项目
- 项目中的特征工程用到了哪些
- deepFM相关:
- 的模型结构是怎么样的(Wide & Deep -> DeepFM角度讲)
- 权重参数共享吗、如何预训练?
- 输入的embedding包括哪些?分别怎么处理?
- FM和FFM(参数量,特征交互)
- word2vec具体怎么做的(skip-gram,CBOW,学习目标是权重参数矩阵;loss是交叉熵,负采样、层级softmax)
- 你印象最深的近几年的一些推荐方面的成果。聊了CF方面的新成果。
- 其他的推荐模型了解吗。(双塔,CTR方面讲了DIN)
- 过拟合怎么处理。(5种)
- 比较一下GCN和GAT。(从复杂度、效果上等作了比较,感觉答的一般)
- 比较一下传统的Embedding方法和Graph Embedding。(真实数据也是图结构,冷启动,交互更丰富)
- 交叉熵损失函数
- 算法题:给定一个arr,和最小间隔k,找出满足最小间隔k的a,b两个数使得a+b值最大。(我的解法,存储每个点的leftmax和rightmax,然后一轮循环求最大;感觉空间复杂度还可以优化)
- 无反问*2
- 面试结束后不久通知HR面
HR面 3.18 (15min)
- 自我介绍
- 兴趣爱好
- 介绍一下学习过程中对你影响最大的一件事
- 对未来的规划
- 考虑转正吗
- 有什么长期坚持的事情
- 有无其它offer
OC 3.18
美团平台
一面 3.17 (35min)
- 自我介绍
- 算法:
- 快排
- 链表每k个翻转一次
- Graph Embedding 方法:randomwalk, node2vec, GCN, GAT,过平滑等问题
- 论文:实现细节,参数怎么调整,应用情况
- 反问:业务
二面 3.19 (1h10min)
- 自我介绍
- 选一个项目做介绍:
- 用了哪些特征
- 数据预处理怎么做的
- 特征怎么学的
- RL怎么应用?reward如何定义?
- 冷启动怎么解决
- 聊论文
- 算法:
- 加油站良好出发点问题(时间O(n), 空间O(1))
- 做项目最大收益问题
- 反问:如果来不了实习怎么办?(不会拉黑。。);貌似只有两轮技术面
全部评论
(8) 回帖