news 2026/3/9 16:54:37

Python 面试 30 道必刷题(含标准答案)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 面试 30 道必刷题(含标准答案)

覆盖基础 + 进阶 + 高级 + 实战,按面试出现频率排序,可以直接背 + 理解。


一、基础必刷(1–10)

1️⃣ Python 是解释型还是编译型?

答:

  • 表面是解释型

  • 实际流程:py → 字节码(.pyc) → PVM 执行


2️⃣ is 和 == 的区别?

答:

  • ==:值是否相等

  • is:是否是同一个对象(内存地址)


3️⃣ Python 有哪些不可变类型?

答:

  • int, float, str, tuple, frozenset


4️⃣ dict 的 key 可以是什么类型?

答:

  • 必须是可 hash 的不可变对象

  • 如:int / str / tuple


5️⃣ None、False、0 的区别?

答:

  • 三者都为假

  • 但彼此不相等,也不是同一对象


6️⃣ 深拷贝 vs 浅拷贝?

答:

  • 浅拷贝:只复制第一层引用

  • 深拷贝:递归复制所有对象


7️⃣ *args 和 **kwargs 是什么?

答:

  • *args:接收位置参数

  • **kwargs:接收关键字参数


8️⃣ Python 中如何交换两个变量?

答:

a, b = b, a


9️⃣ Python 为什么支持多重赋值?

答:

  • 基于元组打包 / 解包


🔟 range 和 xrange 的区别?

答:

  • Python3 只有range,是惰性迭代器


二、进阶必刷(11–20)

1️⃣1️⃣ 什么是装饰器?

答:

  • 本质:函数作为参数 & 返回函数

  • 用于增强函数功能(日志、鉴权、缓存)


1️⃣2️⃣ 多个装饰器执行顺序?

答:

@A @B def f(): ... # 执行顺序:A(B(f))

1️⃣3️⃣ 生成器的优势?

答:

  • 节省内存

  • 惰性计算

  • 适合大数据流


1️⃣4️⃣ yield 和 return 的区别?

答:

  • yield返回值并保存状态

  • return直接结束函数


1️⃣5️⃣ Python 的垃圾回收机制?

答:

  • 引用计数

  • 分代回收

  • 解决循环引用


1️⃣6️⃣ GIL 是什么?

答:

  • 全局解释器锁

  • 限制多线程 CPU 并行

  • IO 密集仍然有效


1️⃣7️⃣ list 和 tuple 区别?

答:

  • list 可变

  • tuple 不可变,性能略好


1️⃣8️⃣ dict 查找时间复杂度?

答:

  • 平均 O(1)

  • 最坏 O(n)


1️⃣9️⃣ Python 中的闭包?

答:

  • 函数嵌套

  • 内部函数引用外部变量


2️⃣0️⃣ 如何修改闭包中的变量?

答:

  • 使用nonlocal


三、高级 & 实战(21–30)

2️⃣1️⃣ Python 中的多线程适合什么场景?

答:

  • IO 密集型(网络、文件、爬虫)


2️⃣2️⃣ 多进程 vs 多线程?

答:

  • 多线程:IO 密集

  • 多进程:CPU 密集


2️⃣3️⃣ 协程是什么?

答:

  • 用户态线程

  • async / await 实现

  • 基于事件循环


2️⃣4️⃣ asyncio 为什么快?

答:

  • 无线程切换开销

  • 高并发 IO


2️⃣5️⃣ with 的原理?

答:

  • 上下文管理器

  • __enter__/__exit__


2️⃣6️⃣newinit区别?

答:

  • __new__:创建对象

  • __init__:初始化对象


2️⃣7️⃣ 常用魔法方法?

答:

  • __str__

  • __repr__

  • __len__

  • __call__


2️⃣8️⃣ 如何实现 LRU 缓存?

答:

  • collections.OrderedDict

  • functools.lru_cache


2️⃣9️⃣ Django QuerySet 是立即执行吗?

答:

  • 否,惰性执行

  • 在迭代 / list / len / bool 时触发


🔟 FastAPI 为什么快?

答:

  • ASGI

  • 原生 async

  • Pydantic 高效校验


✅ 面试官评分重点

能力是否关键
原理理解⭐⭐⭐⭐⭐
场景说明⭐⭐⭐⭐
对比能力⭐⭐⭐⭐
实战经验⭐⭐⭐⭐⭐
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/8 2:51:40

Dify导出格式怎么选?一文搞懂JSON、CSV、XML适用场景

第一章:Dify导出格式的核心概念Dify作为一个面向AI应用开发的低代码平台,其导出格式设计旨在实现工作流、提示词模板与模型配置的可移植性。理解导出格式的结构是实现跨环境迁移和版本管理的关键。导出内容的组成结构 Dify导出的数据通常以JSON格式封装&…

作者头像 李华
网站建设 2026/2/28 20:17:16

Dify索引设计陷阱,90%工程师都忽略的3个关键点

第一章:视频帧检索的 Dify 索引优化在大规模视频数据处理场景中,高效检索关键帧是实现智能分析的核心环节。Dify 框架通过构建语义索引结构,显著提升了视频帧的查询效率与准确率。其核心机制在于将视觉特征向量化,并结合近似最近邻…

作者头像 李华
网站建设 2026/3/5 12:06:29

Dify日志分析进阶指南:重构重排序流程的4个核心洞察

第一章:检索重排序的 Dify 日志分析在构建基于大语言模型的应用时,Dify 作为低代码开发平台,提供了完整的日志追踪机制,尤其在检索增强生成(RAG)流程中,检索重排序环节的日志对性能调优至关重要…

作者头像 李华
网站建设 2026/3/4 7:51:59

杰理之IIS输入-长时间播放-概率无声【篇】

原因:iis_in->wait_resume的修改存在重入风险;另外,存在sample_read后,挂起音频流,但iis_in->wait_resume为0,导致一直没有激活解码的情况。

作者头像 李华
网站建设 2026/3/7 14:29:17

Docker Compose中Agent服务扩展的5种高级模式(架构师私藏方案)

第一章:Docker Compose中Agent服务扩展的核心挑战在现代微服务架构中,使用 Docker Compose 部署和管理 Agent 类服务(如监控代理、日志收集器或安全探针)已成为常见实践。然而,当需要对这类服务进行横向扩展时&#xf…

作者头像 李华
网站建设 2026/2/27 4:33:50

给企业一双“慧眼”:让背景调查成为简单的事

在招聘江湖中,每位HR都希望能炼就一双“火眼金睛”。简历上光鲜的履历背后,是否存在不为人知的秘密?那个侃侃而谈的候选人,是否真如他所说的那般优秀?每当发放入职通知时,这些疑问总会在心底泛起——这不是…

作者头像 李华