大模型应用开发社招常考面经(python八股篇)(下)

发布时间:2026/8/27 10:27:43

大模型应用开发社招常考面经(python八股篇)(下)
14. 类型提示 Pydanticdef add(a: int, b: int) - int: # 类型提示运行时不强制 return a b from pydantic import BaseModel # FastAPI 数据校验 class Item(BaseModel): name: str price: float 0.0 # 默认值 tags: list[str] [] item Item(namex, price9.9) # 自动类型转换/校验面试话术类型提示的作用是让代码可读、IDE 能提示运行时不做强制而我在我的项目中使用了FastAPI 的 Pydantic BaseModel 做请求体校验、自动转换、生成文档。我在项目里用它定义所有 API 请求/响应模型。15. 内存管理与垃圾回收面试话术CPython 内存管理核心有两个引用计数和分代 GC。引用计数快但解决不了循环引用分代 GC 定期扫描兜底。写代码时避免大循环引用结构。Python 用引用计数为主分代垃圾回收处理循环引用。相关概念简单了解一下就行引用计数对象被引用次数归零立即回收——快但处理不了循环引用A→B→A分代 GC定期扫描generation 0/1/2越老扫描越少处理循环引用查看sys.getrefcount(x)、gc.collect()手动触发del只是删引用不保证立即回收16.slotsclass Point: __slots__ (x, y) # 固定属性不能动态加 def __init__(self, x, y): ... p Point(1, 2) p.z 3 # AttributeError要点省内存省掉实例的dict、属性访问更快、限制动态属性。17.initvsnew__new__创建实例类方法先执行返回实例__init__初始化实例后执行单例模式就是重写new代码块class Singleton: _instance None def __new__(cls): if cls._instance is None: cls._instance super().__new__(cls) return cls._instance18. functools.lru_cachefrom functools import lru_cache lru_cache(maxsize128) # 自动缓存函数结果 def fib(n): return n if n 2 else fib(n-1) fib(n-2)要点函数式缓存——相同入参直接返回缓存结果用于纯函数无副作用。19. 元类metaclass类的类指的是控制类的创建过程。type是默认元类class Foo(metaclassMyMeta)指定。要点面试一般只考概念知道「元类 类的类控制类的创建行为」即可不问实现。20. f-string / 常用内置函数name, score Alice, 95.678 f{name} 得了 {score:.1f} 分 # Alice 得了 95.7 分 enumerate(lst) # 带索引遍历 zip(a, b) # 并行打包 sorted(lst, keylambda x: x[1], reverseTrue) # 按第二元素降序 any/all(lst) # 任一/全部为真 set(a) set(b) # 交集 | 并集 - 差集 defaultdict / Counter # collections 常用21. 全局变量修改 / globalcount 0 def inc(): global count # 不加 global 会报 UnboundLocalError count 122. join指的是将多个字符串直接拼接而Join指的是根据指定分割符将字符串输出指定格式。,.join([a, b, c]) # 比 循环快 每次建新字符串23. Python 2 vs 3 区别面试回答python3相比于python2 有这些区别print 函数化、整数除法3 是浮点、str 是 unicode、range 惰性24.面试答题通用技巧先给结论再展开「一句话答案 为什么 我的实战」不会的诚实说「这个概念我没深入但按我的理解是…… 我项目里类似的是……」代码题先说思路再写「我打算三步先……再……最后……」画图辅助复习异步/装饰器/内存时搜索相关图片来展示时间控制单个问题 1-2 分钟别超 3 分钟附录 APython 基础函数速查面试常考实操A1. 列表操作lst [5, 3, 8, 1, 3] # 查询 lst[0] # 取第一个5 lst[-1] # 取最后一个3 lst[1:3] # 切片[3, 8]含头不含尾重点左闭右开。有时候容易忘记尤其是看到两个中括号会记成左闭右闭 lst.index(8) # 查找元素位置2不存在会报 ValueError lst.count(3) # 统计出现次数2 3 in lst # 判断是否存在True # 增删改 lst.append(9) # 末尾添加 lst.insert(1, 99) # 指定位置插入 lst.extend([7,8]) # 批量添加 lst.pop() # 删除并返回最后一个 lst.pop(0) # 删除并返回指定位置 lst.remove(3) # 删除第一个匹配值 del lst[0] # 按位置删除 # 排序高频 sorted(lst) # 返回新排序列表不修改原列表 sorted(lst, reverseTrue) # 降序 lst.sort() # 原地排序修改原列表 sorted(lst, keylambda x: abs(x)) # 按自定义规则排序排序排名的面试题(应届生可能会让你手撕社招就别想了没那么容易问题① 列表 scores[78,92,85,60,95] 找最高分最低分、降序排序、输出排名② 列表去重且保持顺序③ 两个列表合并求和。代码给你们自己去背# 1. 分数统计与排名 scores [78, 92, 85, 60, 95] sorted_scores sorted(scores, reverseTrue) # 降序 print(f最高分: {max(scores)}, 最低分: {min(scores)}) print(f降序排序: {sorted_scores}) print(排名:) for i, score in enumerate(sorted_scores, 1): print(f 第{i}名: {score}分) # 2. 列表去重且保持顺序 lst [3, 1, 2, 3, 2, 4, 5, 1] # dict.fromkeys 会自动去重并保持插入顺序Python 3.7 unique list(dict.fromkeys(lst)) print(f去重后: {unique}) # 3. 两个列表合并求和 a [10, 20, 30] b [5, 15, 25] total sum(a b) # 或 sum(a) sum(b) print(f合并求和: {total})问题给你一组字典scores [(张三, 90), (李四, 85), (王五, 95)]内容是姓名和对应的Python程序设计分数请你根据得分从高到低就行排序和输出。python scores [(张三, 90), (李四, 85), (王五, 95)] ranked sorted(scores, keylambda x: x[1], reverseTrue) for i, (name, score) in enumerate(ranked, 1): print(f第{i}名{name}{score}分) # 输出第1名王五95分 / 第2名张三90分 / 第3名李四85分 A2. 求和与统计python sum([1, 2, 3]) # 6 sum(range(1, 101)) # 50501到100求和 max([3, 7, 2]) # 7 min([3, 7, 2]) # 2 len([1, 2, 3]) # 3 abs(-5) # 5 round(3.14159, 2) # 3.14 A3. 字符串操作python s Hello, World s.strip() # 去首尾空格 s.lower() / s.upper() # 转小写/大写 s.replace(World, Python) # 替换 s.split(,) # 按逗号切分 ,.join([a,b]) # 拼接a,bjoin 是 split 的反向 s.startswith(He) # True s.endswith(d) # True len(s) # 长度 A4. 字典操作python d {a: 1, b: 2} d[a] # 1不存在会 KeyError d.get(c, 0) # 0安全取值不存在返回默认值 d.keys() / d.values() / d.items() # 键/值/键值对 d.update({c: 3}) # 批量添加 d.pop(a) # 删除并返回值 d.setdefault(x, 10) # 不存在才设置 for k, v in d.items(): print(k, v) A5. 集合操作python a {1, 2, 3}; b {2, 3, 4} a b # 交集 {2, 3} a | b # 并集 {1, 2, 3, 4} a - b # 差集 {1} a ^ b # 对称差 {1, 4} A6. 常用内置函数python enumerate(lst) # 带索引遍历 zip(a, b) # 并行打包成元组对 any([0, 0, 1]) # True任一为真 all([1, 1, 0]) # False全部为真 list(range(5)) # [0,1,2,3,4] type(3) # class int isinstance(3, int) # True A7. 文件操作讲师必教python # 读 with open(a.txt, r, encodingutf-8) as f: content f.read() # 全读小文件 lines f.readlines() # 读成行列表 for line in f: # 逐行读大文件推荐省内存 print(line) # 写 with open(b.txt, w, encodingutf-8) as f: # w覆盖 a追加 f.write(内容) A8. 面试场景题速答场景答案如何查询一个列表里有没有某元素x in lst要位置用lst.index(x)如何展示排名sorted(lst, reverseTrue)排序后enumerate(..., 1)编号求一堆数的和sum(lst)条件求和用sum(x for x in lst if x 0)去掉列表重复元素list(set(lst))注意会乱序保序用dict.fromkeys(lst)统计每个元素出现次数from collections import Counter; Counter(lst)字典按键/值排序按键sorted(d)按值sorted(d.items(), keylambda x: x[1])反转字符串s[::-1]反转列表lst[::-1]两个列表变字典dict(zip(keys, vals))

