当前位置: 首页 > news >正文

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 高效校验


✅ 面试官评分重点

能力是否关键
原理理解⭐⭐⭐⭐⭐
场景说明⭐⭐⭐⭐
对比能力⭐⭐⭐⭐
实战经验⭐⭐⭐⭐⭐
http://www.cnnetsun.cn/news/89824.html

相关文章:

  • 揭秘Docker Compose中的Agent健康检测机制:如何避免服务假死?
  • Python期末复习:30个核心知识点完全详解
  • 大模型训练数据全攻略:从数据处理到高质量数据集构建(建议收藏)
  • 企业级容器安全迫在眉睫,Docker Scout如何实现小时级响应?
  • 12th Live2D Creative Awards(2025)获奖名单公布!
  • 【稀缺资料】:Dify重排序系统调优的3个黄金法则与实测数据验证
  • 【混合检索的Dify查询优化秘籍】:揭秘提升查询效率5倍的核心策略
  • 告别 “自动化孤岛”,解锁实验室真正智能
  • Dify版本历史管理的秘密武器:实现安全、可控、可追溯的回滚体系
  • 13.长视频和短视频的目标追踪(yolo_insightface模型)
  • 前端开发必备:JavaScript 核心事件详解与实战
  • 为什么你的服务总崩溃?:Docker MCP 网关负载均衡未正确配置的3大隐患
  • 专利检索漏查1个参数,千万研发卡壳量产线
  • 自动化测试团队效率提升指南
  • LobeChat能否通过等保测评?国内合规性达标
  • paperzz 降重 / 降 AIGC:从重复率超标到学术合规,高校生论文 “隐形风险” 的解决逻辑
  • paperzz AI 期刊论文功能实测:从 “标题输入” 到 “期刊适配提纲”,学术写作如何少走格式与逻辑的弯路?
  • Linux系统安装nginx
  • Dify Docker部署与模型集成指南
  • @所有科技企业:点击链接直达CES Asia2026奖项申报页,错过免费期成本增加3倍
  • Agent概况
  • 13. 搜索引擎-ES-自动补全
  • 36、基础Web服务器与邮件服务配置指南
  • 永磁同步电机三闭环控制Simulink仿真 电流内环 转速 位置外环 参数已经调好 原理与双闭...
  • ISIS路由的基本配置
  • Unloop:为ADHD与神经多样性人群打造的可视化模式映射工具 | ProductHunt 今日热榜 - 12月16日
  • LED显示屏视频会议价格
  • Kamailio 怎样使用 STIR/SHAKEN
  • COMSOL光学仿真:光镊与光力模型专题解析(三个模型详解、近似算法与张量算法探讨)
  • 北斗导航系统在实际应用中总会遇到各种干扰,尤其是脉冲干扰和窄带干扰特别烦人。今天咱们用Matlab仿真几种典型抗干扰方法,顺便看看代码咋写