Python · 05 常见问题
快速查。跨语言共性见 后端问题。
1. 类型与运行时
| 问题 | 怎么看 |
|---|---|
线上 NoneType / KeyError | 对外补 Pydantic;dict 当模型必校验 |
| 注解写了仍炸 | 注解默认不执行;要靠 Pydantic/运行时检查 |
| 默认参数可变坑 | def f(a=[]) → 改用 None 再创建 |
2. 并发与 async
| 问题 | 怎么看 |
|---|---|
| async 不加速 | 里面仍是同步 requests/重 CPU |
| GIL 下多线程没用 | CPU 活改多进程或外部服务 |
| 任务挂死 | 没超时、没取消;客户端与 wait_for 都要设 |
| 协程泄漏 | fire-and-forget 无监督;用任务组/队列 |
3. 依赖与环境
| 问题 | 怎么看 |
|---|---|
| 「我机器能跑」 | 无锁文件/未用 venv;容器内复现 |
| 依赖冲突 | AI 库版本漂移快;掐版本、少装无关大包 |
| Windows / Linux 路径 | 统一 pathlib;注意行尾与权限 |
4. API 与模型调用
| 问题 | 怎么看 |
|---|---|
| 模型不稳定 | 超时、重试、降级;区分可重试错误 |
| 费用打爆 | 限流、配额在 Java 侧权威控制 |
| 重复生成 | 重试无幂等键;任务状态机缺失 |
| 返回偶发非 JSON | 结构化输出/校验失败要入失败态,别静默 |
5. 与 Java 协作
| 问题 | 怎么看 |
|---|---|
| 两边状态不一致 | 权威状态只留一处(建议 Java) |
| 字段对不上 | 先共享 OpenAPI/示例,再写代码 |
| 超时连环 | 网关超时 > Java 超时 > Python 超时 > 模型超时,逐层严格 |