为什么面试官喜欢问某一门语言(比如 go 或者 Python )的内存回收机制?

2022 年 4 月 27 日
 a523

我不明白的,如果不了解内存的回收机制,对写代码有什么影响吗?

我已经写 python 8 年了,也不清楚 python 的 GC 具体细节, 但是还没有碰到内存泄露的问题。 是不是有 GC 机制的语言,不会发生内存泄露?

或者面试官仅仅只是依此来判断某个人对某门语言花了多少心思?

18293 次点击
所在节点    Python
164 条回复
Greenm
2022 年 4 月 28 日
和网友争论就像和猪在泥潭里摔跤,你试图说服对方,几个小时之后才发现,猪很享受。
Narcissu5
2022 年 4 月 28 日
国外基本是比较鼓励写风格良好的代码,国内技术圈有个怪圈,都觉得越底层越好。比如 java 的 CAS 操作明明可以用 AtomInteger 的,偏偏要用 unsafe 包,显得高级。
结果就是和 jdk 实现高度绑定,然后只能继续用 jdk8 ,还尬吹 8 是多么的优秀,后面的版本新功能都没用。。。。
Marszm
2022 年 4 月 28 日
@dji38838c 我倒希望考微分方程,线性代数,高级数学,至少干活的人脑子能理性清醒点。
levelworm
2022 年 4 月 28 日
@villivateur 操作系统做吧,算不算?
k9982874
2022 年 4 月 28 日
因为就语言本身已经卷到没什么可问的了,大量的标准库开发基本就是拼积木。
dingyaguang117
2022 年 4 月 28 日
如果只是工作用到什么你就会什么,大概率对技术追求较低。对于更有挑战性的工作胜任概率也会低。
dingyaguang117
2022 年 4 月 28 日
会不会 GC 不重要,本质是想知道候选人技术追求如何。 不过我也觉得这种问题,不是特别高明的考察方式,当然更高明的考察方式我也想知道。有的人这种八股文答得好,但是代码逻辑很乱,分析问题毫无条理。
v2dev
2022 年 4 月 28 日
要不然怎么证明你卷过
glfpes
2022 年 4 月 28 日
@Suddoo
确实,你这连 GC 的重要性都拿捏不明白的人,的确可以随便找工作,不过恐怕半年工作还没我一个月多
glfpes
2022 年 4 月 28 日
程序员这个职业上下限的差距之大,恐怕让“程序员”这个词本身就没有什么意义。
sagaxu
2022 年 4 月 28 日
那么换个问法,内存泄露怎么排查,举几个造成泄露的例子,再举例几个对 GC 更友好的代码技巧?
rb6221
2022 年 4 月 28 日
卷起来了是这样的,虽然不问可能没坏处,但是问肯定有好处处,那么作为面试方,那肯定是问一下了,反正又不吃亏。
不要尝试去理解面试官,现在寒冬市场,确实就是卖方话语权大。当然你自己得有个度,遇到问比较离谱的问题就可以直接走人了
llsquaer
2022 年 4 月 28 日
这问题看前面部分感觉挺安逸的,就觉得这里有一个潜在的特色..
1. 有人说是八股文
2. 有人说可能用不上 但是需要了解

所以分析这 2 群人的特点...
一种是仅仅把程序编写好.应付工作, 或者从事这个行业也是因为看着高新来的.内心不是很想去理解这些东西.
一种是想专研机制,但是确实没搞明白,或者确实用不上.所以深入不下去了.了解点大概

针对上面的做一个判断
一种 会编程 , 不是兴趣驱动 , 编码中很可能遇到难题不会进一步挖掘其机制 ,但是会出一些成绩
一种 会编程, 兴趣驱动 ,遇到难题使劲啃 , 啃不过很有可能影响进度, 可能还会给公司带来一些损失. 啃过了跳槽升职加薪
一种 啃不过, 先用其他方法做 ,回头在啃 , 这种其实是最多的

其实还有一种, 你问他直接手推一个模型出来...遇到了也是震惊, 另谋高就吧 ,我司真用不上.
就好像你本来想招聘一个文员,只是想问一下你喜欢哪一个朝代,探究下文学素养, 结果他的回答从殷商时代开始到清朝各个时期啥特点说的明明白白, 这类人不是搞考古就是在盗墓. 实在不是我们这行的人啊

这只是面试闲聊, 看的是你的态度, 如果你的回答是 ""没研究过"" 不代表会被 pass, 只会判断你属于哪一类而已.
Suddoo
2022 年 4 月 28 日
@glfpes 但是你并没有写出任何 gc 算法啊,你只是在背书啊,你本质上只是一个 crud boy ,知道回字有 8 种写法还产生了一种莫名其妙的优越感

抱歉,你的工资可能没我高,你打工的收入也可能全部交给房东了,而我不需要给房东打工

工作也没有高低贵贱,你从事的工作也没有什么值得炫耀的,你只不过是流水线上一颗螺丝钉,虽然你会回字的八种写法,但是,老板还是随时可以把你裁了,你并没有掌握什么核心科技,会写八种回字并没有什么卵用

都特么上班了,还抱着学生思维,公司招人是来干活的,不是来考试的,并不是谁会背书谁会考试,谁的工资就高
blless
2022 年 4 月 28 日
python 内存泄漏的经典例子还挺容易犯的
def test(l=[]):
l.push(xx)
ipwx
2022 年 4 月 28 日
@LeeReamond 可是。。。写 Python 如果没有 gc 的意识,是不会在 **同一个函数** 里面随手 XX = None 或者 del XXX

你别笑。我见过很多 PhD 写神经网络的代码,又臭又长几百行函数,然后 OOM 。最后发现是中间变量没有随手 XX = None 。你不看看 PyTorch 都在官方文档专门写了一点内容讨论这个话题。。。
tianyou666shen
2022 年 4 月 28 日
//面向薪资编程
以前脚本语言不要求会,会了也不能明显加钱,那就不会.
现在换了语言要求会点,能加钱了,那就会点吧.
glfpes
2022 年 4 月 28 日
@Suddoo 学生思维的是你吧?你写什么 fancy 的代码没人 care ,真正有价值的是解决了业务问题。

我就是房东谢谢,你感兴趣可以翻我回复历史

工作当然有高地贵贱,只有学生觉得人人平等。只有学生才 care 什么狗屎核心科技。
Suddoo
2022 年 4 月 28 日
@glfpes 你背个八股文,解决了什么狗屁业务?

你是不是房东关我屌事,但是你觉得全世界就你一个人工资高就很傻逼了,谁给你的自信,是因为你会背 gc 八股文吗?

你不 care 核心科技,那你装什么孙子呢!都是用别人的工具,别人的语言,别人的框架,背个 gc 八股文有个几把用!
glfpes
2022 年 4 月 28 日
@Suddoo 毫无逻辑可言。你是怎么写代码的?
懂 gc 是用 gc 的前提,你 TM 连 gc 都不懂,遇到业务上可能出现的性能问题不是两眼一抹黑,抓瞎?

你 TM 自己先提什么房东不房东的,老子 follow 你结果你先破防了?那有没有一种可能性,你破防是因为你其实自己是租房的?

我告诉你用别人的框架不是问题,但像你这种用都用不明白的才有问题。

另外,你这种铁 FW 压根不可能跟我共事,只是你这种水货太 TM 多,严重拉低了程序员的口碑。

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

https://v2ex.ih06.com/t/849548

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

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

© 2021 V2EX