AI 面经:我是如何从机械行业本科社招成功转行NLP并薪资翻倍的
抛砖引玉,大家有什么问题,可以在留言区讨论。
一本机械专业毕业,从事传统制造业多年,处于“鄙视链”的底层。
参加了七月在线机器学习集训营 第六期。本人除了数学,其他基本零基础,毕业又多年,还是在职学习,学习还是比较吃力的。我自己的学习宝典:
➢七月在线的视频:注意老师说的每一句话,都可能在面试中被问到。
➢书:用于补充理论。
➢网络视频:很多公开课和一些大神的学习视频。
➢博客:网络视频还是搞不懂的情况下。
➢论文:最新的研究成果,google大法好!
➢老师和同学:七月在线真是卧虎藏龙的地方啊!
我是在具备了以下这些技能下才开始投递简历的,机器学习模型知道原理,部分会推导,深度学习模型能画出模型结构,以及课上老师提到的常见问题基本都掌握:
➢机器学习:SVM、LR、DT、RF、Boost、k-means、DBSCAN、NB、HMM、CRF。(其中图模型基本没被问到)
➢深度学习:DNN、CNN、RNNLSTMGRU、Word2vecDoc2vec、FastText。
➢数据结构和算法:链表、二叉树、排序、动态规划(被考到一次手写)。
面试过程也是学习的过程,面试过程中所获得的技能有:FAISS、Transformer(恶补)、Self-Attention、Bert、Linux常见命令、知识图谱(了解)。
抓住金三银四的契机投了不少简历,大撒网。很多公司的JD上写的要求硕士甚至博士学位,但这个不是硬规定,只是加分项,可能会对“身价”有轻微影响,厚着脸皮投吧。要求的相关专业同样如此。这样,年后我大概投了50+公司。
年后的第一周就面试了7家公司,基本都是小公司。面试官不太偏重理论,基本流程是:第一阶段问一下项目大概情况、以及所用模型的原理,这个阶段我没有什么问题;第二阶段,他们以工作中遇到的场景,问我有什么具体的解决方案。
第二阶段的场景把我难住了,这里列出我遇到的两个场景:
1)一篇文档,如何自动获得词与词之间的关联度。这里我用的是textrank的思路回答的,大家有什么更好的方案,请告诉我,谢谢!
2)用户注册APP,填写性别,但用户自己填写的性别会有大约10%的错误率,这里并不知道哪些是错误的标签,请问如何通过用户行为特征,对这些性别标签进行纠错呢?现场我给出了传统半监督的方法,但因为并不知道错误/正确标签的数据是哪些,所以这个方案是行不通的。
面试后,群里大佬们给出的解答:先聚类成两类,然后离中心点近的样本权重高,离中心点远的样本权重低,用带权重的样本去学习模型,借鉴的是attention机制。大家如果有更好的方案请务必告诉我,谢谢!
第二周,大厂们的HR开始行动了,大厂一般会有好几轮面试,这里也只说说技术面。一般流程:首先看你简历上写的专业技能,抽出几个典型的模型问原理,迭代过程,当然会有推导;接下来是项目中各个环节的处理方式,特征工程为什么这样处理,模型的表现,以及你认为优化点有哪些,有没有进行尝试。
大厂们的工程师技术确实过硬,提到的问题基本都是项目中的关键点。当然,也会给我场景,问有没有解决方案,但我遇到大厂的场景基本不那么复杂,抽象为分类、回归问题就能解决。
因为个人原因,学习阶段确实花了很多时间。比如xgboost的学习,从刚开始的懵逼,到最后会推导,了解生成方式,了解模型中每个参数,甚至调参策略等,前后我至少花了20个学时。学习下来,个人认为,AI领域的知识其实并不难,只要肯花时间,肯定能够理解的,不像我之前从事的行业,网上公开的资料基本没有,那才叫煎熬啊。除了理论,实践当然也很关键,参加比赛真的对我提升不少,特别是代码能力。
前后面了近10家公司,总体感觉今年的要求普遍比去年高,像NLP最新的模型TransformerBert,好像成为NLP算法工程师的标配了,40%的几率会被问到。面试中肯定有自己不会的问题,这个时候我会说:我在项目中没有遇到类似的场景,但接触后肯定能够很快上手,再厚着脸皮请教面试官。由于是初涉及这个行业的新手,也遇到过不少坑,面试是双向选择的过程,最好在面试中就能识别出哪些公司适合自己。
Anyway, 学习阶段最重要的是:自律,面试阶段最重要的是:自信。再次感谢七月在线平台,感谢校长及各位老师和各位大神同学,以及小杜。最后,无论大家成功与否,都祝大家前程似锦!
谢谢!
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2019/03/23/671af9e8d4/