2023届校招算法岗知识超全总结

又是一年「金三银四」,在此为今年校招的同学准备了一份笔面试经验大礼包

去年我发过一篇 论机械狗如何硬卷算法岗,主要是机械转互联网的经验分享。

本文主要面向搜推广nlp岗位的同学。

总体而言,个人认为算法岗要找的好,除了本身的长期积累沉淀的硬实力之外(Paper,比赛,实习,项目),主要考核的就是两个方面的能力:基础扎实程度前沿知识广度

文章内容包括四个部分:基础能力(基础扎实程度)、搜推知识(前沿知识广度)、nlp知识(前沿知识广度)、总结。其中,基础部分变化不大,前沿知识部分相较于我当年校招时变化较大,在此做了更新,希望能够帮助到大家。

1. 基础能力

1.1 Coding基础

Leetcode刷200题+剑指offer(可在牛客网刷),尤其是链表、树、动规。做信息竞赛的可忽略。这部分其实在笔试阶段和一面阶段都会涉及,是考核基础能力的关键一环。尤其是一面的时候,如果没有做出来代码题,其实挺影响面试官给分的。题目难度视具体情况而变,大部分情况下"中等题"即可,当然实习和校招、不同公司都会有所差别。如果是博士,这个环节可能不会做硬性要求。

1.2 机器学习基础

机器学习基础变化不大。当年我主要看的李航老师的统计学习方法(LR,SVM,EM,最大熵,集成学习等)),值得反复看好几遍,每一遍都会加深理解;尤其是学习理论:贝叶斯决策理论/假设空间概念/经验风险, 结构风险/各类损失函数之间的区别与联系/极大似然估计, 最大后验估计, 贝叶斯估计的区别与联系。此外,还涉及一些通用的基础能力,例如:

  • 树模型系列论文深入理解,gbdt,xgboost,lightgbm,catboost;
  • 深度学习基础:过拟合问题、收敛性问题,dropout,bn,ln等;学习器,各种optimizer原理及对比;BP原理;各种激活函数等,最好用numpy手写一遍MLP,包括train+infer。
  • 评估体系:Precision, RecallF1, AUC, ndcg,涉及如何选择、指标的内涵、指标和样本分布关系、离线验证等。

这个部分重点关注原理+推导

关于面试重点

1.3 数学基础

数学题,比如贝叶斯公式算后验概率(求概率),优惠券收集问题(求期望),蓄水池问题(采样)等。还包括一些偏智力的题。这类问题主要难在理解题意,对数学中的概率/期望/微积分/极限等知识点会有些要求。之前看到的部分概率题总结,排版有点问题,凑合着看一些题型。有时间可以复习下概统、线代等课程,没时间可以看看别人的总结,比如:
互联网面试概率题总结:https://blog.csdn.net/BertDai/article/details/78070092

1.4 工程/大数据基础

如大数据处理或分布式系统原理等。对于大数据题,如:海量数据求中位数等,主要涉及到哈希,堆,bit等数据结构,外加map-reduce编程范式的灵活应用。这类题型的总结百度一下非常多。

2. 搜推广知识

找搜索推荐广告岗位的同学,这部分的学习要同时关注工业界和学术界,尽量从工业界的应用入手,来看看都用了哪些学术界的成果。这部分在面试过程也是必考核的点。

2.1 按照模型演进

  • 传统的方法:LR+GBDT(facebook文章),FM,FFM,LambdaMART。
  • 深度学习的方法:Youtube DNN,Wide & Deep,DeepFM,DIN等。
  • 图模型在推荐上的应用:GE、GNN。

可参考我的万字推荐系统/排序学习和图模型调研(推荐阅读⭐)

2.2 按照系统漏斗

笔者近年来阅读过的经典文章,值得读一读,对面试很有帮助。

查询理解:搜索上重要模块

召回:主要涉及向量化召回、样本选取的艺术、双塔模型、多兴趣召回,还涉及模型索引联合建模等

粗排:涉及全链路一致性、双塔粗排、对比学习、蒸馏等

精排

重排

可以关注一些公众号:推荐道、阿里妈妈技术、美团技术团队、RUC BOX、DataFunTalk、机器学习与推荐算法、图与推荐等,了解业界最新动向。

2.3 按照技术方向

特征工程

特征交互

多目标建模:ESMM、MMoE、ESSM,PLE等。

长短期序列建模:DIN、DIEN、SIM、MIMN等。

多兴趣建模:MIND、ComiRec等。

图模型

对比学习

冷启动

多模态

因果推断

其它的方向:模型蒸馏,纠偏、跨域推荐、元学习、多模态等。

关于技术方向,推荐公众号 ReadPapers。据我了解,能够非常及时的推送最新的搜推广新文,虽然只是信息的采集,没有深入的解读,但是对于想快速跟进前沿的同学来说很棒。

2.4 实战

深度CTR模型开源项目

图模型开源项目

  • DGL:Aws开源更新的更频繁,支持多种深度学习框架,可能更值得关注;
  • PyG:斯坦福开源的pytorch的框架;
  • PGL:百度开源,PaddlePaddle写的;
  • Euler:阿里开源的,可以细致观看各类Encoder实现 (如ShallowEncoder, SageEncoder等);node2vec实现;底层C++图引擎可以关注random walk和alias sampling的实现。仅作为学习。这个框架维护的不够及时,灵活性以及分布式实现上仍然存在很多不足。

各大Top赛事开源方案

可以关注一些竞赛大佬的公众号:比如”包包的算法笔记“、”kaggle竞赛宝典“。

3. nlp知识

这部分新工作也是层出不穷,个人可能也没有follow的很快,可能遗漏了一些,可以参考下。

可以关注一些nlp大佬的公众号或博客:苏剑林的博客、夕小遥的卖萌屋、李rumor、高能AI、NewBeeNLP等。

总结

最后总结下,个人认为算法岗要找的好,除了本身的长期积累沉淀的硬实力之外(Paper,比赛,实习,项目),4者至少取其二。

主要考核的就是两个方面的能力:

  • 基础扎实程度 (编程coding基础;ML/DL算法的数学基础):基础扎实意味着围绕某个知识点,面试官不管怎么问,都难不倒。目标是应对笔面试过程中coding以及对知识深度的考察。
  • 前沿知识广度 (follow时下科研趋势,如GNN,BERT,知识图谱,对比学习,因果推断等;以及了解工业界中推荐/搜索/nlp的整体应用和流程等)。以应对面试中的对知识广度、开放性问题的考察。

硬实力有的前提下,这三个方面扎实的话,我觉得拿offer是完全可以的。
当然,包括谈吐交流、找对内推人、运气都是技术本身之外非常重要的东西。
最近行业变化较大,希望大家都能顺利找到心仪的工作。

最后,需要帮看/改简历和帮内推的同学,欢迎公众号后台私聊我。

更多校招相关文章

#2023届实习##内推##实习##面经##秋招##算法工程师#
全部评论
把这么多准备完要多久。。
1 回复 分享
发布于 2022-03-31 14:58
有幸去年年末就跟着你推荐的方向刷题学知识 现在比当初进步了很多很多
点赞 回复 分享
发布于 2022-04-01 02:58
同是机械本硕,看到博主的文章,深有同感
点赞 回复 分享
发布于 2022-04-01 18:42

相关推荐

25 253 评论
分享
牛客网
牛客企业服务