非科班运维开发转NLP 40万的经验:LeetCode不能漏刷

背景:

末流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

其它

比较遗憾的是没有去大厂面试,主要是是信心不足和面试时间不够充裕。

最后,祝大家都能顺利找到心仪的工作~

    THE END
    喜欢就支持一下吧
    点赞11 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容