0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一份过冬存粮:算法工程师必备的面试技能雷达图

DPVg_AI_era 来源:lq 2019-01-14 09:13 次阅读

合格的算法工程师真正应该具备什么技能?在面试时,面试官又会如何验证你具备这些技能?拿下阿里、腾讯、美团等offer且面试过百余位candidates的硅谷高级机器学习工程师王喆,绘制了一幅面试技能雷达图——寒冬再冷,高级人才永远不愁找不到工作。

今年是我作为算法工程师工作的第七个年头,期间拿到过hulu,阿里巴巴,腾讯,美团以及一些startup的算法工程师offer,也作为面试官面试过清北,海外,北邮,以及一些二本学校等不同背景的百余位candidates,作为面试者和面试官的经验还比较丰富。所以希望自己的经验能对你有所帮助,也非常欢迎其他面试官能够多留言探讨自己的面试经验。

那我们直入主题,到底什么技能才是一名合格的算法工程师应该具备的技能呢?面试官又会如何验证你的这些技能呢?

虽然每个一个岗位都有JD,但抛开具体的岗位要求,从稍高的角度角度看待这个问题,一名算法工程师的技术素质基本可以拆解成下面四个方面:知识、工具、逻辑、业务。当然广义来讲,这四项素质也适用于所有IT工程师。

我非常喜欢用雷达图来表示一个人的能力范围,可能小时候看圣斗士看多了,当时研究官方出的黄金圣斗士能力雷达图研究了半天,现在也没好到哪去,只不过变成了喜欢研究候选人的能力雷达图了。下面画出了大数据行业几个相关职位的能力雷达图,大家可以初步体会一下。

不同岗位的技能雷达图

简单来说,任何工程师都应该满足四项技能的最小要求,比如我曾经面试过一位计算广告算法工程师candidate,这位同学发过一些计算广告相关的paper和专利,从research的角度是不错的人选,但当我想稍微验证一下他coding的能力时,他明确告诉我说他不愿意写代码。这就是不满足“工具”这项技能的最小要求,自然是不能通过面试的。

在最小要求的基础上,算法工程师的能力要求是相对全面的。其实所谓算法工程师,就是因为你不仅应该是一位合格的“工程师”,还应该再次基础上有算法的改进和实现的能力。除此之外,大数据工程师更注重大数据工具和平台的改进,研究员则在知识和逻辑层面相对突出。有些临时抱佛脚的同学喜欢恶补知识,不注重理解业务和模型本身的内在逻辑,是我经常见到的面试“悲剧”情况。

当然,只用四个词描述四个方面的能力还是过于形而上了,这里我们用一些具体的内容来描述一下算法工程师的四个技能点:

知识:主要是指你对machine learning相关知识和理论的储备

工具:将你的machine learning知识应用于实际业务的工具

逻辑:你的举一反三的能力,你解决问题的条理性,你发散思维的能力,你的聪明程度

业务:深入理解所在行业的商业模式,从业务中发现motivation并进而改进模型算法的能力

也许还不够具体,那我们再从一个实际例子中体会一下,比如我去面试“计算广告算法工程师”的职位,上面四项对应着哪些具体的能力呢?

知识:主流CTR模型以及预算控制,流量预估,bidding策略等模型算法的原理和技术细节

工具:coding能力,spark、flink、tensorflow、ps-lite等模型训练、serving相关工具

逻辑:算法题,模型之间的演化关系

业务:展示广告和搜索广告在构建模型时的区别联系,如何根据公司的business model制定模型的objective

当然,上面只是让大家体会一下什么是这四项素质,真实的计算广告算法工程师面试中,你不一定要都掌握,也不一定局限于这些内容。如果你遇到一位资深的面试官,他不会预设一个框架往面试者身上套,而会从面试者简历出发检验面试者能不能达到这四项素质的标准。

那么问题又来了,面试官会如何在"限定的时间内"检验你这四项素质能不能达到"技术合格"的标准呢?

既然是限定的时间,面试官就不可能拿出一本西瓜书,从头问到尾,也不可能拿出一本葫芦书,从100道面试题中抽出50道给你来个马拉松问答。面试官要做的是在1个小时的时间内确认你能力的"深度"和"广度"。 所以在这里面试官就像一个采样算法,要从你脑子里采几个点,把你的能力雷达图描绘出来。

重点再重复一边,面试官会从“深度”和“广度”两个维度构建你的能力雷达图。

对于"深度"方面,有经验的面试官会从你已经做过的项目中挑出你最擅长的部分做层次式的递进。比如我在之前的回答中举过的例子:

