Skip to content

Python 面试 · 高频快答 ​

一面速过。展开见同目录其它页。


定位 ​

Q:你会 Python 吗?到什么程度?
A:能写脚本和工具:语法、常用库、venv、调 HTTP API;不是专职 Python 后端,复杂业务仍用 Java。

Q:什么时候用 Python 而不是 Java?
A:一次性脚本、数据处理、快速验证、某些 SDK 只有 Python;长期中台、强事务、团队规范用 Java。


基础 ​

Q:list / tuple / dict / set?
A:list 可变序列;tuple 不可变;dict 键值;set 去重与成员判断。

Q:浅拷贝深拷贝?
A:浅拷贝共享内层可变对象;深拷贝用 deepcopy。嵌套结构改之前要想清。

Q:*args **kwargs?
A:可变位置/关键字参数,包装函数、装饰器、转发参数时用。

Q:装饰器?
A:函数包函数,复用日志、计时、重试等横切逻辑。

Q:生成器?
A:yield 惰性产出,省内存,适合大文件逐行处理。


并发 ​

Q:GIL?
A:CPython 同一时刻基本一个线程跑字节码;CPU 密集用多进程;IO 密集线程/asyncio 仍有价值。

Q:多线程一定快吗?
A:不一定。看是 IO 还是 CPU;还要看锁与任务切分。


工程 ​

Q:依赖怎么管理?
A:venv 隔离 + requirements 或 poetry/uv 锁版本;密钥走环境变量。

Q:调接口注意什么?
A:timeout、错误分类、幂等才重试、别把 Key 写进代码。


项目(自备一句) ​

Q:项目里 Python 干什么?
A:用 项目讲述 填空;没有就说学习脚本 + 计划用在采集/AI 调用。