python面试高频考点(深度学习大模型方向)

1. python中yeild和return的区别?

2. 介绍一下pytohn中的上下文管理器?

在Python中,上下文管理器(Context Manager) 是一种通过 with 语句管理资源的协议,确保资源(如文件、数据库连接、线程锁等)在使用后被正确释放,避免资源泄漏

python 复制代码
class FileHandler:
    def __init__(self, filename):
        self.filename = filename

    def __enter__(self):
        self.file = open(self.filename, 'r')
        return self.file  # 返回资源对象

    def __exit__(self, exc_type, exc_val, exc_tb):
        self.file.close()  # 确保文件关闭

# 使用示例
with FileHandler('test.txt') as f:
     content = f.read()

3.python中的函数传参是传值还是传引用?

变量是对象的标签:Python中变量本身不存储值,而是存储对对象的引用(即内存地址)。

函数传参传递引用:调用函数时,传递的是对象引用的副本(即参数和原变量指向同一个对象)。

修改行为的差异:对参数的操作是否影响原变量,取决于对象是否可变(Mutable)。

不可变对象(如整数、字符串、元组)

python 复制代码
def change(x):
    x = 10  # 重新绑定局部引用
a = 5
change(a)
print(a)  # 输出5(原变量未变)

可变对象(如列表、字典)

python 复制代码
def append_item(lst):
    lst.append(4)  # 修改原对象
my_list = [1, 2, 3]
append_item(my_list)
print(my_list)  # 输出[1, 2, 3, 4](原对象被修改)
  1. 深拷贝和浅拷贝
    浅拷贝:copy(),共享引用,改一个值影响其他
    深拷贝:deepcopy,完全独立
  2. python闭包
    在Python中,闭包通过函数嵌套实现。内部函数可以访问外部函数的变量,但默认不能修改它们
python 复制代码
def outer():
    x = 10  # 外部函数的变量
    def inner():
        print(x)  # 内部函数访问外部变量
    return inner

closure = outer()
closure()  # 输出 10

示例3:闭包作为独立对象

闭包可以像普通函数一样传递:

python 复制代码
def make_multiplier(n):
    def multiplier(x):
        return x * n
    return multiplier

double = make_multiplier(2)
triple = make_multiplier(3)
print(double(5))  # 输出 10
print(triple(5))  # 输出 15
  1. 解释一下python装饰器的概念

    装饰器的本质是一个高阶函数,它接受一个函数作为参数,返回一个新的函数。其实现依赖以下两个概念:

    (1)闭包(Closure)

    内部函数保留对外部函数作用域的引用,即使外部函数已执行完毕。

    (2)函数嵌套

    在装饰器函数内部定义另一个函数,用于包裹原函数并添加额外功能

python 复制代码
def my_decorator(func):
    def wrapper(*args, **kwargs):
        print("Before function call")
        result = func(*args, **kwargs)  # 执行原函数并获取返回值
        print("After function call")
        return result
    return wrapper

@my_decorator
def add(a, b):
    return a + b

print(add(2, 3))  # 输出:5(同时打印装饰器中的日志)

6.生成AI的几个阶段(工具->建议者->执行者->决策者->高级智能体)

7.agent智能体构成

局限性:

1.幻觉(乱说-react-workflow),

2.能力不够(私有知识库,prompt,微调,外部工具)

3.隐私,敏感信息,数据安全

4.时效性和记忆局限

相关推荐
谁动了我的代码?20 小时前
VNC中使用QT的GDB调试,触发断点时与界面窗口交互导致整个VNC冻结
开发语言·qt·svn
We་ct20 小时前
LeetCode 212. 单词搜索 II:Trie+DFS 高效解法
开发语言·算法·leetcode·typescript·深度优先·图搜索算法·图搜索
smileNicky20 小时前
Spring AI系列之对话记忆与工具调用指南
人工智能·python·spring
OxyTheCrack20 小时前
【C++】简述main函数中的argc与argv
开发语言·c++
历程里程碑20 小时前
Linux 49 HTTP请求与响应实战解析 带http模拟实现源码--万字长文解析
java·开发语言·网络·c++·网络协议·http·排序算法
ZVAyIVqt0UFji20 小时前
高可用虚拟IP(HaVip)技术详解:原理、设计与应用
开发语言·网络·网络协议·tcp/ip·perl
飞Link20 小时前
深度解析 TS2Vec:时序表示学习中的层次化建模(Hierarchical Contrastive Learning)
开发语言·python·学习·数据挖掘
默默学前端20 小时前
HTML 高频面试题 5 道|吃透基础,面试不慌(附详细解析)
前端·面试·职场和发展·html5
豆芽包20 小时前
前端性能优化-图片懒加载技术
前端·面试
爱炸薯条的小朋友20 小时前
C#依赖注入和仿写Prism注入
开发语言·c#