相关新闻

Nano-VLLM全代码解析笔记(8)-qwen3与qwen3_moe

Nano-VLLM全代码解析笔记(8)-qwen3与qwen3_moe

2026/8/27 10:27:43

当前笔记顺序 Engine->Layers->Models(当前Qwen3-0.6B与Qwen3-30B-A3B) (Qwen3-0.6B)qwen3.py Qwen3-0.6B是稠密架构,没有什么好讲的,跟transformer的decoder写法差不多,定义attention和mlp层,用at…

PLC编码器测速:中心差分法与自适应滤波算法解决低速跳变难题

PLC编码器测速:中心差分法与自适应滤波算法解决低速跳变难题

2026/8/27 10:27:43

1. 项目缘起:从“跳变”到“稳定”的测速挑战 在工业自动化现场,尤其是伺服电机、主轴驱动这类对速度反馈精度和实时性要求极高的场景,编码器测速的稳定性是控制系统能否平稳运行的基石。然而,任何一个在现场摸爬滚打过的工程师&a…

Node系列 · ORM:MD5 加密

Node系列 · ORM:MD5 加密

2026/8/27 10:27:43

Node系列 ORM:MD5 加密MD5 是 Node 后端最早接触的"加密"工具——给密码做哈希、给文件生成指纹。但 MD5 在 2004 年已被攻破,不再适合用于安全场景。本章讲清楚 MD5 的本质、它在哪些场景能用、哪些场景必须换方案。一、MD5 是什么 MD5&…

