BAT NLP 实习offer共勉

2023-11-21 23:40
文章标签 实习 bat offer nlp 共勉

本文主要是介绍BAT NLP 实习offer共勉,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

传送门: https://zhuanlan.zhihu.com/p/36096340

Part I:你的简历

Part II:深度学习

Part III:机器学习

Part IV:算法编程

Part VI:佛系养生篇


背景:广州某985本硕,研究方向NLP/DL/RL,面了BAT和网易游戏这四家,其中三个是做问答或对话系统。

offer情况:全部收到offer。offer可能会迟到,但是不会缺席的。

 

本文主要总结一下我个人的准备过程,时间为半个月左右。

一面首先要过coding这一关,白板编程,接下来面试主要围绕你简历展开考察深度学习基础,然后再聊一聊传统机器学习。

 


 

Part I:你的简历

首先你要写一份漂亮的简历,用语简练专业,突出重点,对大部分同学来说压缩成一页就够了,最多两页。

推荐这个免费网站:超级简历,非常简洁漂亮又有迎面而来的大神既视感。

你的简历需要包含这几部分:

1)教育背景:可以写上绩点排名,所在实验室以及研究方向。

2)项目经历:写明问题背景,xx数据集,xx解决方法,具体评价指标达到xx,相比xx方法提升了xx个百分点,最后还可以附上代码开源地址,或者项目上线地址。

3)实习经历:实习所负责的职责,和项目经历一样的写法。

4)论文:如果你投research岗位,顶会是个大加成;如果你投的是nlp工程岗位,论文其实没有硬性要求,更看重项目。

5)荣誉奖项:xx奖学金,kaggle xx牌,xx比赛排名。(打比赛最好是先solo再组队,自己的贡献一目了然)

6)其它:放上你的github地址,blog地址。

 

其中项目是重点,我相信看到这篇文章的你,应该有相关的NLP项目,那么你应该对你简历所写上去的东西负责任(也就是对细节非常熟),对方可能会问到你:

1)具体参数设置,为什么要这样设置(掌握一下调参玄学)

2)你的模型,为什么这么做,为什么能work,和xx方法比怎么样

3)可能根据你的项目及模型,提出某个可能存在的深藏不露的问题,问你如何解决

4)项目难点是什么,又如何解决,从哪几方面解决,效果提升多少

5)如今的你再来看从前的这个任务,有没有更好的解决思路

6)给你一个新的业务场景,你怎么把你的模型移植上去,怎么重新设计模型,和你之前项目的区别是什么,需要注意哪些问题

7)项目分工,你做了哪部分工作

8)你这个任务的state of the art


Part II:深度学习

这部分其实我没怎么复习,都是经验之谈。

首先关于基础原理,你至少要知道这些:

1)CNN原理,如何用在文本上,在什么情况下适合用CNN,在什么情况下用LSTM

2)RNN系列,掌握RNN、LSTM和GRU的内部结构,RNN产生梯度消失的原因,LSTM如何解决,GRU对LSTM的改进。

3)Word2vec工具,怎么训练词向量,skip-gram和cbow,可以参考一下:一篇通俗易懂的word2vec(也可能并不通俗易懂)

4)Attention机制,比较常见的方法,可以参考一下:Attention用于NLP的一些小结

5)NLP基础任务,比如分词算法(序列标注任务),分类算法

 

关于实战部分,你至少也要知道这些:

1)数据预处理,权重初始化,为什么不能全部初始化为0,词向量怎么预训练

2)过拟合问题,原因是什么,怎么解决,主要从数据和模型两方面出发:机器学习中用来防止过拟合的方法有哪些?

3)调参技巧,比如,卷积核大小怎么按层设置,bn放在哪里比较合适,激活函数之间的区别(sigmoid,tanh和relu),词向量维度怎么设置,等等。

4)模型评估指标,acc,pre,recall,f1,roc曲线和auc曲线,分别适用于什么任务,怎么降低偏差,怎么降低方差,可以关注一下Hulu微信公众号:Hulu机器学习问题与解答系列 | 第一弹:模型评估

5)优化方法,批量梯度下降,随机梯度下降,mini-batch梯度下降的区别,adam,adagrad,adadelta,牛顿法

6)梯度消失问题,原因(链式求导,激活函数),解决方法(主要是batch norm);以及梯度爆炸问题(梯度截断)

7)关于训练集和验证集,为什么要划分,如何划分(留出法,交叉验证)

8)如何处理数据不均衡问题,也是从数据和模型两方面出发解决。

 

其实大部分问题,google一下就有答案。


Part III:传统机器学习

看这本书:周志华-机器学习(俗称西瓜书)

这本书我们实验室人手一本,真正通俗易懂,有基础的话一周就能看得差不多,很多内容我在大三的时候已经学过了。这本书比李航统计学习方法要好看很多,特别适合没有基础的入门者。

我觉得这本书的目录差不多已经涵盖了面试会问到的内容,至少要看完第2-9章,第14章的概率图模型也看一下,第16章的强化学习就见仁见智了,虽然我在简历上写到强化学习背景,但实际上问到我强化学习的只有那么一位面试官(RL+对话系统)

 

