阿里腾讯美团华为,大佬是如何斩获4大算法offer
来源:牛客网
嘉宾介绍:
昵称:Joey
学校:
硕士:威斯康辛大学麦迪逊分校
本科:厦门大学
专业:
硕士:数据科学
本科:经济学
已拿offer:
阿里巴巴算法工程师-机器学习
腾讯技术研究-机器学习
美团机器学习算法工程师
华为算法工程师
即将入职的公司:待定,可能是阿里巴巴
岗位:数据技术部:算法工程师-机器学习
个人介绍:
我个人在开始校招之前,有过在Amazon,Intel和美团三家公司的实习经历,岗位都是数据挖掘或算法岗,除此之外,个人研究生专业是数据科学,所以也是希望将来从事数据相关工作,机器学习也是我主要的研究方向。这些offer的岗位虽然都是机器学习,但职责各不相同,有推荐算法,有终端的算法,有配送算法等等,所以作为校招生,看重的是潜力,只要有潜力,具体做什么算法并不影响。
访谈内容:
1、8月下旬,您就已经拿到了阿里、腾讯、美团、华为四家一流互联网公司的算法offer,想请教您,针对算法岗,牛友们在校招前应该做哪些准备?
1. 刷题:这是基本功,leetcode easy要瞬间给出最优解,medium要瞬间给出一种解法,同时有优化思路,剑指offer的所有题就不用说啦,必须搞定最优解法。
2. 简历:一份好的简历是基础,算法岗的简历要突出内容主要有三点:实习经历,论文发表,项目经历。写的越详细越好,同时要提到自己掌握的专业技能,但是记住,最好不要超过一页。
3. 基础知识:推公式推公式推公式,说三遍,不要看,要手推。见过很多朋友,说自己用XGBoost打了kaggle,名次很高,然后让他们推一下XGBoost就蒙了。。。
4. 实习:算法岗,特别是我这种应用型的,公司是希望你一进来就能干活的,所以永远实习经历,特别是大厂(BATTMDXJW)经历非常重要,在实习过程中,一定要提高自己的工程能力,这是你在学校看论文上课不可能学到的东西,所以这些东西一定要搞清楚,并且在简历和面试中体现出来
5.面试软技巧:不要以为技术岗不需要面试软技巧,语言表达能力,自我介绍,问到你不会题如何应对,这些都很重要。记住不多说不少说不乱说,只说自己懂的,不要对面试官撒谎,你永远骗不了他们。
2、算法,机器学习是这些年的校招热门,很多同学都想进入这个领域,因此想请大佬分享一下您是如何入门算法领域的?有哪些书籍/资料/课程值得推荐?
我其实是个外行,本科是经济学,所以要自己在课外学很多东西。我的方式就是下功夫,每天至少投入额外3小时在算法上面,不管你是刷题,推公式,看论文,做机器学习项目,都可以。这里我不建议培训班这种方式,这种填鸭式教学不但没意义,同时大厂是不喜欢这种获得知识的方式,建议自己看书自学。
书籍/资料/课程:
1. 《统计学习方法》李航
2. 《机器学习》周志华
3. 《Python与机器学习实战》 何宇健
4. 《算法导论》Thomas H.Cormen / Charles E.Leiserson / Ronald L.Rivest / Clifford Stein
5. 《剑指offer》何海涛
6. leetcode
7. 《编程之美》
其中1和2选一本即可,必须把里面所有公式推一遍并且记住;3这种书有很多,这只是我看的,主要希望能够把学到的机器学习算法都实现一遍,不要调包;5和6就不用说啦,4和7则是有时间就看,没时间可以看一些网上关于他们的博客总结
3、众所周知,算法岗是校招中难度较大的一个岗位,竞争很激烈。根据您的经验,校招中算法岗笔试常考的知识点有哪些?
笔试题其实很简单,就是算法题,当你leetcode刷到200-300题,剑指offer滚瓜烂熟,大部分遇到的题都可以有思路。这里有一个面试中让你手写代码时的小技巧:不管再难再不会,一定先给出一个暴力解法,不要愣在那里让面试官觉得你毫无思路。之后可以和面试官边讨论边优化,面试官一般会给一些思路,比如用hash?用dp?然后问题就迎刃而解啦。另外在刷leetcode时,如果时间比较赶,可以在右边的题型那里每种选几道题,比如dp做几道,二叉树做几道,链表做几道。。。记住尽量先做题号数字小的,大的一般是小的变体。
4、针对算法岗,面试时常考的知识点有哪些?面试的重点在于基础知识还是项目经验?
常考知识点非常多,算法岗要求你有机器学习+工程+分析的能力
机器学习:常见分类,聚类,集成,回归,时序算法,还有深度学习的算法。难度会考到模型的推导,比如手推XGBoost
工程:算法题一般至少丢1-2道给你做,然后分布式计算的原理,MapReduce,Spark的原理也是经常遇到的,包括数据倾斜这些问题的解决方案,因为对于大厂来说,EB级数据只能靠分布式计算。
分析:给你一个case,希望你开一个算法项目,给出思路:这是你就需要给出包括项目背景分析,项目痛点,技术选型,模型选型,离线测试方案,仿真方案,上线方案,项目效果检验在内的全部思路和方案。越详细越好
基础知识项目经验都很重要,一定都会考,在不同的面试官可能重点不一样,前几面肯定看重基础,后几面可能看重项目,但如果你想搞定这个offer,两者缺一不可。
5、聊一下,阿里、腾讯、美团、华为等您面试过的企业,算法岗考察的异同点?
总结一下吧:相同的点我在上面已经叙述了,我就说说他们不同的风格。阿里更希望你把你做的项目说清楚,不是某个技术点,而是项目全部的描述已经未来改进和优化的方向,也会在你描述项目时遇到他没太理解的点,就停下来仔细问,所有准备阿里的面试,一定要确保对自己的项目非常理解而且可以扛住所有盘问。腾讯喜欢靠模型原理,手推的还挺多。美团则爱考算法题,每场面试都是两道,雷打不动。华为则是很注重基本功,会问到C语言指针这种比较基础的语言,看重计算机功底。
6、除了上述问题,您还有哪些想要分享给牛友们的?
当今人工智能很火,算法很火,很多朋友们都是从各个专业往算法跳。所以一定要记住发挥自己的交叉背景,不要忘记自己的老本行,想好自己的本专业可以为算法组,为公司带来什么东西。比如我经济学,能提供什么纯算法无法解决的问题和思路。面试一定要有闪光点,算法招人越来越难,如果你只是面试官问什么你答什么,并不会给面试官留下很深的印象。这就是面试软技巧了,算法岗面试可不是只看硬技巧的。具体关于这方面已经上述解答有什么疑问或者补充,都可以加我个人微信:qiangshuo949来交流。
7、最后,请大佬给参加秋招的牛友们送上一句祝福吧~
天道酬勤,如果你的努力感动了上天,那么一定也会感动面试官的!
最后关于我这次的校招,所有面经都贴在这个链接,大家可以随便看看,欢迎讨论!
https://www.nowcoder.com/discuss/102053
公众号:javafirst