引言:我的转行面试大约用了一个半月的时间,面过很多家公司,运气比较好,在互联网寒冬季还能连拿7个offer,最后选择了一个BAT大厂,知识图谱算法岗,月薪28k,比原工资翻两倍还多,福利待遇也比原来好。 经历过这么多面试后,也有趟过很多坑,本可以更快的拿到合适的offer,安定下来之后感觉有必要总结一下整个转岗过程中积累的经验和教训,也整理出来一些小建议,希望在大家在求职路上有帮助。 01:
就业建议从在校生说起 我虽然本科是计算机学院,但是山东考生,大学期间只顾着把高中没玩的游戏全玩了一遍,很遗憾本科期间没有太出彩的表现。研究生是通信工程专业,跟人工智能也没啥关系,所以整体学历背景并没有特别乐观。 还在学校的学弟学妹们,除了应付平常的课堂和考试以外,尽可能早的接触前沿的新的知识,抓紧机会尽快参与到一些项目中,这对以后的工作很有帮助,关于项目种类,推荐学习一些工业级有实用价值的落地项目,能更方便的对接到企业的需求上。 【先贴一些我在学习过程中做过的项目名称,都是很有经验的老师总结的经典项目,大家可以参考一下】 02:
入职需谨慎,我的第一份工作经历 我是在体制内单位,有一年多的通信相关工作经验,偶尔会用到一些基础的机器学习知识,因为体制内的原因,具体工作内容不能讲太多,抱歉 。 刚开始以为体制内的工作清闲福利待遇好,其实并不是… 待遇:总体来看跳槽之前的工资算是高开低走吧,离职前是税后10k,加上房补贴之类的每月都到不了12k。 只一年,当初得意洋洋进国企的我被外面进互联网大厂的同学比的就捉襟见肘了。 工作强度:进来之后才发现跟传言中的喝茶看报完全不一样! 体制内年轻人也很累的,加班强度很高。而且各种繁琐的规定特别多,比如上班不能看书,帮助提高工作技能的书也不可以看,这点形式主义的价值观让我感觉很厌烦,而且阻碍了能力上的进步。 所以我只能下班找时间自己看《机器学习实战》。因为毕竟自己不是科班出身,只能照着书上讲的自己把机器学习主流算法用代码的复现了一遍。看完之后大概知道机器学习是什么,能干什么,只能说是初步入门了。 这本书对我帮助挺大的,但也有一个问题,就是各种模型细节都说不清,虽然代码能看懂,就是不知道代码为什么那么写,知其然,却不知其所以然的感觉,不痛快,平常也没有人能交流,很憋屈。 03:
走弯路的自学VS目标清晰的训练 刚开始决定换工作时,也走了很多弯路。一开始对k8s兴趣特别大。还去报过k8s的班,还考了cka的证。但是那个时候还没辞职,等真要出来找工作的时,k8s已经遍地开花,我的水平去应聘并不吃香了。 而且回头想想,k8s属于云计算的范畴,也就是会去面开发岗。但是开发岗主要看经历、实力,k8s就像搞算法出了个新模型,只能算锦上添花,并没有更光明的出路。现实用血和泪的教训郑重的告诫我一次"选择比努力更重要",走了弯路最好的止损办法是及时回头。 04:
时间紧任务重,怎样高效系统学习? 还好当时回头了,不过时间确实真真实实浪费很多了,已经到了3月了。都说金三银四,后来我连土五都没赶… 为了提高效率我果断选择报班寻求帮助,因为据我以前的经验,自学有两个明显的问题: 1 、目标模糊,不知道学到哪种程度合适,自己掌握的知识用来做专业的工作够不够,抓不住重难点,学习效率当然明显更低。 2 、很难坚持到底,达到预期的水平,和大多数人一样我也经常高估了自己的意志力,就不在关键时候去挑战了这些人性里的弱点啦。 这期间算是为了督促自己学习也报了两个班,双保险,哈哈哈… 但是后面发现两边风格截然不同,进展也不同,给有找工作需求的小伙伴实名推荐小象学院!目标明确,办事利索,高效的知识积累和信息沟通,各种东西准备起来好像开启了二倍速快放。另一个班则是进度太慢,实在不能满足我快速就业的需求,后来就放弃了。 基础知识的积累这段,个人感觉自己并没有走很多弯路,学的都是经典的教材,没有在网上随便搜篇博客跟着跑。网上资料太杂乱,质量参差不齐不适合初学者,没有真实项目经验的人很难辨别水分,很容易跑偏浪费时间,建议大家不要趟这个坑了。 报课之后又跟着小象老师做项目实践,把刚学到的知识用到实操中这个过程非常过瘾,而且还有他们的专业指导,帮助自己优化和迭代,更深刻的理解算法要如何设计、实践中应该怎么用,那段实践的时间进步很大。 后面在老师的指点下,疯狂复习了一个月左右,就进入了面试阶段。复习的具体内容和面试内容一样,下面一一道来。 05:
面试准备那些最重要? 面试内容就是三大部分:项目经验,知识基础,编程能力 编程能力 先讲一下我的经历和得失吧,其实算法和数据结构是基础,不是很难。我的优势是我准备的很早,leetcode刷了一百多道,参加了很多周赛,基本上周赛平均做出三道,最好成绩前20%。当然这个成绩对面试没什么用,但是面试算法题基本都不会心虚了。 我的失误是,这些算法都是用Golang刷的,并没有用Python再刷一遍,大家可以避免一下。虽然在小象的课程里有往回掰,但时间还是不太够。因为面试主要面Python,所以吃了一部分亏。 另外两部分由于掌握不熟悉也吃了很大的亏,一个是Numpy常用api,一个是Tensorflow和Pytorch常用函数。 现在回头想想这三个部分都是老师上课强调过的重点,其实跟着老师思路,抽出一天专门学习记录一下,就可以突破的。但是我后面节奏不好,一直没有好好整理,挂在这方面的面试有四五家,挺遗憾的。 知识基础 知识基础,就是领域知识。分析了我过去的科研和工作经历,小象老师建议我选择知识图谱的方向的工作。(小象的就业培养分为4个主流的招聘强需求的算法岗方向:NLP、CV、推荐和风控,会根据个人意愿和背景能力选择一个方向主攻) 方向真的很重要,方向定了,事情就简单了很多,一点点准备就可以。知识图谱涉及的领域知识,由于知识图谱可以看作NLP的一个子领域(不要太较真的区分),所以涉及机器学习、NLP、知识图谱本身的知识。 也就是说面试会问ML经典模型,NLP经典模型,知识图谱的经验技巧。只有一个月的时间,这三个方面都要准备,可以说任务量非常重,幸好有小象老师根据专业经验对面试范围做了总结,像考试前划重点的一样,把重难点都标记出来,让我准备起来更高效而且心里更有底。 但时间还是有些仓促,加上自己效率不高,估计也就是准备了七七八八吧。很多知识点,都是面试过程中补上的。每次面试完之后都会去回看课程还会直接和老师讨论复盘,边面试也学了很多技能。 项目经验 这个要跟进自己的经历来准备,需要好好的总结一下过去做过的事情,不懂的直接问小象就业辅导的老师,他们都是从业十年以上的很有经验,能快速的帮你挖掘出来亮点。 06:
求职经历和面试题 我的面试大约用了一个半月的时间,面过很多家公司,运气比较好,一共拿了7个offer,最后选择了一个BAT大厂,知识图谱算法岗,月薪28k,比原工资翻两倍还多。 补充下福利对比,除了子女上学,福利待遇都是新东家好。免费食堂,还有好吃的零食和下午茶 。 关于面试策略: 一定要先去面不是特别想去的小公司测试和锻炼一下自己的面试能力,找好感觉后再去面大公司。毕竟大公司都是有冷冻期的,至少每次面试,都会看到之前面试的结果,所以大公司的面试机会一定要珍惜。 知识图谱的面试内容: 工程方面:爬虫,图数据库; 算法方面:NER涉及的词向量,crf(crf可能涉及hmm,memm),transformer,bert; ML模型:svm,lr,gbdt; 算法推导:比如softmax; NRE的一些常见问题(这个比较难,需要好好准备); 图谱的应用:常见的检索、问答,就按照自己的经验准备即可(我个人方面,这边应用就做得比较浅,坦然面对即可,不懂装懂也是面试大忌)