从物理动力学到策略优化:自行车运动员能量建模与MATLAB实现

从物理动力学到策略优化:自行车运动员能量建模与MATLAB实现

2026/8/27 11:27:56

1. 从一道赛题到一套方法论:自行车运动员能量特征建模的深度复盘去年带学生备赛美赛,A题“自行车运动员的能量特征”让不少队伍直呼“物理劝退”。题目本身并不复杂,核心是建立一个数学模型,描述运动员在给定功率输出下&#xff0…

三分钟让 Axure RP 全变中文:axure-cn 中文语言包安装、验收与避坑完整指南

三分钟让 Axure RP 全变中文:axure-cn 中文语言包安装、验收与避坑完整指南

2026/8/27 11:27:56

三分钟让 Axure RP 全变中文:axure-cn 中文语言包安装、验收与避坑完整指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-c…

ncmdump 使用教程:拖一个 NCM 文件就能转出 MP3,单首或整张专辑都行

ncmdump 使用教程:拖一个 NCM 文件就能转出 MP3,单首或整张专辑都行

2026/8/27 11:27:56

ncmdump 使用教程:拖一个 NCM 文件就能转出 MP3,单首或整张专辑都行 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你从网易云音乐下载的歌曲,不少是 NCM 格式的——这是网易的加密音频格式&…

Go语言方法值 vs 方法表达式:区别、应用与最佳实践

Go语言方法值 vs 方法表达式:区别、应用与最佳实践

2026/8/27 11:27:56

相信绝大多数 Go 开发者都写过这样的代码:把一个方法赋值给一个变量,然后像普通函数一样调用它。比如 f : obj.Method ,这个 f 在 Go 里叫 方法值(method value) 。但很多人第一次看到 T.Method(obj) 这种写法…

模型评测标准化:告别“跑几个样例”的不确定性

模型评测标准化:告别“跑几个样例”的不确定性

2026/8/27 11:27:56

你在两个模型之间做选型,用同一个测试集各跑了一遍。第一天模型 A 领先,第二天换了个提示词模板,模型 B 反超。你准备把结果写进汇报,但心里清楚,这个结论大概率经不起复测。这个场景很多做过模型评测的人都经历过。问…

信息几何视角下的GFlowNets前向策略训练:自然梯度提升收敛稳定性

信息几何视角下的GFlowNets前向策略训练:自然梯度提升收敛稳定性

2026/8/27 11:17:56

这次我们看一个 GFlowNets 训练方向的新思路:Information-Geometric Forward Policy Training。它要解决的是生成流网络(Generative Flow Networks)中前向策略(forward policy)训练不稳定、分布偏移明显、在复杂离散图…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/27 7:25:23

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/26 17:50:58

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

2026/8/27 0:07:12

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

LeetCode Hot100(51-60)算法精解与面试技巧

LeetCode Hot100(51-60)算法精解与面试技巧

2026/8/27 0:07:12

1. 题目背景与核心价值"hot100(51-60)"这个标题看起来像是某个编程题库或算法练习集中的一组题目编号。在技术社区中,类似命名通常指向LeetCode、牛客网等平台的热门题目集合。作为刷过300题的算法老手,我理解这类题目的核心价值在于&#xff…

CRC校验实战:从模2除法到HJ212协议排错

CRC校验实战:从模2除法到HJ212协议排错

2026/8/27 0:07:12

1. 为什么一个“校验码”能扛住工业现场90%的数据 corruption? 你有没有遇到过这样的场景:嵌入式设备通过RS-485上传温湿度数据,上位机偶尔收到一帧乱码——温度显示成-273℃,湿度跳到999%,但串口波形看起来完全正常&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/26 18:07:30

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/26 17:57:52

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…