面经里,学长总结了面试时遇到的一些问题和学习过程中遇到的心得体会,供大家参考!
学长背景:双非本(软件工程)、 两个一年英硕(计算机科学 和 数据科学),推荐高级小班学员(当然,最新一期是推13)
春招拿到了vivo(推荐算法工程师)、美团(后端)、快手(推荐算法工程师)的offer,这里专注推荐算法岗分享一些经验。
vivo(北京推荐部门): 行测 + 笔试(3道算法题,20道开发岗八股文)+ 一轮技术面 + 一轮HR面
行测:不用花太多时间刻意准备,但是有必要在做之前刷几套,注意不要做公务员的行测,据说好多厂的行测都是来自于某个题库,我自己找到的是 职题库app, 不知道牛客上会不会有免费的。
算法题:1. 简单的dp,类似于跳台阶那题。2. 滑动窗口,同向双指针相关。3. 多重背包问题,也可用dfs给出暴力解。
选择题:涉及计算机底层原理,代码段分析,计算机网络,都是特别特别基础的问题,如果专注算法,这方面比较薄弱也没事,只要是科班,凭借直觉也能做出来。
总结:vivo 的HR面特别关键呀,我的很多小伙伴都是在这一趴被挂的,毕竟技术面试只有一轮。
6. 设想一下工程场景,如果使用 FM 你会怎么做来实现线. AUC 是如何绘制的?
3. 一道从来没见过的题目,没写出来,后续也没找到。所以如果碰到会的题,一定要放慢做题速度,做太快会提升面试官对你的谜之期望...
2. 你是根据什么选择 PLE 的 shared-expert 个数?各个任务的 gates 权重分布大概是什么样的,据此你能得出什么结论?
3. 我看到你为每个任务加入了 FM 来增加记忆能力避免过度泛化,这个想法不错,但是这样做难道不会导致Embedding 层的更新出现冲突吗?
4. 你用了什么优化算法?对于一个冷启动的短视频和一个热门短视频,如果使用 Nadam 进行学习,最终二者的特征向量模长有什么区别?
5. 我看到你使用了 预训练的Embedding 经行初始化,但是训练网络的时候依然继续训练了初始化的Embedding,这和直接随机初始化共同训练有什么不同吗?要知道,你预训练的时候同样间接使用了标签信息,我觉得效果不会有太大不同,你觉得呢?
6. 我看到你使用了矩阵分解作为预训练Embedding的一部分,为什么使用矩阵分解呢?为什么不使用监督学习的方式来训练呢?
三、算法题:(完全手撕,面试官布置了几个任务,一个个完成,核心是链表翻转)
(我想可能需要我有评判性思维,所以好坏都说了一些,尤其是我觉得有问题的着重说了一下,因为DIEN是阿里妈妈团队的,当时觉得不能夸的太狠,毕竟是其他公司的论文,结果说完面试官反手说“哦,我叫 XXX, 这篇论文是我的成果”我直接当场社死( ╯□╰ ))
6. 我担心你的工程能力,你能说说你平时怎么积累工程能力的吗?你能说说序列模型是怎么在工程上高效实现的吗?
三、智力题:题目太长了,细节记不清楚了,是一道策略制定的题目。大概内容是,两个人要协作猜扑克,一个人抽五张牌,可以按照某种顺序与某种规律打出前四张,另一个人需要根据前四张牌的顺序和花色的排列组合猜出最后一张牌的花色和点数,牌组里不存在大小王。
诚然理性的答案的正确性是决定是否通过面试的关键,但是做出决策的人总有感性的一面。所以全程一定要有不卑不亢的姿态,也不必过于严肃和紧张,大多数公司面试官都是你未来的同事和领导,他们也希望能和一个有情商的,说话有意思的人共事。所以一定要和面试官建立起良性的、轻松的沟通。
机器学习、推荐算法的知识太多太多了,永远准备不完,我觉得应当在深度和广度之间达到平衡,项目相关的甚至是辐射到的知识点一定要足够的深,其他以广度为主,因为确实会突然抛出一些发散的问题。
如果你是应届生或打算从传统IT转型AI,想要系统的进行学习,建议大家可以看一下七月在线的
其集训营每一期都涌现出了很多offer,或应届研究生高薪就业,或从Java等传统IT行业成功转型AI拿到年薪三四十万,部分超过四十万拿到五十万,有的甚至年薪百万。
如果你已经有一定基础想要继续进行深度学习、挑战高薪,也可以看一下七月在
- 本文固定链接: https://www.douyinkuaishou.cc/?id=38971
- 转载请注明: admin 于 抖音快手 发表
《本文》有 0 条评论