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

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

Python 开发应届生岗位

有的甚至还写的精通 Python

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

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

我感觉 Python 并不简单。。

17610 次点击
所在节点    Python
197 条回复
arthurire
2021-11-22 09:51:32 +08:00
所有能在一分钟之内 Google 出来的问题,或者是能够在官方文档里面写明白的问题,面试的时候拿出来问,都是垃圾问题.

还整个 Python 精髓,好家伙不知道还以为 Python 你设计的. 用了两个破方法就精髓了......

还有人在这杠什么如何 debug. 退一步讲,就算我不知道__repr__干啥,我一样能 import logging 把问题写到日志里面,我也能自己定义一个 def debug_func() 把所有需要的东西输出出来.

我下断点行不行啊?我直接看内存行不行啊?

所以这个问题有啥用呢?
arthurire
2021-11-22 09:52:43 +08:00
@YuiTH 做什么用大家都知道,我不好奇它叫什么,我只需要知道他能干什么就行了,对吧?

这玩意在 C 里面叫重载诶,我再次在 Python 里面记这个名字有啥用吗?
conhost
2021-11-22 10:03:11 +08:00
@shm7 不知道你是具体做 NLP 哪个方面的,情感分析?对话系统?文本摘要?序列标注?亦或者文本生成,机器翻译?即使你调用现成的 transformers 包,你也要写 dataloader 吧,只要继承这个类,那你的__next__方法指定要重新实现,只不过没有探寻这类函数的名称定义而已,何必戾气这么重呢?
arthurire
2021-11-22 10:12:02 +08:00
@conhost 我觉得你也不用说人家戾气重,这个楼主没 append 之前就是这种内容

"你不知道这个定义所以你是哀思比"

那我都会用了我为啥要知道定义啊?

这就好像我们有个哀思比老师期末考试第一题是默写一个数学定义,一道题八十分.错一个字就给 0 分,全班挂科.
VZXXBACQ
2021-11-22 10:14:46 +08:00
原来叫魔法函数啊。。。

我一直把__str__ __len__叫重载 len 和 str 函数,__new__ __init__叫定义构造和初始,哈哈哈......Python 自学没背过这些东西。

估计要被楼主挂掉了
yazoox
2021-11-22 10:36:24 +08:00
点进来之前,我也不知道啥是“魔法函数”。当然,我很少使用 python ,只是偶尔修改其它人写的脚本,用到过一点点。
另,“鸭子类型”,我也没有听说过......
offswitch
2021-11-22 11:30:09 +08:00
@jguo 我一个不做 python 的也知道,然而有什么卵用?这个楼主看他发帖,2020 年才 7k,一个工作一两年的人,天天在这大放厥词,认同 python 设计理念,工作时间长的人来看,真的觉得可笑。
cyrivlclth
2021-11-22 14:08:40 +08:00
@arthurire 楼主属于糖吃多了,就以为糖本来就该存在,以前我也写 python ,也觉得这些什么魔法方法概念屌的一匹,然后写代码也追求 pythonic ,直到后来面相工资编程,转了 go 告别动态,才认识到这些真是赚钱 /技术路上的细枝末节。
arthurire
2021-11-22 14:20:38 +08:00
@cyrivlclth 我从不写这种语法糖,我也不太理解 Pythonic.

我只相信改的越少,B 事越少,
nicevar
2021-11-22 19:12:17 +08:00
@RedisMasterNode 不是不知道,是不用,有些东西不用也没什么影响,这个就跟 Java 的 toString 一样,有的人就不喜欢用
Donahue
2021-11-22 22:56:30 +08:00
@offswitch 哈哈哈,真相戳心
aladdinding
2021-11-23 09:26:16 +08:00
@offswitch 新开的部门去年还在实习怎么了?你非要以工资衡量的话 不也是五十步笑百步
shm7
2021-11-23 10:06:42 +08:00
@conhost 对不起,你可能要失望了,除了生成,这些我全都做过。所以做 NLP 就是只会调用下 transformer 吗?抱歉我写过的项目,用 transformer 的不到 10%。还是说您只会这个?所以 NLP 只需要做个 dataloader 就行了吗?
就这点小东东,天天拿出来摆。还要 diss 下记不得这个叫啥名字的。天天关注叫啥名字,也不问为什么会在语言里面设置这么个东东,人家说你八股你还不信了。
除了用 transformer ,有把 transformer 和 torch-lightning 的源码阅读过吗?里面包含你这 magic method 和 hook 的地方多了去了。这都是程序员的继续素养。别怪人家 diss 你,你这事情做的太 low 了。就像小学生会了乘法到处吹怎么这些人连乘号都不认识一样。
offswitch
2021-11-23 10:14:57 +08:00
@aladdinding ?莫名其妙?工资是你的几倍,啥五十步笑百步?
offswitch
2021-11-23 10:23:16 +08:00
@aladdinding 另外,我可不是 19 年毕业的,只是注册 V2EX 比较晚而已,已经工作六年了,你说的设计哲学,大学的时候也有这种中二想法,谈论 java 的设计哲学,不过毕业后就没了。为啥我也会知道 python 魔法函数,因为我大学也系统学过 python 。
O5oz6z3
2021-11-23 10:48:34 +08:00
面试里,鸭不懂魔不会,小小应届,可笑可笑!
aladdinding
2021-11-23 14:53:27 +08:00
@offswitch 我也莫名其妙,都是打工的,没必要整些优越感。lz 小公司 拿拿分红而已,跟你这资力雄厚的大佬没得比。

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

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

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

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

© 2021 V2EX