背景:
末流211,非计算机专业硕士,两年半devops经验。
我是NLP就业班学员,之前有一定的机器学习和CV的基础。由于没有项目经验,也没想好自己要从事传统机器学习、图像还是其他机器学习领域,面试的时候有些受挫。
加入NLP就业班的目的很简单,第一就是选择了一个专攻方向,第二就是有项目可以写到简历上。
大概去年11中旬结束了学习,然后开始投简历面试,大概两周就收到两份offer,我选择了其中一家薪资较高的。一些学习和面试经历分享给大家,希望有帮助。
01
专业基础
跟着老师的节奏走,按时完成任务,选择自己感兴趣的方向深入学习,读一些相关的论文,做一些复现工作。
面试的时候能够展现出对某一个方向研究得比较深,会给面试官“喜欢专研,学习能力不错”的好印象。
面试中遇到的一些开放性问题:
如何解决oov问题?
bert模型的创新点和优势?
语言模型有哪些应用?
如何训练一个命名实体模型?
词向量的训练方法有哪些?
简述中文任务中的文本预处理流程?
常见的文本分类算法有哪些?
其他一些机器学习算法和深度学习方面的问题。比如GBDT/XGBoost/深度学习优化器等。
02
代码基础
坚持刷LeetCode的题,尽量从入班后开始做准备,每天刷一两道题目,坚持下来就有一定量的积累了。
我在学习过程中,刷了leetcode腾讯题库中的50道和其他一些常规题目,加起来大概80道左右。准备的不算多,常规题型基本覆盖到,面试将就够用。通常面试官都会让手写两道算法题。
我的策略是把能够想到的解法都思考一下,分析一下时间、空间复杂度。一开始,可以不用写最优的解法,给面试官追问你的空间。抓住一些机会,把自己的思考有条不紊地说出来。
我面试中遇到的题目类型:
1、二分查找的变形题:如旋转数组的二分查找等。这个考得比较多,有三家公司出了二分查找相关的变形题目。
2、动态规划。这个类型的题目不用说了,很重要,也常考。
3、字符串处理相关的题目。也许是考查数据预处理的代码能力?
我遇到了连续几个面试官都考这种类型的题目。
03
项目基础
准备两个理解得比较深的项目,把面试官可能问的项目相关的问题都提前准备好,尽量让他问不倒。
对于转行或者社招的同学,尽量不要说自己没有实战项目经验,更不要说简历上的项目都是业余时间做的之类的话。
很多面试官一听你没经验,各种“狗眼看人低、鄙视的小眼神”,甚至不给表现的机会,直接给挂了。这话有点偏激,但是确实是需要考虑的。
对于我而言,我把就业班的项目仔细做了两个,然后把项目和自己在公司做所的事结合起来,写到了简历上。通常面试官会让你选择一到两个项目详细讲解一下。
我一般是讲述项目的背景、立项,如何调研算法与模型的,自己在项目中的作用,模型的实现,baseline,如何优化提高评测指标的,最后如何部署上线,甚至怎么监控等,都说下。
讲述模型的时候,我会边写公式,一边讲述。总之就是要体现自己对项目、模型的理解比较深。
04
工程能力
现在很多公司都在搞NLP落地,有的公司希望面试同学具备一些工程能力。
具备把模型封装成接口、部署上线,转换成产出,也会是加分项。
05
其它
比较遗憾的是没有去大厂面试,主要是是信心不足和面试时间不够充裕。
最后,祝大家都能顺利找到心仪的工作~
暂无评论内容