2021届校招算法岗知识点总结

2020 年 11 月 23 日 AINLP

本人去年经历了2020届校招,并如愿拿了包括BAM等在内的国内Top互联网企业算法岗offer。现分享自己总结的面试需要准备的一些知识点,主要针对找搜索、推荐或nlp岗位的同学:

1. coding基础,Leetcode至少刷200题+剑指offer(可在牛客网刷),尤其是链表、树、动规。

2. 机器学习基础,

  • 我主要看的李航老师的统计学习方法(LR,SVM,EM,最大熵,集成学习等)),值得反复看好几遍,每一遍都会加深理解;尤其是学习理论:贝叶斯决策理论/假设空间概念/经验风险, 结构风险/各类损失函数之间的区别与联系/极大似然估计, 最大后验估计, 贝叶斯估计的区别与联系。

  • 树模型系列论文深入理解,gbdt,xgboost,lightgbm;

  • 深度学习基础:过拟合解决方法,dropout,bn,ln等;学习器,各种optimizer原理及对比;BP原理;各种激活函数等,最好用numpy手写一遍MLP,包括train+infer。

  • 概率图模型:LDA,ELBO,KL散度(e.g., 最小化KL散度和极大似然法联系),变分推断,吉布斯采样等。

  • 评估体系:Precision, Recall,F1, AUC (实现+内在含义,多种角度理解,如正负样本偏序关系角度),还包括交叉验证等。

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

关于面试重点:树模型知识,推荐wepon的总结:

GBDT算法原理与系统设计简介 

