查看: 3909| 回复: 5
跳转到指定楼层
上一主题 下一主题
收起左侧

转载: 北大大牛学长给找机器学习/算法岗工作的同学们的一些建议

 
全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
逛人大经济论坛看到的帖子,原帖是北大未名bbs的学长写的一些给在找数据科学类工作同学们的建议。感觉写得非常中肯,转载一下希望更多人能看见。

本人是数院统计专业毕业,在某大公司做算法方面的工作,面试过不少人。

有不少学弟学妹找我咨询过机器学习/算法方面的求职,其中不乏不是数学、统计、或计算机出身的同学。虽然我们北大的同学在简历筛选流程中优势较大,算法岗的面试难度着实不小,尤其是对于非科班出身的同学来讲。主要有以下方面:
第一,数学基础欠缺。我和同事在面试的时候都喜欢问一些比较基本(不代表简单)的机器学习算法的数学理论,常见的比如:Logistic回归的损失函数和梯度分别是多少、SVM的数学推导、GBDT回归的梯度代表什么?一些不需要很强计算能力,但是很考验功底的概率论小题我的一些同事也非常喜欢问,比如:如何生成概率为pi/4的事件?这些问题普遍都是会的人觉得很简单,不会的人觉得很难。因此非常建议大家掌握机器学习的算法的具体原理,最好手动推导过这些算法的数学部分,而不是走马观花地看一遍。相信大家都有体会,看答案总觉得不难,但是自己不一定能想到。当然数学基础好的同学可以自动忽略这条建议。概率论的话短期提高不容易也不经济,建议靠刷题,前提是要理解而不是死背。机器学习算法推荐Andrew Ng在Stanford开的CS229,网上资料都有,比coursera上的入门课要清楚得多。
第二,算法底子薄。大家应该都上过计概和数算吧,但是真正学好的应该是少数。算法岗对于算法的要求虽然比不上更加工程的码农,但是对于基本的数据结构和算法还是要求要会的。之前看到一个段子是一个面试官对求职者说“虽然你也不算太强,但是我好不容易面到一个会写动态规划的,就给你offer了吧”。其实就我个人的面试经历而言,很多求职者基本不会写程序,可能只是sklearn、tensorflow、pyspark掉包侠。检查自己是否够格的一个rule of thumb就是看自己是不是Leetcode Medium难度的题基本没问题。像BFS、DFS、DP还有树、链表、数组的各种常见题都需要掌握,不求深但求广。如果完全没有方向就直接挂掉了,但是如果能蹦出个名词至少面试官还能给你点引导也许就能搞定了。不求Leetcode刷光,但是一定要写一些代码,而不是纯看别人代码。道理类似数学要自己推导。如果时间非常紧张,建议优先刷高频题或面经,剩下的题只看想法不写代码。
第三,没有insight。要知道,在实际工作中,70%靠业务理解,30%靠技术。因此我们在选拔的时候,非常希望求职者能够对于我们的业务有一些自己的理解,有相关实习经验更佳。例如我是在广告组,那么至少是期待求职者知道CTR是什么意思的,不然可能准备的关于CTR预测的面试题要先背景介绍了。我认识的搜索组的同事问算法题喜欢让大家写个intersection of two arrays,但是包装在inverted index的背景下,如果不了解搜索引擎的基本原理那么就连题目都看不懂。网上能找到的资料确实比业界落后了不知道几年,但是依旧是很有价值的。如果对搜索引擎的原理感兴趣可以看一下Stanford开的CS276材料,介绍得还算全面。
第四,实际动手能力弱。有一些童鞋可能并没有特别好的实习经历,也许只有个应用多元统计的课程项目这种数据量小到夸张,或者是MatLab做的本研之类的。这些项目不能说没有价值,但是从我们业界角度,确实都是toy project。虽然并没有期望一个应届毕业生一入职就能上手,但是还是非常希望有过大数据工具的经验和一些编程经验。如果实在没有机会可以做个Kaggle项目,虽然老套,但是有用。SQL、Spark这些至少写几个小程序也会很有帮助。我见过很厉害的数院学弟,SQL根本没写过,一问三不知。其实这些只是上手的话都一两天就够了。

还有一个建议就是要对症下药。要好好准备一个几乎是必考却很容易被忽视的问题: “你有什么问题要问我的吗?”这个问题如果问得有新意会是很好的加分点。我遇到过的一部分求职者一看就都不知道我们组是干什么的,也感觉不到对我们组有特别的兴趣。一些负面教材例如,“没什么问题”,“你都几点下班啊”,“你们的新人培养方案是怎样?”这些问题算是中规中矩,可能确实是会影响你的决定和将来工作体验的问题。但是站在面试官的角度,这些问题跟我们组没有太直接的关系,而且其实是过了面试之后适合跟HR讨论的问题。最好能体现出强烈的对该组的业务有兴趣,可以了解一下这个组的业务和需要的技能,问一下这个组有什么计划之类的(有一些面试官不喜欢这个问题,而且这个问题比较适合manager round问)。比如明天要去面B的搜索部门了,那么多看看搜索引擎的内容,多看看B的最新面经。临时抱佛脚往往还是很有用的,因为记忆比较新。当年本科期末考试不也都是这么过来的哈哈。有一个技巧是在电话面试的时候了解这个组的业务,那么在onsite面试前特意了解这个业务的相关业界知识,就解决了之前提到的没有insight的问题。

最后推荐几个链接
http://infolab.stanford.edu/~ullman/mmds/ch9.pdf Stanford大数据挖掘课程的教材中的推荐系统介绍

欢迎转载

评分

参与人数 13大米 +35 收起 理由
valentin508 + 3 给你点个赞!
pzqkent + 3 很有用的信息!
wfuymu + 3 给你点个赞!
xml_zero + 1 赞一个
ximingRoy + 1 很有用的信息!

查看全部评分


上一篇:kaggle 还有想组队的吗
下一篇:机器学习算法工程师面试学习经验

本帖被以下淘专辑推荐:

  • · JOB|主题: 269, 订阅: 12
🔗
cc51cc 2018-8-15 19:24:50 | 只看该作者
全局:
非常有用的文章,感谢转载!
回复

使用道具 举报

🔗
torontolynn 2018-11-1 11:33:54 | 只看该作者
全局:
学习,感谢了~
回复

使用道具 举报

🔗
joelllll 2018-11-23 15:11:25 | 只看该作者
本楼:
全局:
感谢转载。
回复

使用道具 举报

🔗
猪肉 2019-1-10 04:31:20 | 只看该作者
全局:
越看越觉得自己真的是啥都不会。。。。感谢分享
回复

使用道具 举报

🔗
zjzk99 2019-1-28 00:08:43 | 只看该作者
本楼:
全局:
感谢分享!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表