python面试核心考点包括:变量命名、缩进、注释;不可变与可变对象差异;字典键的可哈希性及get安全访问;f-string格式化;对象引用传递与可变默认参数陷阱;装饰器、__new__/__init__、@property;threading/multiprocessing/asyncio适用场景及gil影响;collections/itertools/functools典型用法;模块导入、虚拟环境必要性、wsgi/asgi区别及请求链路。

Python基础语法与数据结构
变量命名、缩进规则、注释规范是面试开场常考点。重点掌握不可变对象(str、tuple、int)和可变对象(list、dict、set)的行为差异,比如 a = [1, 2]; b = a; b.append(3) 后 a 和 b 指向同一列表。字典的键必须是可哈希类型,而 dict.get(key, default) 比直接用 dict[key] 更安全。字符串格式化推荐 f-string(Python 3.6+),它性能好、可读性强,避免老式 % 格式和 str.format 的冗余嵌套。
函数与面向对象核心机制
理解参数传递本质:Python 是“对象引用传递”,不是值传也不是引用传。可变默认参数陷阱要能现场写出示例并解释——def add_item(item, lst=[]): lst.append(item); return lst 连续调用会累积元素。装饰器需手写一个带参数的通用计时器,类装饰器要清楚 __call__ 的作用。类中 __new__ 控制实例创建,__init__ 负责初始化;@property 用于封装属性访问逻辑,避免暴露内部字段。
并发模型与常用标准库
区分 threading、multiprocessing、asyncio 的适用场景:IO 密集用线程或协程,CPU 密集首选多进程。GIL 是 CPython 解释器限制,并不影响 multiprocessing。熟悉 concurrent.futures 的 ThreadPoolExecutor 和 ProcessPoolExecutor 统一接口。标准库中 collections(defaultdict、Counter、namedtuple)、itertools(chain、groupby、islice)、functools(lru_cache、partial)都是高频考点,能说出典型使用案例即可,不必死记所有方法。
工程化与架构意识
能说清模块导入路径、__init__.py 的作用、相对导入规则。虚拟环境(venv / pipenv / poetry)不是工具名背诵,而是要说明为什么需要隔离依赖。对 WSGI(如 Gunicorn)和 ASGI(如 Uvicorn)的区别有基本认知,知道 FastAPI 默认走 ASGI。简单服务拆分思路:配置分离(config.py + 环境变量)、日志分级(INFO/ERROR/WARNING)、异常统一处理(自定义 BaseException + 中间件)。不要求画微服务图,但能讲出“一个请求从 Nginx 到 API 视图函数再到数据库查询”的关键链路节点。
立即学习“Python免费学习笔记(深入)”;