(http://wepon.me/files/gbdt.pdf)


贝叶斯决策理论是机器学习,深度学习的基础。这里头最重要的MLE, MAP, 贝叶斯估计的区别与联系,参考李文哲老师的总结:

 机器学习中的MLE、MAP、贝叶斯估计

3. nlp相关的知识

  • nlp常见的概念:词法、句法、语义等;困惑度等。

  • 了解重要的四大类nlp任务:分类任务、序列标注任务、句子关系判断任务、生成式任务。

  • 传统的模型:语言模型、HMM、CRF、LDA等;

  • 深度学习模型:Seq2Seq,Attention (还包括图像领域常用于nlp的模型,CNN, ResNet等);

  • 预训练模型

    • word2vec相关的 (Glove和PPMI等);

    • bert相关的(transformer ELMo GPT XLnet ALnet transformerXL).

     关于Seq2Seq,Attention的总结可关注我的博文:

深度学习中Attention机制调研 

(http://xtf615.com/2019/01/06/attention/)

     

     关于nlp的学习可关注张俊林老师的知乎专栏文章:

从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史 (https://zhuanlan.zhihu.com/p/49271699)


放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器比较(https://zhuanlan.zhihu.com/p/54743941)


Bert时代的创新:Bert应用模式比较及其它(https://zhuanlan.zhihu.com/p/65470719)

  

   另外,推荐艾伦研究所的开源项目allennlp,包括各种流行的模型+任务的源码,对于系统了解nlp处理流程以及深入理解各类任务有帮助:

An open-source NLP research library, built on PyTorch.

(https://github.com/allenai/allennlp)


4. 数学题比如贝叶斯公式算后验概率(求概率),优惠券收集问题(求期望),蓄水池问题(采样)等。还包括一些偏智力的题。这类问题主要难在理解题意,对数学中的概率/期望/微积分/极限等知识点会有些要求。之前看到的部分概率题总结,排版有点问题,凑合着看一些题型。

互联网面试概率题总结(https://blog.csdn.net/BertDai/article/details/78070092)

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

6. 找搜索推荐岗位,推荐模型,点击率预估模型,排序学习learning to rank模型,这部分的学习要结合工业界+学术界,比如:

  • 传统的方法:LR+GBDT(facebook文章),FM,FFM,LambdaMART。

  • 深度学习的方法:Wide & Deep,DeepFM等。还包括最新的paper:CTR模型: DIN, DIEN等;多任务学习:MMoE、ESSM等。

可参考我的万字推荐系统和排序学习调研博客:

推荐系统调研 (http://xtf615.com/2018/05/03/recommender-system-survey/)

排序学习调研 (http://xtf615.com/2018/12/25/learning-to-rank/)

另外:张俊林老师的专栏文章系统总结了推荐系统技术发展,值得关注:

推荐系统技术演进趋势:从召回到排序再到重排 (https://zhuanlan.zhihu.com/p/100019681)

对于深度CTR模型,推荐阿里的学长在github的开源项目DeepCTR,可以深入了解各类state of the art的模型以及其实现细节:

Easy-to-use,Modular and Extendible package of deep-learning based CTR models.(https://github.com/shenweichen/DeepCTR)

另外,推荐一篇关于“深度CTR模型的发展过程”梳理文章,非常值得学习!

CTR预估模型发展过程与关系图谱 (https://zhuanlan.zhihu.com/p/104307718)

7. 最新的科研趋势,GNN图神经网络相关的,DeepWalk,Node2Vec,GCN,GraphSAGE,PinSAGE等。还包括强化学习;GAN;知识图谱等。关于GNN的前沿技术可关注我的博客:

图卷积神经网络原理详解 (http://xtf615.com/2019/02/24/gcn/)

图表示学习Encoder-Decoder框架 (http://xtf615.com/2019/12/04/representation-learning-on-graphs/)

另外,可以关注各大顶会的tutorial,这是我了解最新前沿技术的主要途径之一。现分享我整理的近2年里核心的GNN的paper,survey,以及各大顶会的tutorial (KDD, AAAI, WWW, CIKM等), 提取码: bwuw

GNN资料整理分享 (https://pan.baidu.com/s/10zPlVgD6N5hCj_Ddbnvz0w)

另外,关于图表示学习的编程实践可以参考阿里开源的github项目:

A distributed graph deep learning framework. (https://github.com/alibaba/eulerhttps://github.com/alibaba/euler)

其编程格是按照我上面分享的“图表示学习Encoder-Decoder框架”来组织的;可以细致观看各类Encoder实现 (如ShallowEncoder, SageEncoder等);node2vec实现;底层C++图引擎可以关注random walk和alias sampling的实现。(仅作为学习。这个框架维护的不够及时,灵活性以及分布式实现上仍然存在很多不足。另一个AWS开源的框架DGL(github.com/dmlc/dgl)更新的更频繁,支持多种深度学习框架,可能更值得关注)。

最后总结下,个人认为算法岗要找的好,除了本身的长期积累沉淀的硬实力之外(Paper,比赛,实习,项目);主要考核的主要就是三个方面的能力:

  • 编程基础 (数据结构和基础算法。以应对面试中的coding环节)

  • 数学基础 (各种机器算法的原理,推导和数学题。以应对面试中的对知识深度的考察环节)

  • 前沿知识广度 (follow时下科研趋势,如CTR,GNN,Bert,知识图谱等,以及了解工业界中推荐系统、搜索引擎的整体流程。以应对面试中的对知识广度、开放性问题的考察等环节)。

硬实力有的前提下,这三个方面扎实的话,我觉得拿offer是完全可以的。

当然,包括谈吐交流、找对内推人、运气都是技术本身之外非常重要的东西。

感谢2020届校招帮助过我的学长学姐们,希望大家今年也能顺利找到心仪的工作。


由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:

(1)点击页面最上方"AINLP",进入公众号主页。

(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。

感谢支持,比心

欢迎加入AINLP技术交流群
进群请添加AINLP小助手微信 AINLPer(id: ainlper),备注技术交流

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。


阅读至此了,分享、点赞、在看三选一吧🙏

登录查看更多
0

相关内容

《机器学习思维导图》,一图掌握机器学习知识要点
专知会员服务
68+阅读 · 2021年1月12日
【AACL2020】自监督学习的自然语言处理
专知会员服务
51+阅读 · 2020年12月12日
专知会员服务
119+阅读 · 2020年12月9日
专知会员服务
38+阅读 · 2020年10月17日
【经典书】机器学习:贝叶斯和优化方法,1075页pdf
专知会员服务
404+阅读 · 2020年6月8日
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
73+阅读 · 2019年10月19日
学习自然语言处理路线图
专知会员服务
137+阅读 · 2019年9月24日
字节跳动 | 推荐算法工程师面经
机器学习与推荐算法
10+阅读 · 2020年7月6日
一文看尽80道AI算法高频面试题
CVer
6+阅读 · 2020年6月17日
ML、DL、NLP面试常考知识点、代码、算法理论基础汇总分享
面经 | 算法工程师面试题汇总
极市平台
12+阅读 · 2019年10月14日
计算机视觉知识点总结
极市平台
18+阅读 · 2019年4月16日
备战AI求职季 | 100道机器学习面试题(上)
七月在线实验室
9+阅读 · 2019年3月16日
春招已近,这份GitHub万星的ML算法面试大全请收下
算法与数学之美
6+阅读 · 2019年2月27日
春招已近,送你一份ML算法面试大全!
机器学习算法与Python学习
10+阅读 · 2019年2月22日
干货 | 一文总结机器学习类面试问题与思路
THU数据派
3+阅读 · 2018年7月15日
Arxiv
0+阅读 · 2021年2月3日
Generating Fact Checking Explanations
Arxiv
9+阅读 · 2020年4月13日
Arxiv
4+阅读 · 2020年3月27日
Bivariate Beta LSTM
Arxiv
5+阅读 · 2019年10月7日
Arxiv
8+阅读 · 2019年2月15日
VIP会员
相关VIP内容
《机器学习思维导图》,一图掌握机器学习知识要点
专知会员服务
68+阅读 · 2021年1月12日
【AACL2020】自监督学习的自然语言处理
专知会员服务
51+阅读 · 2020年12月12日
专知会员服务
119+阅读 · 2020年12月9日
专知会员服务
38+阅读 · 2020年10月17日
【经典书】机器学习:贝叶斯和优化方法,1075页pdf
专知会员服务
404+阅读 · 2020年6月8日
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
73+阅读 · 2019年10月19日
学习自然语言处理路线图
专知会员服务
137+阅读 · 2019年9月24日
相关资讯
字节跳动 | 推荐算法工程师面经
机器学习与推荐算法
10+阅读 · 2020年7月6日
一文看尽80道AI算法高频面试题
CVer
6+阅读 · 2020年6月17日
ML、DL、NLP面试常考知识点、代码、算法理论基础汇总分享
面经 | 算法工程师面试题汇总
极市平台
12+阅读 · 2019年10月14日
计算机视觉知识点总结
极市平台
18+阅读 · 2019年4月16日
备战AI求职季 | 100道机器学习面试题(上)
七月在线实验室
9+阅读 · 2019年3月16日
春招已近,这份GitHub万星的ML算法面试大全请收下
算法与数学之美
6+阅读 · 2019年2月27日
春招已近,送你一份ML算法面试大全!
机器学习算法与Python学习
10+阅读 · 2019年2月22日
干货 | 一文总结机器学习类面试问题与思路
THU数据派
3+阅读 · 2018年7月15日
相关论文
Arxiv
0+阅读 · 2021年2月3日
Generating Fact Checking Explanations
Arxiv
9+阅读 · 2020年4月13日
Arxiv
4+阅读 · 2020年3月27日
Bivariate Beta LSTM
Arxiv
5+阅读 · 2019年10月7日
Arxiv
8+阅读 · 2019年2月15日
Top
微信扫码咨询专知VIP会员