暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

最差的算法工程师能差到什么程度

程序员求职面试 2020-09-27
1014

来自:知乎

链接:https://www.zhihu.com/question/347545092


你见过最差的算法工程师能差到什么程度?


作者:Guosheng Hu

真事。


这周面试了一个候选人,面CV/DL/AI的TechLead。简历很牛逼,做过很多CV的工业项目,涵盖detection, OCR, face recognition, fire/smoke detection等好多项目. 给我们讲了45分钟做得项目,讲得很自信。我挑了一个大项目,我说你在这个项目中的贡献是什么?他说整个项目的所有算法部分都是他实现的。


OK,我开始进行深度学习的技术面。


我先问了两个深度学习的中等难度的问题,他都说不知道。有点冷场,那我赶紧问点简单的吧。我说,深度学习网络,进行分类时有哪些loss?他犹豫了一下,回答: relu.


瞬间把见过大场面的我还有同事都震住了。


作者:纳米酱

算法领域强者如云,我拿着问题咨询了一位大公司的朋友,希望给自己定定位。该朋友为人幽默,而且水平十分高,差不多能够一个指头秒杀我那种,他对这个答案的回答是:


"我听过一个江湖潜规则,每一个大公司团队都会招一个特别不着调,水平也不行,智商也比较低的算法工程师,用来背低绩效。


当组里成员感到职业发展太难的时候,就会下意识看看那个人,这样,心里就会有莫大的安慰。


我当时下意识地看看周围的同事,发现他们都不符合这些描述。"


作者:Towser

吐槽一下面试中遇到的奇葩:


1、我问已知上文想预测下一个词,怎么做?结果他说,先找人标数据,然后训练一个CRF……


2、猎头推荐了一个候选人,简历看着还不错,约了面试。结果这人非要把他写的一个技术文档让猎头转给我看一下,我就只好看了。点开pdf文档,里面讲用MLP做文本二分类,他用了两种方法,分别是随机初始化的词向量和预训练的词向量。两种方法的准确率分别是……49.9%和50.1%……然后得出结论预训练词向量比随机初始化要好……于是我默默取消了面试安排。


作者:已退知乎

年中,面了一个河南理工的兄弟


把faster rcnn原封不动用Google translate翻成中文 然后发在了一个野鸡中文期刊上 写在了简历上 加粗加黑


我问faster 比fast 快在哪里



因为对新显卡的支持比较好


作者:CKLSniper

这年头能够保持面试的时候把聊天顺下去我觉得就很好了。


就这两个月的事情:


面试A:简历上写着”精通解决高方差高偏差问题“。想让该候选人推导一个误差的偏差方差分解,顺便聊聊boosting和bagging。先打开话题:什么是方差和偏差。答曰:不知道。话题就死在这里。


面试B:简历上有卡尔曼滤波的经验。想让该候选人推导一个已知联合高斯分布求条件高斯分布的公式,并聊聊线性高斯系统与隐变量模型。先打开话题:什么是卡尔曼滤波。答曰:不记得了。话题就死在这里。


面试C:简历上有降维的经验。想让他从PCA入手往下聊。先打开话题:什么是PCA。能给一个标准答复。继续:什么是特征值,答:不知道这个概念。话题就死在这里。


作者:盛夏的果核

EMMMMMM,原回答不够严谨,下文所说的仅为AI算法工程师。


——————以下为原回答——————


0级算法工程师——只知道神经网络和几个名词,这一级的人一谈到算法和人工智能,无脑牛逼(或无脑diss)就完事了。


1级算法工程师——拜读过西瓜书/小蓝书/花书,看过算法视频教程,对算法基础知识有一定的了解;掉过几个算法包,跑过几个模型和典型数据。这一级通常是调包侠,调参怪。口头禅:xxx算法模型是真的强!实际上对于算法原理思想一无所知,看的书也只是囫囵吞枣。


2级算法工程师——参加过一两个算法竞赛/项目,跑过知名的几个效果好的算法模型,并且获得了中规中矩的成绩(前10-20%)。此时认为算法不过如此,数据处理、特征构建、模型选择无非那么几种套路,仅仅靠着模型融合和毫无想法的数据处理过程来上分。这一级充斥着大量的校招算法工程师,承担着大中厂算法岗炮灰的角色。


