本文主要是介绍(修订)收割BAT算法工程师offer大神的求职面试指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
之前分享过一篇算法的学习文章百度大搜算法工程师的秋招经验分享,有人留言说想看看具体怎么看怎么学,我一直记在心中,今天终于找到了这样一个github,有机器学习自学方法总结/算法岗准备指南/面试经验总结,感觉是我目前找到的最好的机器学习自学教程了,多看看,能收获不少,这里分享给大家。
出自:
offer
百度广告 品牌广告(正式批) 机器学习算法
蚂蚁金服 微贷 算法工程师
腾讯 CDG 广告 算法工程师
爱奇艺 广告部 算法工程师
海康威视 上研 CV算法工程师
拼多多 推荐算法(正式批) 算法工程师
虹软CV 笔试 CV算法工程师
美团广告平台 推荐算法工程师
网易 杭研 数据挖掘工程师
达观数据 算法工程师
机器学习资料准备以及自学方法
1 资料、课程
人工智能太火了,资料特别多,但是鱼龙混杂,实际上经典的课程资料 paper就足够
吴恩达系列
吴恩达老师真乃人工智能届的孔夫子,在这个水平上还能致力于基础教学和入门推广功德无量啊,吴老师的课讲的也是真的好。
CS229(https://www.coursera.org/learn/machine-learning),强推?,Stanford的公开课,网易云课堂有2008年的课件和讲义,我就是对着这个学的,打印讲义一点点对着推吧。
Coursera Machine Learning,Coursera的课比较基础,其实有了CS229就不推荐看这个了。 DeepLearning.ai(https://www.deeplearning.ai/),也是偏基础的课程,不过还是很值得看,对传统机器学习、CV、NLP都有一个不是很深入的讲解,作为入门很棒。
Machine Learning Yearning(https://www.deeplearning.ai/machine-learning-yearning/),这本书也是偏基础,工程向,讲了实际工程项目中调参等等东西,我学的时候只出了前几章,后面没有看过。
李沐 动手学深度学习系列
动手学深度学习(http://zh.gluon.ai/),强推?,非常好的课程,李沐是机器学习的大家,在分布式机器学习领域非常有建树,除了广为人知的mxnet,还有parameter server,这里就不展开说了。李沐的课程是将门斗鱼的直播,都录了下来,在网站上还有配套的代码讲解和书籍,唯一美中不足是基于gluon,这个稍微冷门一些。
莫凡系列
莫凡python(https://morvanzhou.github.io/),怎么说呢,比起其他课程还是逊色不少,不过讲的很基础,而且是不多的讲解RL的中文课程。
其他公开课
CS231N(http://cs231n.stanford.edu/),强推?,stanford公开课之二,李飞飞的cv实验室出品,讲师是大名鼎鼎的Justin Johnson,虽然是讲CV,但对DeepLearning的基础也讲的非常详细,cs229是最好的ML课程,cs231n是最好的DL课程。
附加:算法导论 6.046J(http://open.163.com/special/opencourse/algorithms.html),大名鼎鼎的MIT算法导论公开课,虽然不是ML/DL向,但是基础算法还是要会的,毕竟算法工程师首先是工程师,课程较难,很多名校本科上过这门课,大部分没有上过,还是有必要抽空看看的
2 书籍
《CS229讲义》,为啥把这个单独拿出来说呢,因为这个讲义真的就是一本书,有详细的推导过程,并且很多同学看公开课会忽略讲义,一定注意。
《统计学习方法》 李航,机器学习最常用的书,人称小蓝书,其实这本书不适合入门,里面很多推导晦涩难懂,但是讲的很详细。有些地方的推导方式和写作习惯跟吴恩达不一样,所以两个一起看有时候会很迷。
《机器学习》 周志华,人称西瓜书,不仅封面是西瓜,里面的例子也全是西瓜。难度比《统计学习方法》简单不少,还有各种西瓜例子,入门首选。
3 项目
其实这块是最难的,因为自学,实验室也没有项目,实习没有基础也难找,尤其我年初自学,3月份就开始暑期实习招聘,再找一个实习肯定来不及,好在我们有kaggle!
kaggle,强推kaggle!!!!? ? ?
在开始kaggle之前,请看看Kaggle的三个Getting Started比赛,分别是手写识别(CV),泰坦尼克预测(分类),房价预测(回归),这三个比赛就是教学比赛,kernel和discuss版块有大量的教学,好几个会长篇讲如何基本的使用DNN、xgb、lgb、sklearn这些工具,和如何开始做机器学习。
当你开始打featured的比赛的时候,有一点要明确,去打比赛不是为了赢,你是个没有基础的初学者,很可能也没有队友,只能solo,想拿名次就算了,打kaggle的目的是为了学习,为什么选kaggle不选天池或其他比赛呢?因为kaggle的氛围非常非常open,讨论区和kernel区一定会有人给出自己的完整思路和代码,不仅有base model,还有各种有用的数据处理代码,甚至很常见到前10的队伍公开自己的思路甚至代码!这是其他比赛不具备的,你可以在看别人代码,改进自己代码中成长。
4 积累
这是自学最欠缺的,没有积累,尤其是科研积累,没有人带自己想搞出一篇工作就免了吧,但是熟读某个方向的paper,对该方向有深入了解是必须的,如果仅仅是达到见过或者会用的程度,肯定拿不到offer的。具体的积累看是什么方向,github上有很多repo是经典paper集合比如这个repo,可以对照着看,也要关注该领域顶会每年的文章,还有就是对自己项目中用到的model、方法的相关工作要熟读。
5 计划
时间紧迫,给自己定一个清晰的计划还是很重要的,笔者自己是打印了一份日历,然后把暑期实习、秋招等关键时间点和自己计划完成的deadline日期做上标记,每天干过的事情标在当天的日期上,然后划掉这一天,每天看着时间会有紧迫感促进你学习。
6 老师
自学没有老师,但俗话说三人行必有我师,周围相关方向的同学,该请教就请教,有些东西自己搞是搞不出来的,但会的同学随便点你一下这块就过去了。记得请教过你的大佬吃饭。
END
觉得文章不错的,欢迎点好看和转发,长按下图关注程序员乔戈里,收看更多精彩。
这篇关于(修订)收割BAT算法工程师offer大神的求职面试指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!