拿下技术面上传简历

你负责一个批量任务模块,函数写成 `def add_task(task, queue=[])`,内部 `queue.append(task); return queue`。测试时多次调用后发现 queue 里累积了之前所有 task,即使没有传 queue。请解释根因,并给出至少两种修复方式,说明各自适用场景。

工程与系统设计代码与工程1-3 年知识点 1 个

面试官在考什么

判断是否真正理解 Python 默认参数在定义时求值、可变对象共享,以及能否给出工程化修复。

Python 语言特性

回答框架 · 前两步

  1. 默认参数在 `def` 执行时求值一次,保存在函数对象的 `__defaults__`,所有未传参调用共享同一个 list。
  2. 根因不是每次调用新建 list,而是可变默认对象被复用。

还有 3 条答案要点、 3 层追问、 4 个常见坑, 以及针对你简历的追问路径,在定制报告里。

上传简历,生成我的题库先看示例报告

同一能力域的其他题