-
weakref.finalize要求对象可弱引用,即不能是int/str/tuple等内置不可变类型,且类需支持弱引用(未禁用或显式含__weakref__);finalize须在对象存活时创建并保存引用,回调函数不得强引用目标对象,且不保证执行时机与可靠性。
-
Pythonzoneinfo模块是处理时区的现代推荐方式,应始终用ZoneInfo实例构造带时区datetime,避免replace()强行赋时区或依赖系统本地时区,跨时区转换必须用astimezone()。
-
Python并发安全的核心是共享变量缺乏同步机制导致竞态,需用Lock保护临界区、threading.local()避免共享、asyncio.Lock替代threading.Lock、multiprocessing专用对象实现进程间共享。
-
Hypercorn启动DjangoChannels时连接被拒绝,主因是未显式启用WebSocket(需--ws参数)、asgi.py中application非可调用对象、监听地址为127.0.0.1而非0.0.0.0,或Nginx未透传Upgrade/Connection头。
-
None是Python中表示“无值”的单例对象,类型为NoneType,全局唯一;它不等于空值或False,判断时应使用isNone而非==None或notx;函数未显式返回时默认返回None,易引发AttributeError;字典中get()不修改字典,setdefault()会插入key:None;JSON中None与null互转,但需防范字段为None导致的属性错误。
-
Flask的before_request必须在app实例创建后、run()前注册,工厂模式需在create_app内注册,蓝本需用bp.before_request单独挂载;多个钩子按注册顺序执行,任一异常中断后续;应使用app.logger安全记录日志,避免耗时操作;与after_request非自动配对,异常时after_request不执行,需用teardown_request兜底;默认不拦截静态文件和404,需禁用自动静态路由或使用WSGI中间件实现全局拦截。
-
Flask流式响应需用Response包裹生成器并设direct_passthrough=True,禁用Nginx/Gunicorn缓冲,视频流须配对Content-Type与HTTPRange,MJPEG用multipart/x-mixed-replace,避免time.sleep阻塞worker。
-
Python解释器启动时先执行C层初始化(如Py_Initialize),再构建sys.path并加载内置模块,接着创建__main__模块执行用户代码,源码解码则按需在import或执行时进行。
-
Flask中取多文件需用request.files.getlist('files')获取FileStorage列表,而非request.files['files'];须校验文件头MIME与后缀、重命名防路径遍历、实时限流防DOS。
-
requests.get()默认将响应体全部加载到内存,大文件易导致OOM;应使用stream=True流式下载,配合iter_content分块写入磁盘,并配置超时、重试与连接复用以增强健壮性。
-
轻量级模型需“有依据地精简”+“不伤精度地压缩”,剪枝与量化协同设计是关键:先通道剪枝再量化为推荐顺序,校准与微调保障精度,结构化剪枝和QAT优于单独使用。
-
异常值识别需据数据分布选择方法:正态分布用Z-score(阈值>3),偏态分布用IQR;盲目均值填充易扭曲规律,须结合业务逻辑。
-
Python的“私有属性”实为命名改写机制:单下划线\_xxx是受保护约定,无语言限制;双下划线\_\_xxx触发\_ClassName\_\_name改写,防子类冲突但非真正私有,体现“我们都是有责任心的成年人”哲学。
-
Python源码级面试题核心是理解CPython解释器机制:字节码编译与执行、PyObject对象模型、引用计数与gc回收、GIL作用及限制。
-
Frame是Tkinter中用于组织控件的容器,需显式布局才可见,嵌套时各层grid坐标系独立,调试可用relief/bd加边框,禁混用pack/grid,深嵌套建议类封装。