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

简介: 没用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 的面试经历都值得我们思考。面对一个实际问题,又快又好地解决问题不是易事。如果要在速度和实际效益上选择一个,你会怎么选?


参考链接:https://www.reddit.com/r/MachineLearning/comments/y7708w/d_how_frustrating_are_the_ml_interviews_these/

相关文章
|
3月前
|
SQL 索引 Python
Pandas中DataFrame合并的几种方法
Pandas中DataFrame合并的几种方法
230 0
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
106 4
|
1月前
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,"死叉"指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而"金叉"则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
50 2
|
2月前
|
存储 数据采集 数据处理
Pandas中批量转换object至float的高效方法
在数据分析中,常需将Pandas DataFrame中的object类型列转换为float类型以进行数值计算。本文介绍如何使用`pd.to_numeric`函数高效转换,并处理非数字值,包括用0或平均值填充NaN值的方法。
86 1
|
3月前
|
数据处理 Python
Pandas中的drop_duplicates()方法详解
Pandas中的drop_duplicates()方法详解
247 2
|
3月前
|
数据处理 Python
Pandas快速统计重复值的2种方法
Pandas快速统计重复值的2种方法
170 1
|
3月前
|
ARouter 测试技术 API
Android经典面试题之组件化原理、优缺点、实现方法?
本文介绍了组件化在Android开发中的应用,详细阐述了其原理、优缺点及实现方式,包括模块化、接口编程、依赖注入、路由机制等内容,并提供了具体代码示例。
50 2
|
4月前
|
Java API 索引
【Java基础面试二十四】、String类有哪些方法?
这篇文章列举了Java中String类的常用方法,如`charAt()`、`substring()`、`split()`、`trim()`、`indexOf()`、`lastIndexOf()`、`startsWith()`、`endsWith()`、`toUpperCase()`、`toLowerCase()`、`replaceFirst()`和`replaceAll()`,并建议面试时展示对这些方法的熟悉度,同时深入理解部分方法的源码实现。
【Java基础面试二十四】、String类有哪些方法?
|
3月前
|
数据挖掘 Python
掌握Pandas中的相关性分析:corr()方法详解
掌握Pandas中的相关性分析:corr()方法详解
261 0
|
3月前
|
数据处理 索引 Python
Pandas中resample方法:轻松处理时间序列数据
Pandas中resample方法:轻松处理时间序列数据
84 0