为啥好多面试 Python 的连魔法函数都不知道?

2021-11-19 10:38:08 +08:00
 aladdinding

Python 开发应届生岗位

有的甚至还写的精通 Python

话说 Python 的精髓就是鸭子类型吧,有的直接说没听过

估计都是把 Python 当作面向过程来写了,怪不得觉得语法简单

我感觉 Python 并不简单。。

17594 次点击
所在节点    Python
197 条回复
shayuvpn0001
2021-11-19 22:26:57 +08:00
和这个主题无关的一点感想:“语言造出了是为了解决问题的,而不是用来被人研究的。”
auh
2021-11-19 22:47:55 +08:00
我曾经遇到一个技术总监,他面试过程非常简单,给一份题,然后针对这个题,简答问你几个问题。最后,不管你懂不懂,或者回答的怎么样,一概收下。但是,后期会试用一个月左右的时间。个别是因为组长不爽,找总监辞退的。但是,大部分是承受不了自己走的。因为,这个团队,不会主导于教人,而是,必须让你自己抗下所有。能坚持,你就留下,坚持不了,那是你的问题。任务不会因为你的能力不足或者新手同情你。

当时,我非常疑惑。原来总监是这种套路。但是显然,这是明智的套路。给机会,但是不会降低要求。潜能自然就知晓了。
f64by
2021-11-19 23:30:35 +08:00
LZ 问的还是太简单了,按照现在这个卷的程度,明年就可以问 metaclass 了
现在很多校招生简历吹得太狠,动不动就精通,自己写了精通难道不是意味着面试官可以随便问?
abersheeran
2021-11-19 23:39:36 +08:00
@f64by metaclass 难道不是造轮子必备知识点吗?这个也不算难吧。
wlh233
2021-11-19 23:45:39 +08:00
这确实是基础了,今天刚学了个 a[0] = a = [0] 感觉才是魔法 2333
wlh233
2021-11-19 23:46:44 +08:00
@wlh233 a = a[0] = [0]
deplivesb
2021-11-20 00:11:16 +08:00
我很认同楼主的 append 内的内容
我同意楼主反对 “觉得 Python 简单,学点基础语法就能快速上岗”

现在 Python 已经被各大营销说感觉是个人就能上手,是个人就能一周拿到 10k+ offer 的人了,去 B 乎逛一圈全是这种营销广告,要不然就是《华为大佬吐血整理》《清华博士吐血整理》《掌握 X 个大类,X 个函数,X 方法,你也能学会 Python 》这种垃圾文章,但其实我作为一个从大二开始学,到现在工作 4 年一直在做 Python 开发的人来说,我越来越觉得 Python 一点不比有些语言简单,甚至去思考内部的设计,还觉得很不可思议。但就是被网上这两年灌输的,即使是科班出身的,也会觉得“我是科班出身的,虽然没接触过 Python ,但是看网上都说 Python 简单,那对我科班出身不就更简单了”,但是一旦有了这个思想,遇到问题就不去深究,不去究原理。
说一个例子,就我面试过的人(包括应届生,也包括一些社招所谓有 4 5 年 Python 开发经验的人) 70%的人都会认为 Python 里的 del 是删除一个对象,背后调用的是对象的 __del__ 方法。在我的印象里,因为这个问题而出的 bug ,已经不是一次两次了。甚至不乏有些人在公司的 title 是“高级开发”
HankLu
2021-11-20 00:34:49 +08:00
不是大伙戾气重,而是我们也不懂什么是魔法函数,因为我们工作这么多年从来没用过魔法函数,你的意思就是瞧不起我们这些不懂魔法函数的人,你还想我们跟你好好说话?还同意你的观点?不骂你就好了
newtype0092
2021-11-20 00:59:15 +08:00
按这里的人的面试逻辑你就不该问任何问题。

问基础概念说八股文没意义
问系统架构说面试造火箭入职拧螺丝
问语言特性说茴香豆的写法没必要问
问算法说工作中都是调现成 lib 用不着知道

以后面试就问天气和星座,天气好星座也合适就要了吧。
binux
2021-11-20 01:06:17 +08:00
@twl007 至少不是 “看一下 man page 大家不也都知道了”
twl007
2021-11-20 01:28:06 +08:00
@binux 但是也没到大家看 man page 都看不懂的地步
binux
2021-11-20 01:29:47 +08:00
@twl007 那看了没有嘛。
YuiTH
2021-11-20 01:42:10 +08:00
@shm7 你应该用过。首先 torch.utils.data 的 Dataset 类需要实现__len__和__getitem__。如果你全程用的是 fairseq……那好吧你总是要 call super().__init__()的。总是要好奇一下这个是做什么用的吧。
oOoOoOoOoOo
2021-11-20 02:02:26 +08:00
可能他比我强 刚才我又去看了一遍 Python Object Inheritance
twl007
2021-11-20 02:28:16 +08:00
@binux 你说的看跟楼上的 data model 是一个东西么?
kuangwinnie
2021-11-20 03:02:58 +08:00
精通 python 连魔法函数都不知道真的不应该
pcslide
2021-11-20 03:46:12 +08:00
lz 应该不是计算机系毕业的吧?你应该问的是“python 里面如何实现 operator overloading”,而不是让人丈二和尚摸不着头脑的“魔法函数”。
2i2Re2PLMaDnghL
2021-11-20 08:57:53 +08:00
magic method 和 metaclass 的存在是因为 Python 没有宏。
—— 某 lisp hacker
kuangwinnie
2021-11-20 08:58:42 +08:00
@pcslide
啊这,不就是把题面和题解换了个位置吗。
JeffGe
2021-11-20 09:26:24 +08:00
@pcslide ???
你在前排回复这个也就算了,都第二页了,你不看 append 的吗? lz 问的就是类似“如何实现 operator overloading”一类的问题啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/816468

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX