我的NLP秋招之旅:如何一步步准备并拿到大厂NLP的offer


Pain is inevitable.Suffering is optional.

首先介绍一下本人的简单情况。
本人身份是在校硕士,是机器学习集训营第六期的学员。本科学校211,硕士学校985。EE专业。
在校的实验室主要做的比较传统方法,有一些项目比较偏图像。
看师兄师姐们的建议,已经当下的形势,决定还是学习机器学习方面的岗位。
由于我个人比较认同兴趣驱动,结合个人的兴趣,最终选择了NLP方向。
在学习的过程中发现手头资源不多,且难以调动,最终多方打听,选择了七月在线学习平台。
主要是想通过集中系统的学习,来提高自己的实力,为秋招做准备。

下定决心后,就开始了漫长的学习过程。以下是我的学习路线,请大家参考。
1. 西瓜书,蓝皮书。这两本是机器学习的经典之作,相信大家都不会陌生。个人的建议是,第一遍读的时候,太细节的地方可以放掉。先有一个大体的感觉。因为这两本书本来读一遍是不够的。我在看这两本书的时候,在书上做了很多笔记,都是自己的理解。再看的时候,说不定理解会变化,且更加深刻。
2. 七月在线课程。七月在线的机器学习集训营,有比较详细的课程计划表。说实话,时间还是挺密集的,我个人由于先看过书,但是有一些地方还是觉得内容较多,需要及时的复盘,补充。课程持续时间大概两三个月,也是一个集中学习的时间。当时我尽量把学校的事情完成之后,再来完成相关机器学习的学习的。现在想起来,那段时间紧张且充实。
3. 七月在线项目。老师给了一些项目让我们学习,这都是非常好的学习资源。不懂的地方可以问老师,问同学,七月在线给我们提供了一个良好的学习氛围。老师给的项目,有一些简单的,有一些比较难的。我下来之后,基本都会自己跑一遍,对自己感兴趣的项目,还会自己重新敲一遍,特别是一些实现的细节,或者一些tricks,我都会做一些记录。这些都是真实的项目技巧,也为我后来的项目做了准备。
4. 数据科学比赛。在上完七月在线的课程之后,一定要通过实际操作。一来是检验自己的学习效果,二来也是对自己能力的提高。多和比赛群里面的小伙伴交流,即使没进决赛也没关系,前期慢慢累积经验,逐渐会看到效果的。最终,我在天池的两个比赛中都拿到了前1%,另外还有一个比赛是获得了最终的第五名的。这些不错的比赛成绩,以及在比赛过程中的一些困难,解决方式等细节,都是可以写进简历当中去的。
5. 找实习。对于校招生来说,没有相关的工作经验,实习其实对于每个人来说,都是比较宝贵的经历。很多秋招企业,也比较喜欢实习过的学生。我的情况是,找到了几个实习,但是导师这边不太肯放,所以我最终没有去实习。但是,即使没有去实习,我建议还是要去找实习,这样会给自己积累很多经验。最终拿到了三家公司的实习offer,以导师不放为理由,遗憾拒绝。我虽然没有去参加实习,但是我利用这几个月好好的对之前的知识做了总结和复盘。并且还对于当前的各种NLP的新模型进行了学习。
6. 刷题。重要的一环,基本面试环节都会要做题。基本上面试的时候如果一道编程题都做不出来的话跟挂了没什么区别。建议在研一或者研二开始就坚持刷题,主要是剑指Offer和LeetCode,我总共刷了200道左右。 剑指Offer是赶时间用的,这本书一定要多看几遍,很多面试过程中遇到的题目就是原题。很多时候代码不一定要写的很精确,大概一个思想正确就好,面试官一般不会抠细节。所以,我的建议是思路至上,细节尽量。
7. 秋招。今年秋招,算法岗其实挺紧张的。正开始秋招之前,深刻感觉到今年秋招的难度比上一届更大。特别是NLP,岗位的需求量比CV少很多。身边一些目标找算法的同学,最后没有坚持住,转了开发,甚至转了测试开发的都有。但是我凭借坚定的信念和意志力,最终还是如愿拿到了NLP算法岗的offer。也算是大厂的比较核心的团队。想来是自己的第一份工作,把方向定准,看好前景就是我最大的目标。

接下来,我总结了一些在面试中的一些问题。供后来人学习。
值得一提的是,面试官往往会根据你项目中用到的东西提问。所以不太清楚的东西,不要往简历上写,写上去的东西必须是清楚的。
1. GBDT , XGBOOST, lightGBM之间的异同。
2. 随机森林与gbdt的异同
3. bagging、boosting、stacking的异同。
4. embedding的作用是什么?
5. 神经网络中的梯度消失和梯度膨胀是什么,怎么解决?
6. 激活函数的作用
7. 如何检验过拟合,数据量很小怎么办?
8. CRF的算法的解释。
9. 介绍momentum,RMSprop 和 Adam等优化方式
10. word2vec算法推导
11. word2vec的优化
12. attention的原理,计算公式。
13. seq2seq的缺点,如何改进?
14. 循环神经网络RNN怎么解决长期依赖问题?LSTM的结构是怎样的?
15.怎么理解“长短时记忆单元”?RNN中的隐状态ht与LSTM中的记忆状态Ct有什么区别?
16. LSTM与GRU关系是怎样的?
17.LSTM和GRU的区别?
18.word2vec和fastText对比有什么区别?
19.glove和word2vec对比有什么区别?
20. elmo、GPT、bert三者之间有什么区别?
21. elmo为什么用的是两层单向的LSTM而不是bi-LSTM?
22. Transformer原理。手撕
23. 在做NER任务时,lstm后面可以不用加CRF吗?
24.TextRank原理?
25. BERT原理。
26. BERT适合哪些场景,不适合哪些场景。
27. BERT训练过程中用到涉及到的哪些任务,这些任务如何去实现完成的。
28. 如何使用bert?Bert调参数的心得。
29. 聚类方式。K-means,层次聚类,DBSCAN...
30. 样本不平衡的解决方法?
31. 介绍一下,一些基于BERT的改进的模型。

最后,在这里感谢七月的各位老师,给予了很多帮助。
在以后的学习中,我依然会选择七月在线,认可七月在线,相信七月在线。

最后的最后,祝七月在线越办越好!
已邀请:

要回复问题请先登录注册

收藏七月在线,一起向大牛进阶

ctrl+D或command+D可以快速收藏哦~