腾讯-暑期实习-推荐算法-初试

腾讯-暑期实习-推荐算法-初试(已offer)

暑期实习的面经现在才有空发出来哈哈哈

个人背景:双985
Timeline:2.25投递,3.4通知初试,3.5初试,3.8复试,3.10 HR面,3.12 HR电话沟通offer,3.15 正式offer邮件
面试部门:PCG

腾讯会议面了一个半小时,过程如下:
1.先简单介绍一下自己。
2.挑一个你觉得最能体现你的能力的项目经历展开讲讲。我挑了我正在投稿的论文来讲。然后面试官让我先介绍一下研究任务的背景。因为面试官对我做的任务不了解,所以我几乎是边讲边给他解释一些生疏的概念(在这种时候怎么简短有效地向别人解释新概念就很体现个人表达能力了)。之后就是深挖项目,问的很细,处理的数据集是什么格式,模型输入是什么,样本是什么,模型怎么训练的,full-batch还是mini-batch,有监督还是无监督,数据集太大为什么用 CPU 训练不用 GPU,怎么优化等等(氪金,买 v100 卡、mini-batch、分布式多卡训练)。然后问我 F1-macro 指标怎么计算的(F1是precision 和 recall 的调和平均,F1-macro 和 F1-micro 求平均的计算方式略有不同)。我看你的 AUC 指标挺高的,你觉得这样的性能提升幅度算大吗(AUC 的提升幅度比较小,一点点的提升都是突破)?AUC 指标的数值意义是什么,不用库函数的话具体计算公式是什么(具体计算方式我只记得一个大概的要做排序什么的了,面试官说基本上是这样)。
3.对推荐系统感兴趣吗?了解推荐算法吗?(因为我的简历里有写了解具体的推荐算法),自己挑一个算法展开讲讲(我挑了 YouTubeDNN 进行介绍)。然后问 YouTubeDNN 和 DSSM 的区别是什么(我从两者双塔结构的区别、对 Item embedding 处理的区别进行了分析)。
4.面试官口头表述出了两道 medium 代码题,都是动态规划:)力扣对应题目见下方。我是直接在 vscode 上写然后讲思路的。
5.可以实习多久,什么时候可以开始实习,有在考虑其他公司的机会吗?我说这个不太方面透露,面试官笑了:)所以这个问题一般怎么回答比较好。有什么想问的问题,我问了一下部门的业务方向是什么,面试官说是QQ的部门,做QQ短视频推荐的,然后让我打开QQ看一下就知道了。我打开QQ找了一下才看到,面试官说你是不是把QQ卸了:)我说我平时比较忙,QQ基本上只用聊天功能哈哈哈哈哈哈哈(好吧)。

力扣对应题目:
【1143. 最长公共子序列】(原题,代码见图片)
给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。如果不存在公共子序列,返回 0。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的公共子序列是这两个字符串所共同拥有的子序列。
(我直接用二维 dp 秒了,然后面试官问我 text1 和 text2 的当前字符不相等时的状态转移方程求 max 为什么不加一个 dp[i-1][j-1],我还想了一点时间怀疑自己的代码,最后说 dp[i-1][j-1] 的情况已经包含在了 dp[i-1][j] 和 dp[i][j-1] 里了。然后面试官问我如果要求最长公共子序列具体的序列是什么怎么求,然后我就蒙了,思考了很久,觉得可以用 dfs 爆搜,然后还是用 dp 的话可不可以将 dp 数组的 int 改成 string,但是这样字符不相等的时候状态会分裂,所以应该比较难做,最后面试官说把这个当做课后题我回去再思考一下吧)

【最长公共子串】(好像没找到 string 类型的原题,但是有数组类型原题【718. 最长重复子数组】,代码见图片)
直接把上一题【1143. 最长公共子序列】的求公共子序列改成求公共子串。
(面试官还是继续从上面那题展开考我变体,问我把求公共子序列改成求公共子串要怎么求。我一开始还想着用扩展 kmp (z函数) 解,但是发现这样需要把其中一个字符串的所有子串先求出来,多此一举,就还是用二维 dp 秒了。其实代码就是把【1143. 最长公共子序列】的第二个状态转移方程变一下,然后用一个 maxLen 实时更新求到的最长公共子串)

复盘:
1.前面经过几次面试, 现在对面试的流程和自己的简历内容已经比较熟悉了,但是因为对推荐算法的知识是新学的,所以遗忘很快,需要抽时间复习一下。
2.这次直接出了两道中等动态规划题,差点招架不住,因为动态规划真的是我最弱的知识点,动态规划的题只要一难一变化我很容易就歇菜:)所以还是多练练动态规划吧:)

#腾讯#  #暑期实习#  #面经#  #算法#
全部评论

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结: 27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
哪些公司开暑期实习了?
点赞 评论 收藏
分享
评论
3
20
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务