一位面试同学介绍自己实习时候用过XGBoost预测股票涨跌,那面试官可能会由浅入深依次考察下列问题:

GBDT的原理(知识)

决策树节点分裂时是如何选择特征的?(知识)

写出Gini Index和Information Gain的公式并举例说明(知识)

分类树和回归树的区别是什么?(知识)

与Random Forest作比较,并以此介绍什么是模型的Bias和Variance(知识)

XGBoost的参数调优有哪些经验(工具)

XGBoost的正则化是如何实现的(工具)

XGBoost的并行化部分是如何实现的(工具)

为什么预测股票涨跌一般都会出现严重的过拟合现象(业务)

如果选用一种其他的模型替代XGBoost或者改进XGBoost你会怎么做,为什么?(业务+逻辑+知识)

这是一条由简历出发,由“知识”为切入点,不仅考察了“知识”的深度,而且还考察了“工具”、“业务”、“逻辑”深度的面试路径。

当然,如果你介绍的项目是实现了一种类似阿里DIN的CTR预估模型。那么问题路径可能是这样的:

softmax函数的定义是什么?(知识)

神经网络为什么会产生梯度消失现象?(知识)

常见的激活函数有哪些?都有什么特点?(知识)

挑一种激活函数推导梯度下降的过程。(知识+逻辑)

Attention机制什么?(知识)

阿里是如何将attention机制引入推荐模型的?(知识+业务)

DIN是基于什么业务逻辑引入attention机制的?(业务)

DIN中将用户和商品进行了embedding,请讲清楚两项你知道的embedding方法。(知识)

你如何serving类似DIN这样的深度学习模型(工具+业务)

这条路径侧重于考查“知识”深度的路径。为了弥补其他方向考察的不足,面试官肯定还会问一个从工具或者业务出发的问题来确定你其他方面的深度。

因为面试官选择的是你最熟悉的领域深入下去,我们可以假设,如果一位面试者在最擅长的项目中都答不上一些细节性的问题,那几乎可以肯定你在任何其他领域的钻研都不够深入,你的技能雷达图的面积肯定是一个很小的面积。也有像我之前所提到的一些临时抱佛脚的面试者,也许知识方面达到了要求,但经不起面试官对“工具”和“逻辑”的考察,这也毫无疑问会“悲剧”。

如果面试者的能力深度达到了最低的要求,下一步面试官会确定你能力的广度,对于任何算法工程师,我都会随机check以下几个知识点:

NN,RNN,个别聚类算法,模型评估等知识的理解程度

spark的调优经验,model serving的主要方法,parameter server的原理

GAN,LSTM,online learning的基本理解

embedding方法,attention机制,multi task,reinforcement learning,online learning的基本理解

对于广度的检查是比较随意的,个别答不上来无伤大雅,但如果超过一半以上的知识点都miss了,可能有点说不过去。因为我要知道你是一个关注前沿,喜欢学习的人,试想除了你自己做过的项目,其他知识了了,那我可以肯定你不是一个对技术有热情的人。很多面试官很看重“热情”这个属性,因为正是对技术的热情支撑你今后的学习,有些问题你可能不知道,你也要尽量用自己的理解去推导,去讨论。

好了,关于算法工程师面试中的能力雷达图讲完了,如果你嫌我太啰嗦,没关系,甩给你一张思维框图,你发给任何没看过这篇文章的人,也都会对我说的内容一目了然。

俗话说,面试是一门玄学,这句话有没有道理?面试到底“玄”在哪里?为什么“强”如作者(脸皮太厚了。。)参加了10余场大中小公司面试,也有一场没拿到offer,原因是什么,是因为玄学吗?有时间再给大家分解分解。

北京的这个冬天有点“冷”,在文章结束之前给身在寒冬的同学几点建议:

寒冬就应该广积粮,缓称王,猛攻自己的技能弱点,让自己更有实力迎接春天;

中高端职位永远不缺,真正合格的算法工程师永远是稀有物种,努力做金字塔中上部的那块砖;

好的offer永远是为平时注重积累的人准备的,突击准备也许会增加你的知识广度,但增加各方面技能的深度需要你无时无刻的积累和钻研,遇到问题多问为什么,多注重问题的细节。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4576

    浏览量

    98813
  • 函数
    +关注

    关注

    3

    文章

    3911

    浏览量

    61319
  • 大数据
    +关注

    关注

    64

    文章

    8660

    浏览量

    136611

