导语:双非(非 985、非 211) 普通本科院校生,还没毕业就收到了年薪30w的Offer.....
这是一个关于双非(非 985、非 211) 普通本科院校生(具体是哪所就不方便透露了哈),如何与机器学习结缘,又是如何从一名“可怜白发生” 的“非酋” 玩家,一路披荆斩棘,成功进入美团,成为“欧皇”的故事。这就是我,努力努力再努力的Dave。
我作为一名刚刚踏入人工智能领域的小将,已经开始有了发际线后移的烦恼。虽说弱冠之年、大学毕业之际就担心脱发有点为时过早,但是这几根头发帮我成功的获取美团的offer、得到了年薪30万的工作,也算得上是“一发千金”。
(本文作者,头发这么浓密还担心脱发!)
接触算法,触碰机器学习相关的知识,源于学校老师推送的一篇关于“中国高校大数据挑战赛”的公告,大意是“希望给学校几分薄面,同学们踊跃报名”。那时候正好在修读一门关于“人工智能”的选修课,课程的期末项目要求自行设计,必须包含人工智能的相关知识,联想到这一比赛,期末项目就有着落了。报名比赛的那一刻,在人工智能的战场上又多了一名奋力拼杀的小将。
虽然感觉到激情澎湃,志气满满,但是让一个没碰过枪炮的人上战场,难免还是有点心有余而力不足,于是开始了在Google上学习知识、借鉴前辈经验的苦逼日子。光有着初生牛犊不怕虎的劲儿也不行,专业术语、陌生领域和各种基本概念,学的很吃力,如同一个人在知识的海洋中狗刨还时不时呛水。
正如鲁迅先生所说,“只要有心,处处都是困难”。在机器学习这条“不归路”上,困难如同沙漠中的沙子般俯拾皆是,一不小心就是一个坑。从Level1到Level10,从新手到出新手村的过程中,我觉得最大的挑战有两个:“没人陪伴”和“缺乏反馈”。
在一所双非学校,走向卓越的路往往是孤独的,不像樱木花道打篮球还有一群伙伴,而我只有自己一个人。在遇到困难的时候没有伙伴可以吐槽,遇到问题的时候没有人询问,只有冰冷的Google大叔陪伴,虽然Google大叔也能解惑,但并不能很好地传道受业。
幸运的是,在朋友的“怂恿”下报名参加了Udacity的 机器学习 课程。在课程的“优等生计划”,课程通关群中,遇到了一群一起踩坑的小伙伴们,大家可以其乐融融地吐槽这个知识点是多么的深涩难懂,课程里面的“二人转组合”是多么的奇葩;也可以相互交流,怎么去理解“卷积神经网络”等不容易读懂的概念。
一个人的理解难免有些偏颇、有失原意,毕竟真理是越辩越明的——只有不断地学习、探讨、实践,才能最终掌握。这就引出了第二个问题——一个人的学习路,没办法获得及时的反馈,很难找到靠谱的人相互探讨。
不过,自从加入了这个课程,除了有一起学习的小伙伴可以探讨艰深晦涩的高深概念,还有导师可以咨询。每次做完课程项目提交后,会有导师认真地审阅并做上批注,特别是一些容易混淆的概念,审阅还会给出一些辅助资料帮助理解。这些及时的反馈如同及时雨般重要,让我更加深刻地理解概念以及抓住细节,毕竟俗语有云“细微之处,彰显本质;不求甚解,难以理解”。
导师除了高高在上,还可以非常的亲民有趣,推荐我加入Udacity课程的朋友原来就是这门课的导师——杨培文。培文导师不仅是我的入门老师更如同好朋友——亦师亦友,不仅在最初的高校大数据挑战赛纠正了我很多错误的概念,而且带我参加了百度的验证码识别的比赛,让我更加深刻地理解了深度学习的应用。
一群好同学,一位良师益友,是我在这里面最大的收获——让我在这条路上,更加勇敢、更加具有激情,披荆斩棘奔向目标。
鲁迅先生又说,“机遇总是垂青那些有准备的人,因为只有他们可以抓住”。在准备校园招聘的过程中,收集了许多公司部门HR的邮箱而非官网投递,直接投到了部门HR的邮箱之中。也许是因为部门招人比集团直招更加高效,收到了美团HR姐姐的回复,并通知我准备电话面试。
对于简历而言,我个人信奉“奥卡姆剃刀”原则——如非必要,勿增实体,做的比较简单。简历主要由个人信息(照片除外)、教育经历、项目经历、比赛经历、校内经历、个人技能以及用于加分的其他信息。
对于应届生而言,比赛经历越多越好,当然以保证质量为前提,这是一个加分项;如果有参加过岗位相关的项目,并且是主要负责人,这也是一个加分项。对于计算机从业者而言, 有个人GitHub账号且有许多星星,以及个人技术博客,这两者将会在简历上大大加分。(引申阅读:想成为Github的技术网红?你得一周收集3500个star!)
另外,简历上遵循“凸显主要,略写次要,主次分明,详略得当”的原则。把与岗位要求匹配的技能放在首要的位置,把项目名称和职位放大加粗,把项目内容略写等等。对于我们搞技术的人,不要学一些热门微博的的简历风格,简历做的太花哨喧宾夺主,文字再简练、考究一些即可。
最后成功得到美团算法岗offer,一是得益于直投HR邮箱——美团HR姐姐的不以学校论英雄,给了我一个部门面试的机会;二则是做了充分的前期准备——对岗位和面试题型做了调研。
面试和追女孩都有一点相似——获得对方的青睐,那么如何获得对方的青睐,这就是我们接下来探讨的问题。
孙子兵法有云,“知己知彼,百战不殆”,面试也是如此。我的准备过程分为两个部分——“分析问题下定义”和“针对分析做准备”,通俗点讲就是:只有了解了我们要做什么,才知道我们该怎么做。
前段时间看到一篇好文《一种帮我解了人生99%困惑的思维方式》,一种“定义式思维”。联想到面试准备,我发现很多人只知道刷面经准备面试,但是他们却不知道什么是面试,面试是为了什么。
面试的目的是为了筛选出可用之才,因此面试主要考察应聘者的基础知识点是否扎实、牢固,了解应聘者的相关从业、项目经验是否真实、丰富,以及应聘者的人文素养。
知道了为什么面试,和面试有什么之后,我们开始对症下药,对面试进行庖丁解牛般地分析与准备。
对于考察基础知识点而言,按照目标岗位描述的技能进行分析以及准备。以我校招算法岗为例,“熟悉常用的分类、聚类算法”、“掌握常见的数据结构预算法”和“常用编程语言”,这是我的岗位要求。那么对应第一个要求,我写了一个对常见的分类、聚类算法总结,并把各个算法特点的以及优劣进行了对比,并且延伸了每个算法的基本原理及底层实现,最后写了几篇博客作为总结。
对于第二个要求,我把《剑指offer》看了三遍,并且刷了部分LeetCode的题目,主要刷链表与二叉树类的题目,这两种数据结构简单且最适合面试手写。对于第三点,熟练掌握一门编程语言并在刷题的时候使用,比如我使用Python刷LeetCode的题目,不仅可以刷题,也可以增加语言使用的熟练度。
对于了解从业经验而言,重点准备简历上的项目或者比赛,挑一个觉得最好说且体现一定技术难度的。作为一名应届生,电话面试和现场面试的面试官都向我询问关于参加比赛的细节:
1. 了解我对比赛的理解以及我在比赛参与的程度,用于判断是否简历造假;
2. 了解我在比赛所用的技术以及实现方案,用于了解我的实战经验和思维方式。
那么知道这两个目的,我们就可以做出相应的准备,把最拿手的比赛/项目经验过一遍,事无巨细,把所有技术实现、思考细节、所用技术都总结几遍并可以流畅地表达,那么这一关就可以轻松闯过。
对于了解人文素养而言,重点体现对知识的渴求、对挑战充满激情以及对于技术的追求。面试官会和你探讨一些个人兴趣爱好,以及一些情景问题,这就是通过短暂的聊天去了解应聘者的思想成熟度和一些人文素养。那么,在这个阶段多展现自己的优点,比如说热爱读书,举一些书的例子和感悟;热爱运动,时不时和朋友组队打球;探索新知识,从多方渠道了解业内技术前沿并简要谈谈…突显自己“德智体美劳”全面发展,但切记不能说大话和空话,以面试官的阅历还是很容易看出是否在空谈。准备一下自己的兴趣爱好,以及知识获取的渠道,那么这一关也可以无损通关了。
这三条看似简单,但简单的才是最难的。每一条看起来都很好准备,但这些都需要一定时间的积累才能很好地完成,毕竟做好一盘家常小炒还是要先准备好各种食材,最后才能下锅翻炒收汁。
正如李白在《行路难》中写道,“长风破浪会有时,直挂云帆济沧海”。走向卓越的路必定是孤独的,但能忍受孤独的人往往是内心强大的人,必将走出自己丰富多彩之路的人。
在当今的中国,市场需要100万算法类人才,而如今中国只有30万算法类人才。其中有10万在各大高校,还有10万在各大企业内部培养,只剩下最后的10万供给市场。
2017年7月,国务院发布了《新一代人工智能发展规划》,大力支持人工智能领域人才发展和培养。希望更多志同道合的朋友一起加入我们,不仅能够成就自我走向未来,还可以搭上这波发展红利扩充自己的钱包。
正如狄更斯《双城记》中的金句所言,这是最好的时代,也是最坏的时代。在这个充满机遇与挑战的时代,把好风帆,咬牙划桨,终究会寻找到自己的芳草地。
诸君,祝好!我的GitHub主页地址是:https://github.com/DavexPro,欢迎各位大佬和我交流互动~
Udacity是由谷歌无人车之父、斯坦福大学终身教授,原谷歌副总裁、Google X 实验室联合创始人 Sebastian Thrun 创立的一家盈利性教育平台,提供大规模开放式在线课程。
想从粗通算法的零基础小白进阶到硅谷认证的机器学习工程师么?想和本文作者一样在AI浪潮中先行一步么?快快加入Udacity 机器学习工程师课程吧!
下附机器学习工程师纳米学位课程报名方法:
扫描下方二维码入群咨询报名【机器学习(入门)课程】,带你成功迈出机器学习第一步。
如果你已有一定数学和编程基础,即可扫描下方二维码入群咨询报名【机器学习(进阶)课程】。
↓点击阅读原文,了解《机器学习》基石纳米学位项目详情