3级算法工程师——参加一些算法竞赛并获得比较靠前的名次,对于使用的模型和方法有叫深入的理解,竞赛中存在独立和较深刻的思考。或者有关于算法项目相关的论文。这一级在基础算法能力上来说已经过关,可以找到还不错的工作。比较容易担忧的是自身的工程能力。


4级算法工程师——除了比较扎实的算法基础外,还有比较不错的工程能力。不仅理论知识过关,同时能将算法结合到业务场景、实际项目当中去,并对算法本身进行一定的更改以适应背景。这一级的人已经能成为offer收割机了,往往能拿到心仪的offer。


(我认为四级已经是绝大多数算法工程师的上限,对于工程师来说继续升级需要的是对相关业务的理解、敏锐度和工程能力了,超越了“算法”本身的范畴)


…………


N级算法工程师

对于现有的算法进行创新和改进/开发算法框架造福AI领域等造成比较大的影响的巨佬。这一级答主根本无法想象那种高度,实属算法领域的大牛级人物。


作者:匿名用户

有的同学你真的不能说他差,和同龄人相比他可能还很优秀,但就是对团队没啥帮助,有的时候作用还是负数。


这样的同学想法很多,总是尝试一些用处不大的千奇百怪的事情。比如某个大任务里面有一个文本分类的子任务,团队里已经有人做到98%准确率了,可以继续进行下一步了,他非要试一下BERT。花了一周多时间整了个70%准确率,说训练太慢他只训练了两个epoch,达到这个准确率已经很好了,要再花两周试试。领导问,上周开会时候安排你的任务你怎么都没做?他说,我有我的想法,你们要尊重我。


其它回答里面有提到三个月写4行代码的老哥,那也就是零作用。而想法太多且没有能力实现的同学,对团队是负作用,且写的代码越多负作用越大。因为其他同事需要花时间阅读他的代码,有很多莫名其妙的坑,有把这些坑找出来的时间都能自己再重新写一个新的了。又不好意思和他讲,怕他又说别人不尊重他。


怎么避免招到这种同学呢?相信自己的感觉,面试时候感觉不靠谱的就别招进来了。


怎么避免自己成为这种同学呢?脚踏实地,仰望星空吧。


作者:QWERTY

不请自来。我司,我组的图像算法工程师,在我入职前通过实习转正进来的,看他的代码简直能气出心脏病,简单吐槽列几点:

  • 随机空格;

  • 随机换行;

  • 随心所欲式命名,时而驼峰时而下划线;

  • 大量if else for循环(我们用python),一行代码能搞定的他用10行写

  • if else太多,经常忘了写返回

  • git push -f,不解决冲突(我想杀人的心都有)

  • 使用大量for循环遍历字符串进行查找替换(正则表达式没听说过?)

  • if False分支(我:???)

  • 同样的代码重复写多遍(这难道就是传说中的为了确保不出错,重复执行一次?)

  • 同一份训练数据拷贝多次,用光了磁盘inode,还特么问为啥拷贝失败

  • 。。。

每次review这货的代码都能有大量惊喜和意外


作者:Xiaotian ZUO

坐标法国,某银行投行。


前年年初,项目主管招进一个data scientist,突尼斯美女,在法国念的博士,机器学习专业,简历上精通Python和R,人工智能算法工程师,某专业大数据咨询公司咨询师。被塞在了我手下,帮我处理数据做深度学习。


一上来先找我要了两篇论文啃。这在法国同事中不常见。顿时觉得,这个博士不光有颜,还有实力。


一个礼拜后我开始让她动数据,布置了几个小任务。半个小时后她过来问我,为什么一个10k的文档读出来size很小。

我至今都记得这两行萌到销魂的代码:


file = "d:\\data\\test.json"
len(file)


九个月以后她辞职了,被一个法国自动驾驶公司高薪聘走。


走之前问我的最后一个问题是,K-Fold和Cross Validation有什么区别。也怪我,为啥常常混着用这两个词。


从此下定两个决心:第一,从此以后所有面试的我都亲自去面;第二,打死我也不相信法国的自动驾驶技术了。



●输入m获取文章目录

程序员求职面试

分享程序员找工作经验

程序员笔试、面试题

文章转载自程序员求职面试,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论