没用Pandas快捷方法,硬核编程的我面试被拒

开发 新闻
代码简洁就是高效?

近日,Reddit 上一位网友 Mogady 分享了自己在一家公司的面试经历。这段经历让他感到沮丧,因为他觉得面试并不是在考察 ML 工作者的实际能力,这是不公平的。我们先来看看他讲述的面试过程。

我有 4 年的 NLP 经验,最近想找一份远程工作,于是我申请了一家公司,该公司声称他们只雇佣 top 3% 的人。当然,没有人知道这个数字是怎么来的。

我申请了两次,第一次通过了编码测试,但没有通过技术面试,因为我没能在 30 分钟内解决 2 个问题。

第一次面试失败之后我反思了自己的弱点,并意识到解题才是工作面试中的关键,于是我在 Leetcode 上刷了一些题,然后又申请面试同一家公司。这次我直接进入了技术面试阶段,他们给我一个数据集,要求我在 30 分钟内让一个 NLP 方法的准确率达到 96%,其间我只能浏览文档,不允许用 StackOverflow 或谷歌搜索。我想这应该是在考察我理解问题的能力——想让我又快又好地处理给定数据。

经过几次迭代,准确率达到 90%,然后时间到了。但我告诉面试官如果我有更多时间,我会怎么做。

第二天面试官给我发了一封拒绝邮件,我要求他们给我一个理由,他们说:「面试成功的人可以在给定的时间内获得更好的性能,因为这些人知道 Pandas 库函数能帮他们快速完成编程。」

但是根据我几年的 NLP 实际工作经验,Pandas 和 Jupyter 通常只用来分析数据。如果你真的在构建一个项目,你可能就想尽可能摆脱 Pandas 库函数。因此,不只用一行代码完成操作并不意味着我的能力不是 top 3%。

如果该公司因此拒绝我,那么我是否可以认为 top 1% 的人甚至不需要编码?他们只需要对各种工具得心应手,问题就能靠工具自己解决了。

如果他们认为从头开始构建项目并不重要,那我注定不会面试成功。

显然,Mogady 对这段面试经历感到非常懊恼,他提出疑惑:「为什么现在所有问题都以解决速度为衡量标准?」

Mogady 的经历引发了网友的诸多讨论。有人表示这很现实:「面试确实会衡量应聘者对行业中常用工具的了解,并将重点放在最常用的工具上。一些公司通常还希望尽快为客户创造价值,而不考虑太多细节。这也会影响他们选择雇用谁。」

图片

但也有人从构建项目的具体问题上分析,认为压缩源代码(例如用一行代码完成操作)不利于项目的长期运行。一行代码编译之后的机器码和几行代码没有差别,而几行有注释的好代码是更佳的选择。

图片

有担任技术主管的数据科学家表示:「使用 Pandas 库函数编写一行代码不是什么重要的事情,更重要的是如何扩展和泛化算法。我会更看重这一点,而不是盲目选择只会加速训练的员工。」

图片

还有人从公司层面看待这个问题:「如果一个公司只考虑 ML 方法的速度,那么他们可能也只是想尽快盈利,而没有长远发展的想法。好的公司在意的是员工分析和研究问题的能力。」所以这样的公司不去也罢,没什么前途。

图片

无论是对公司还是对个人,Mogady 的面试经历都值得我们思考。面对一个实际问题,又快又好地解决问题不是易事。如果要在速度和实际效益上选择一个,你会怎么选?

责任编辑:张燕妮 来源: 机器之心
相关推荐

2009-02-10 17:00:15

面试华为

2022-06-29 11:15:45

面试腾讯

2011-04-25 15:29:54

Exchange报告

2012-04-26 11:33:20

iPhone应用发布

2013-01-30 10:28:06

阅读方法编程书籍程序员

2009-10-23 17:22:48

VB.NET编程

2021-08-17 14:41:55

码农编程开发

2013-08-12 09:45:06

最佳编程方法编程方法编程

2022-05-16 14:13:53

论文研究

2014-07-28 09:43:58

编程语言鉴别编程

2013-02-25 08:59:31

苹果App Store应用商店

2019-05-30 10:46:19

程序员应聘项目

2022-02-07 18:46:26

特斯拉推特

2012-05-13 12:41:23

iOS

2022-02-16 14:20:46

HashTableHashMap线程安全

2020-11-05 13:12:47

红黑树

2010-11-10 10:38:06

求职

2020-11-02 09:00:10

编程求职技术

2021-03-06 22:21:58

分号代码 语言

2010-06-10 10:28:46

IT业污染超标
点赞
收藏

51CTO技术栈公众号