GGUF格式原生支持Transformers:本地大模型一键部署指南
2026/10/1 23:26:50
is和==的本质区别?什么是小整数缓存机制?回答要点:
==比较的是值 (Value),即两个对象的内容是否相等(调用__eq__方法)。is比较的是身份 (Identity),即两个对象在内存中的地址是否相同(相当于id(a) == id(b))。[-5, 256]之间的整数对象。a = 10; b = 10; a is b返回True。但a = 257; b = 257; a is b在交互式命令行中通常返回False(注意:在 PyCharm 或脚本文件中执行可能会因为编译器优化而返回True,面试时要区分场景)。async/await的原理?asyncio是怎么工作的?回答要点:
asyncio是基于事件循环 (Event Loop)的单线程并发模型。async/await:async def定义一个协程 (Coroutine),调用它不会立即执行,而是返回一个协程对象。await用于挂起当前协程,将控制权交还给事件循环,等待 await 的对象(Awaitable,如 IO 操作)完成。await。functools.lru_cache是什么?它是怎么实现缓存的?回答要点:
maxsize参数控制缓存大小,默认为 128。回答要点:
type。Instance(实例) ->Class(类) ->Metaclass(元类)。type并重写__new__或__init__方法,然后在类定义中指定metaclass=MyMeta。collections模块里你常用哪些数据结构?回答要点:
面试官通常希望听到 dict/list/tuple 之外的答案:
defaultdict:访问不存在的 key 时,自动调用工厂函数生成默认值(避免KeyError,常用于计数或分组)。Counter:专门用于计数的字典,提供most_common(n)等方便的方法。deque:双端队列,支持线程安全的、O(1) 复杂度的两端 append/pop(list 在头部插入是 O(n))。namedtuple:给元组的元素命名,代码可读性更强(比 dict 省内存)。回答要点:
回答要点:
:=)?它有什么应用场景?回答要点:
# 旧写法chunk=file.read(1024)whilechunk:process(chunk)chunk=file.read(1024)# 海象运算符写法while(chunk:=file.read(1024)):process(chunk)[yforxindataif(y:=func(x))>0]__call__方法的对象就是函数吗?回答要点:
__call__特殊方法的类实例,都可以像函数一样被调用(instance())。function类型。__call__的对象可以维护状态(属性),比闭包更灵活。BaseException和Exception的区别?为什么不能直接except BaseException?回答要点:
BaseException是所有异常的基类;Exception是所有常规异常(非系统退出类)的基类,继承自BaseException。SystemExit(sys.exit()触发)、KeyboardInterrupt(Ctrl+C 触发)等是直接继承自BaseException的。Exception。BaseException(或裸写except:),会拦截 Ctrl+C 和系统退出信号,导致程序无法正常停止或被运维工具杀掉。