你至少要掌握的算法原理:

1)朴素贝叶斯

2)逻辑回归,线性回归

3)决策树,不同的划分方式,ID3,C4.5,CTAR,XGBoost等等

4)Ensemble模型

5)SVM,核函数选择,不同SVM形式

6)HMM,CRF,如何轻松愉快地理解条件随机场(CRF)?

7)最大熵原理,图解最大熵原理(The Maximum Entropy Principle)

8)KNN和K-Means,DBSACN也了解一下,以及各种距离计算方式,关于机器学习距离的理解

以上列出的算法都需要掌握其基本原理以及优缺点,可以参考:机器学习算法优缺点及其应用领域 - CSDN博客

 

你必须要会写的公式:

1)BP后向传播过程的推导,可以参考:漫谈LSTM系列的梯度问题,先定义Loss函数,然后分别对输出层参数和隐藏层参数进行求导,得到参数的更新量。

2)softmax和交叉熵推导,分成i=j 和 i\nej 两种情况来算,参考这里:大师网-简单易懂的softmax交叉熵损失函数求导

3)各种Loss函数

4)似然函数,负对数似然函数的推导

5)最小二乘法,利用矩阵的秩进行推导

7)贝叶斯定理,拉普拉斯平滑

 

你最好也要掌握一下的公式:

1)RNN在BP过程中梯度消失的原因,也把这个链式求导过程写出来。

2)各种优化方法的公式,SGD,Momentum,Adagrad,Adam,机器学习优化方法总结比较 - 合唱团abc - 博客园

3)Batch Normalization,就是个归一化过程,再加一个scale操作

4)SVM推导,拉格朗日了解一下:机器学习之拉格朗日乘数法

5)最大熵模型相关推导,一步一步理解最大熵模型 - wxquare - 博客园


Part IV:算法编程

不管你面试什么公司,请记住coding几乎是必考的,这是工程师的基本功。

编程分成三种:普通算法编程,海量数据编程,模型编程。

普通算法编程,一般用C++,需要掌握数组,链表,二叉树,递归,贪心,动态规划,各种容器,各种排序算法,在时间或者空间上的优化思路,以及复杂度的分析。

容器是个好东西,用vector代替数组,用map实现桶思想,用set排序,用queue写bfs,用stack写dfs等等。

推荐大家刷:剑指offer,这本书两天就可以看完(如果仅仅是看题目以及思路),然后上牛客网做一下题:剑指Offer_编程题_牛客网,66道原题全在这,而且评论区有大神出没,某些题的解法我觉得比书上的要巧妙。或者刷LeetCode也可以。

随手列几道常考的代码题:

1)复杂链表的复制,链表的删除

2)最长公共子序列,逆序对

3)快排,归并排序,堆排序

4)二分查找,以及衍生的题目

5)深度优先搜索

 

海量数据编程,这种用python写比较方便一点,可以把大文件划分成小文件,或者分治加哈希:十道海量数据处理面试题与十个方法大总结 - CSDN博客

 

模型编程,有时候可能会让你用某个深度学习框架搭某个模型,不过这种比较少。

做科研比较推荐pytorch,业界用tf 比较多,不过也得看组看个人,如果项目需要上线很有可能就是要用tf了。我个人比较喜欢用pytorch,方便搭模型,对RL也很友好。但tf 还是要掌握一下的,指不定哪天这个项目就是要用tf来上线呢。

总之,刷题即可,多写代码多搭模型。


以上都是非常基础的内功,最重要的是你如何向别人去展示你的实力,我觉得只有理解到位了,且有自己的思考,才能和别人进行愉悦的交流和探讨。


Part VI:佛系养生篇

offer固然重要,身体是最重要的。

最近没有更新专栏,因为身体出了点状况,三天两头跑医院。因此添加这一节内容告诉大家,有钱不如去买口红买机械键盘!不要大把花在医院!

 

1. 牙齿超级重要!

牙齿要保护好,并及时拍片检查。

因为牙齿真的真的真的很重要!嘤嘤嘤!我小时候牙齿动过手术,现在复发很严重,要做好多次手术,我瑟瑟发抖!

(刚刚动完第一次手术,人生依然美好!并不影响我的颜值!开心!)

 

2. 眼睛是心灵的窗户

1) 眼药水,推荐日本santen那一款。

2) 日常转动眼珠,先顺时针慢慢转动几圈,再逆时针转动几圈(超有效)。

3) 轻轻按摩眼窝和太阳穴。

4) 眼霜,熬越晚的夜就用越贵的眼霜。

 

3. 关于熬夜

不要熬夜!早睡早起!

熬夜使你脸浮肿!熬夜使你第二天没精神写代码!熬夜使你内分泌失调!熬夜会带来很多潜伏的问题!熬夜玩手机不如看论文!

对付不得已的浮肿:

1) 每天洗脸的时候,顺时针转动头部,再逆时针转动,大概花几分钟时间,非常有效。

2) 轻轻按摩咬肌附近,要先上乳液。