原文标题:一份过冬存粮:算法工程师必备的面试技能雷达图

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何搞崩个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    优秀电源工程师需要哪些必备技能

    就带大家细数下优秀电源工程师具备的那些技能、新手必备课程成为名电源高手需要扎实的理论基础
    发表于 01-29 11:29

    【年度精选】2023年度top5榜单——电路设计论坛资料

    及应用实例资料 作者:杨静 阅读量:2061 || 下载数:128 推荐理由: 给大家分享一份IGBT驱动与保护电路设计及应用实例,有需要的工程师朋友可以下载学习。 4、些模电笔记 作者:王栋春
    发表于 01-17 15:04

    优秀电源工程师必备技能大揭秘!

    就带大家细数一下优秀电源工程师具备的那些技能。新手必备课程成为一名电源高手需要扎实的理论基础,涉及电路原理、语言编程和控制理论等多个学科领域。为了帮助大家更好地掌握
    的头像 发表于 12-19 08:23 761次阅读
    优秀电源<b class='flag-5'>工程师</b>的<b class='flag-5'>必备</b><b class='flag-5'>技能</b>大揭秘!

    硬件工程师经典面试题详解

    硬件工程师经典面试题详解
    的头像 发表于 11-20 15:08 778次阅读
    硬件<b class='flag-5'>工程师</b>经典<b class='flag-5'>面试</b>题详解

    《电子工程师必备——九大系统电路识图宝典》+附录2化整为零和集零为整电路分析方法

    感谢提供的试读机会! 感谢作者 胡斌! 感谢作者 胡松! 感谢人民邮电出版社! 感谢中国工信出版集团! 感谢电子发烧友论坛! 接上四篇: 《电子工程师必备——九大系统电路识图宝典》+视频讲解附录6
    发表于 11-18 21:06

    FPGA工程师需要具备哪些技能

    ,需要具备系列的技能,才能胜任日益复杂的设计工作。因此,本文将从设计思路、硬件语言、EDA工具、数字信号处理、通信协议、测试验证等多个方面,探讨FPGA工程师需要具备哪些技能
    发表于 11-09 11:03

    #共建FPGA开发者技术社区,为FPGA生态点赞#+2023.11.7+IC工程师说职场:从入职面试到升职加薪......

    IC 工程师说职场:学生的迷茫,菜鸟的慌张,老手的彷徨,财富自由在何方?别人说的不定对。自己做的比较重要。 1. 即将毕业求职的学生:如何找到一份好工作? 每年毕业季,都有波新人加
    发表于 11-07 10:06

    《电子工程师必备——九大系统电路识图宝典》+附录5学习方法

    jf_39110170 网名“还没吃饭”阅读《电子工程师必备 九大系统电路识图宝典第2版》附录5的读后感:探索科学学习方法 作为名对电子技术学科充满热情的嵌入式工程师,你是否曾因学习
    发表于 10-06 23:25

    《电子工程师必备——电路板技能速成宝典》读后感

    理论知识,又能充分联系实际,贴近实际电子工程师工作的专业技术书籍。直到看了《电子工程师必备—电路板技能速成宝典》这本书,我终于找到了梦寐以求的那本书。 该书
    发表于 09-16 08:16

    《电子工程师必备——九大系统电路识图宝典》+视频讲解附录6

    感谢提供的试读机会。 谢谢胡斌 谢谢胡松 谢谢人民邮电出版社 谢谢中国工信出版集团 谢谢电子发烧友论坛 试读 胡斌 胡松编著的《电子工程师必备 九大系统电路识图宝典第2版》后制作上方视频,这本书给人的整体感觉还是相当不错的! 谢谢!
    发表于 08-11 00:26

    热门推荐:硬件工程师必备工具

    硬件开发的工作流程般可分为:原理设计、PCB Layout设计、采购电子BOM、PCB板生产、PCBA组装、功能调试及测试、小批量试产、大批量生产正式投放市场等步骤。 作为名优秀的硬件
    发表于 06-21 10:15

    【免费送书】电子工程师必备丛书系列—电路板技能速成宝典

    好评如潮! 畅销多年! 全套销量近12万册! 本书以培养实际动手操作技能为出发点,从基础知识讲起,系统地介绍了电子工程师必学必备的电路板关键实操技能,内容包括:百余种元器件引脚的识别和
    的头像 发表于 06-13 08:05 1707次阅读

    【书籍评测活动NO.15】电子工程师必备丛书系列——电路板技能速成宝典

    内,提交不少于篇试读报告,要求300字以上,图文并茂。4、试读报告发表在电子发烧友论坛>> 电路设计论坛,标题名称必须包含《电子工程师必备——电路板技能速成宝典》+自拟标
    发表于 06-07 16:21

    求助一份XD卡引脚定义

    求助一份XD卡引脚定义,和主控方案,感谢感谢
    发表于 05-30 18:54