3) 从下巴往上沿轮廓轻轻推动肉肉

4) 轻轻拍打下颌处肉肉(俗称打脸)

 

4. 多运动!

道理大家都懂。

很久之前我和实验室另一个妹子,一起办了健身卡,想要相互push,后来,我一次也没去过,她只去过一次.......

但最后她加入了校内的运动社团,强制签到push,每周30公里的运动量妥妥的。

但是我找到了这个:

30分钟瘦身操

感觉很方便~~~啦啦啦

这篇关于BAT NLP 实习offer共勉的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/405900

相关文章

Wondows dos下怎么编写bat批处理文件

最近搞php,在运行时,以Nginx+php-cgi.exe方式运行Wordpress项目 打开dos,先cd到php-cgi.exe文件当前目录下执行启动命令:php-cgi.exe -b 127.0.0.1:9001再打开一个dos,再cd到nginx.exe文件当前目录下执行启动命令:start nginx 大概过程要经过这些步骤,觉得很麻烦,就学下怎么编写一个bat文件,以双击运行代替

插件:清理maven错误缓存.bat

插件:https://pan.baidu.com/s/1nHIxHoo1C4MvFlW7QbZe5Q?pwd=7zenhttps://pan.baidu.com/s/1nHIxHoo1C4MvFlW7QbZe5Q?pwd=7zen没错误缓存时: 有错误缓存时:

实习项目|苍穹外卖|day7

缓存菜品 1.根据原型进行需求分析与设计(接口文档) 2.根据接口设计DTO(redis数据类型选取) 3.编码controller-》service-》mapper @GetMapping("/list")@ApiOperation("根据分类id查询菜品")public Result<List<DishVO>> list(Long categoryId) {//判断缓存

运行.bat文件,如何在Dos窗口里面得到该文件的路径

把java代码打包成.jar文件,编写一个.bat文件,执行该文件,编译.jar包;(.bat,.jar放在同一个文件夹下) 运行.bat文件,如何在Dos窗口里面得到该文件的路径,并运行.jar文件: echo 当前盘符:%~d0 echo 当前路径:%cd% echo 当前执行命令行:%0 echo 当前bat文件路径:%~dp0 echo 当前bat文件短路径:%~sdp0 nc

20190315 把整理和培养自己当作一生的事业,而不是局限在找工作拿offer。

把整理和培养自己当作一生的事业,而不是局限在找工作拿offer,做有本事的人。 来东南读研半年了,明显感觉自己掌握的不过是书本知识级别的中上水平,垃圾收集器这些的只知道背面经,靠脑子硬记,缺乏整理和系统,一头浆糊。 现在一边做实训这个烂项目,一边刷面经,一边刷剑指offer,想投些大公司的实习,又觉得还没准备好,看着各 种面经,都能说个大概,但明显感觉到自己知识的不体系和不深入,**做的项目

【Unity面经】实习篇:面试官常问的一百个面试题

👨‍💻个人主页:@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 专栏交流🧧🟥Unity100个实战基础✨🎁🟦 Unity100个精华一记✨🎁🟩 Unity50个demo案例教程✨🎁🟨 Unity100个精华细节BUG✨🎁🟨 Unity100个面试题✨🎁 文章

我的第一次份实习工作-iOS实习生-第三个月

第三个月 这个月有一个考核项目,是一个电子书阅读器,组长说很重要,是我的实习考核项目。 我的项目XTReader,这是我参考网上的一些代码,和模仿咪咕阅读做的,功能还不完善,数据的部分是用聚合数据做的。要收费的。   还有阅读页面,基本功能实现了一下。使用了autolayout,自适应布局,也是第一次用网络,第一次用数据库,第一次用自动布局。还有很多不足。 做了一周多,有个问题一直没

我的第一次份实习工作-iOS实习生-公司使用过的软件

bittorrentsync 素材,文件同步软件 cornerstone svn 软件开发合作 mark man 测量坐标的软件 SQLLite Manager 数据库操作软件

我的第一次份实习工作-iOS实习生-第二个月

第二个月 来公司过了一个月了。每天早上9点上班,到晚上6.30下班,上下班要指纹打卡,第一个月忘了打卡好多次(),然后还要去补打卡单。公司这边还安排了,工资卡办理,招商银行卡。开了一次新员工大会,认识了公司的一些过往,公司的要求等,还加了一下公司的企业QQ,还有其他的羽毛球群,篮球群。我加了下羽毛球群,也去打了一两次。第二个月的感受,感觉跟组里面的交流跟沟通都好少,基本上还有好多人不认识。想想也

我的第一次份实习工作-iOS实习生-第一个月

实习时间:2015-08-20 到 2015-12-25  实习公司;福建天棣互联有限公司 实习岗位:iOS开发实习生 第一个月: 第一天来公司,前台报道后,人资带我去我工作的地方。到了那,就由一个组长带我,当时还没有我的办公桌,组长在第三排给我找了一个位置,擦了下桌子,把旁边的准备的电脑帮我装了下,因为学的是iOS,实习生就只能用黑苹果了,这是我实习用的电脑。 帮我装了一下电脑后,开机