授权与合规声明
本文为技术实践笔记,示例均基于公开文档与自建环境中的实验,不涉及任何未获授权的系统。文中结论仅代表个人实践小结,与所涉厂商无利益关系。转载请注明出处。
1. 先说清楚:面试官到底在考察什么
1.1 他们在怕什么:不是"做没做大模型",而是"能不能上手"
很多同学一听到"AI 岗位",第一反应是"我没有任何大模型项目,肯定没戏"。这个担心背后其实有个误会:面试官担心的不是你"简历上少一行大模型经历",而是担心你"完全没碰过相关技术,招进来要很久才能上手"。
这两件事差别很大。前者是经历缺口,可以用"可验证的学习证据"补;后者是能力缺口,光靠嘴说补不了。本文要做的,就是把你已有的学习能力,转成面试官看得见的证据。
1.2 三类岗位对"跟得上 AI"的定义不同
| 岗位类型 | 他们最在意的 | 你能给的证据 |
|---|---|---|
| 后端 / 业务研发 | 能不能把 AI 接进现有系统 | 一个能跑通的 RAG demo + 调用链说明 |
| 算法 / 模型岗 | 对模型与数据的理解深度 | 读过某一个模块的源码或论文笔记 |
| 应用 / AI 工程岗 | 端到端落地与工程权衡 | 公开笔记里的方法取舍记录 |
注意:不同岗位的"跟上"标准完全不一样。如果你照着算法岗的要求去准备应用岗,会又累又偏。先想清楚你投的是哪一类,再决定证据往哪放。
1.3 你缺的不是项目,是"可验证的证据链"
“我没做过大模型项目"这句话在面试里不是死罪。真正拖后腿的,是你说完这句之后,拿不出任何东西证明"我虽然没有,但我一直在跟、而且能上手”。
证据链长这样:我做过一个最小的 X(可演示)→ 我在 Y 上读到了细节(可追问)→ 我把过程写下来了(可查证)。三环扣起来,缺口就被填上了。下面三个动作,分别补这三环。
2. 动作一:用一个能跑通的最小 RAG 打通"端到端"认知
2.1 为什么是 RAG:它覆盖最多的"用 AI 解决真实问题"场景
| 方案 | 数据要求 | 适合证明什么 |
|---|---|---|
| 微调 | 需要标注语料与算力 | 模型训练流程 |
| RAG | 只需自己的文档 | 端到端工程与检索质量 |
| Agent | 需要工具与编排 | 任务拆解与规划 |
对大多数想转 AI 但没项目的同学,RAG(检索增强生成)是上手门槛最低的一课:它不需要你有自己的训练算力,不需要标注数据,只需要你手边现成的文档——比如你过去两年的学习笔记、博客收藏、工作文档。做完这一个,你就拥有了"端到端把 AI 接进真实数据"的完整经验。
2.2 一个周末能跑通的最小实现
下面这段是最小骨架:把你的笔记切段、转成向量、存进向量库,查询时先检索再让模型生成。⚠️ 我没有在你的环境里实际运行过,路径、模型名、依赖版本都需要你按本机情况替换。
⚠️代码待验证
# 最小 RAG:检索 + 生成(示意,需自备向量库与模型调用)fromsentence_transformersimportSentenceTransformerimportfaiss,numpyasnp model=SentenceTransformer("all-MiniLM-L6-v2")# 本地 embedding 模型notes=["你的笔记段落1","你的笔记段落2"]vecs=model.encode(notes)index=faiss.IndexFlatL2(vecs.shape[1])index.add(np.array(vecs,dtype="float32"))defask(query,k=3):q=model.encode([query])_,I=index.search(np.array(q,dtype="float32"),k)context="\n".join(notes[i]foriinI[0])returncontext# 把 context 拼进 prompt 再调用生成模型跑通之后,你至少能讲清四件事:文本怎么变向量、向量怎么存和查、检索结果怎么进 prompt、生成阶段可能出什么问题。这四件事,正好是面试官常追的"端到端认知"。
2.3 把笔记当语料:你已有的东西就是最好的数据集
别去网上找"标准数据集"。你自己的笔记有三个不可替代的好处:第一,你对内容熟悉,能立刻判断模型答得对不对;第二,它天然有结构(标题、段落、链接),方便你练切分策略;第三,面试时你可以说"这是我自己的知识库",真实且有记忆点。
一个具体做法:导出你过去半年所有 Markdown 笔记,按标题层级切成 200–500 字的块,作为初始语料。先不要追求效果,先把链路跑起来。
3. 动作二:把一个框架读"薄"——深入一个点
3.1 "深入一个点"比"用过十个框架"更有说服力
简历上写"熟悉多个框架与向量库"的人很多,但被追问"检索模块里相似度是怎么算的"就卡住的也不少。面试官见过太多"用过"但讲不清的。所以与其铺广度,不如在一个点上扎下去:你只要在一个细分领域能被问住还能答,就胜过十个名字。
3.2 选一个切口:以"检索与向量库"为例
| 概念 | 你该能讲清的 | 怎么验证 |
|---|---|---|
| Embedding | 文本怎么变成向量、维度含义 | 跑一次 encode 看输出形状 |
| 相似度度量 | 余弦与 L2 的区别与取舍 | 在代码里换一种度量对比 |
| 向量库索引 | 暴力检索与 ANN 的差别 | 读 FAISS 文档的索引类型 |
比如就选"检索"这个切口。下面的代码演示如何用 FAISS 做最近邻检索——同样,我没在你的机器上跑过,维度、数据、依赖都需你本地确认。
⚠️代码待验证
# 用 FAISS 做最近邻检索的极小示例importfaiss,numpyasnp dim=384index=faiss.IndexFlatL2(dim)data=np.random.rand(100,dim).astype("float32")index.add(data)D,I=index.search(np.random.rand(1,dim).astype("float32"),5)print(I)# 返回最相似的 5 个索引读到这里,你已经能讲清"暴力检索"和"近似最近邻(ANN)"的差别——这是很多只调 API 的人讲不透的。
3.3 怎么证明你"真的读过":从读源码到提一个好问题
深入的标志,是你能提一个"只有读过才会问"的问题。比如读 FAISS 时,你可以问:"IndexFlatL2 和 IndexIVFFlat 在召回率与内存上的权衡是什么?我的笔记量该选哪个?"这种问题面试官一听就知道你是真读过,不是背的八股。
读源码不要求你读完整个仓库。挑一个模块(如检索、分块、重排),顺着函数调用走两三层,记下来"它在这里做了什么决策、为什么",就够在面试里展开三分钟。
4. 动作三:写 1–2 篇公开笔记,把"我学过的"变成"我能讲清的"
4.1 写笔记不是炫技,是把模糊变清晰
很多人学完东西觉得"我懂了",一写就发现讲不清——写作会逼你把模糊的认知钉死。更现实的是:公开笔记是面试官能提前看到、当场追问的"活证据"。你说"我研究过 RAG",他打开你那篇《本地 embedding 维度对不上的排查》,瞬间就有了可问的锚点。
4.2 写什么:3 类适合公开的内容
| 类型 | 示例主题 | 为什么面试官爱问 |
|---|---|---|
| 踩坑记录 | “本地 embedding 维度对不上的排查” | 能看真实调试能力 |
| 对比笔记 | “RAG 和微调我怎么选” | 能看取舍思维 |
| 源码解读 | “我读 FAISS 检索模块的一点理解” | 能看深度与诚实 |
别写"XXX 完全指南"这种大而空的东西,写你真实踩过的坑和你真实的对比。面试官要的是"这个人能不能把一件事讲明白",不是"这个人知道多少术语"。
4.3 怎么写才"可被提问"
写好笔记有一个简单自检:发之前问自己,"如果面试官拿着这篇问我三个问题,我能接住吗?"如果答案是能,这篇就合格。建议每篇至少留一个"我没完全搞懂、准备继续验证"的点——诚实的边界比完美的结论更可信,也更符合真实工程状态。
5. 面试现场:把"没做大模型项目"讲成"我在跟"
5.1 三种常见追问与接法
追问一:“你这 demo 是自己想的还是抄的?”——接法:直接说灵感来源(比如某篇公开文档),再讲你改了哪、为什么改。承认来源不丢人,改动的理由才是你的东西。
追问二:“这东西生产环境能用吗?”——接法:坦诚说这是学习用的最小版,然后讲如果要上线你会补什么(持久化、并发、评测)。把"没做过生产"转成"我知道生产还差什么"。
追问三:“你和大厂做过的人比差在哪?”——接法:差在规模和协作经验,但我在原理和动手上是通的,给我一个环境我能快速补规模那部分。
5.2 把"短板"转成"方法"的话术结构
一个好用的结构:承认缺口 → 给出证据 → 连接岗位。先不躲,再用证据填,最后落到"所以我能干你这个活"。躲缺口显得心虚,只抛证据显空洞,不连岗位显脱节。三步走才稳。
5.3 一个真实可用的回答模板
| 模块 | 你要表达 | 一句话示例 |
|---|---|---|
| 承认现状 | 我没独立交付过大模型项目 | “我还没在大厂项目里交付过,但我做了 X” |
| 展示证据 | 我有一套可验证的实践 | “我用一个周末搭了 RAG,能现场演示” |
| 连接岗位 | 我能迁移到你这 | “这套检索思路能直接用到你们的 XX” |
把表里的三句话串起来,就是一段 30 秒的自我介绍式回答:承认—展示—连接。它不夸大,但把"没项目"这个被动局面,变成了"我有可验证的学习力"的主动局面。
面试应答话术卡(一页纸):把第 5、6 章的接法压成一张可速览的卡片,面试前扫一眼就能用。放在资料包里,扫码即可获取:
6. 面试官可能问 → 你怎么接(应答话术表)
6.1 通用应答原则
第一条:用证据替代虚构。被问到没做过的,就亮你做过的相近证据,别硬编。第二条:讲方法不是口号。说"我会注意效果"不如说"我从检索召回和置信阈值两层控制"。第三条:给可验证的节奏。把"我会学"换成"我这两周在做 X,已经到这步"。
6.2 话术对照表(核心)
| 面试官可能问 | 错误接法 | 推荐接法 | 背后的点 |
|---|---|---|---|
| “你做大模型项目吗” | “做过,很熟”(虚) | “没独立交付,但我搭了最小 RAG 跑通端到端” | 用证据替代虚构 |
| “RAG 怎么保证不胡说” | “加个 prompt 就行” | “我从检索召回质量和置信阈值两层来控制” | 讲方法不是口号 |
| “你用过什么框架” | 罗列一堆名字 | “我深读了一个的检索模块,其他只用过” | 深度优于广度 |
| “你未来怎么补” | “我会努力学” | “我这两周计划是 X,已经在做” | 给可验证的节奏 |
这张表的核心逻辑只有一句:把每个"我没做过大模型项目"的潜台词,翻译成"但我有可验证的等价能力"。
6.3 避免踩的坑
坑一:过度承诺。"我上线过很复杂的 RAG 系统"这种话一问就穿。坑二:贬低自己。"我啥也不会,但愿意学"把主动权全交出去。坑三:背八股。面试官换个问法你就露馅。稳的方式始终是:小承诺 + 真证据 + 可追问。
7. 一个可复制的两周冲刺清单
7.1 第 1 周:搭最小 demo + 读一个源码点
目标不是完美,是"跑通 + 读透一个点"。每天 30–60 分钟足够。下面是一份示例节奏(YAML 只是方便你看结构,不是要你严格照做;我未实际运行,按需调整)。
⚠️代码待验证
week1:-day1:选语料(导出自己的笔记 Markdown)-day2:跑通 embedding + 向量库检索-day3:接上生成,做出能问答的 demo-day4:读一个框架的检索模块源码-day5:写一个"我读到了什么"的笔记week2:-day1:公开发布第 1 篇笔记-day2:模拟面试,录下自己的回答-day3:整理应答话术卡-day4:发布第 2 篇笔记-day5:投递 + 复盘7.2 第 2 周:写 1–2 篇笔记 + 模拟面试
第 2 周的关键动作是"对外输出"和"被追问演练"。找朋友或用录音自己模拟:让他照第 6 章的表随机问,你用"承认—展示—连接"接。接不住的地方,就是你的笔记该补的内容。
7.3 投递与复盘节奏
投递不必等"全准备好"。带着最小 demo 去面,把每次面试当成免费的能力体检:哪被问住,回去补哪。复盘用一句话记:"今天被问住的是 X,我已补了 Y。"积累几次,你的证据链就自然长出来了。
两周冲刺清单(可打印版):把本章节奏拆成每天 30–60 分钟的具体任务,照着勾就行。放在资料包里,扫码即可获取:
附表 A:本文引用事实与出处对照表
| 事实 | 出处 | 本文位置 |
|---|---|---|
| RAG(检索增强生成)由 Lewis 等人在 2020 年提出 | Lewis et al., “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”, 2020(Meta AI / UCL) | 第 2 章 |
| Transformer 架构由 Vaswani 等人于 2017 年提出 | Vaswani et al., “Attention Is All You Need”, 2017 | 第 3 章 |
| FAISS 是 Meta AI 开源的相似度检索库 | Meta AI / faiss 公开仓库 | 第 3 章 |
| Embedding 把文本映射为稠密向量,用于语义检索 | 通用 NLP 工程常识 | 第 3 章 |
| "两周能做出可演示 demo"为个人实践节奏,非行业标准 | 无一手出处,待验证 | 第 7 章 |
附表 B:术语速查表
| 术语 | 含义 |
|---|---|
| RAG | 检索增强生成:先检索相关文档,再让模型据此生成 |
| Embedding | 把文本转成向量,使语义相近的文本在向量空间靠近 |
| 向量库 | 存储与检索向量的数据库,如 FAISS、Milvus、Qdrant |
| 余弦相似度 | 用向量夹角衡量语义接近程度的一种度量 |
| 端到端 | 从输入到产出的完整链路都能跑通 |
写在最后:这篇用到的资料
写这篇文章时,我在整理面试准备清单时发现,很多同学卡在"没项目可讲"而不是"不会学",顺手也整理了几份配套的东西:
- 两周冲刺清单(可打印版):把本文第 7 章的节奏拆成了每天 30–60 分钟的具体任务,照着勾就行。
- 最小 RAG 实现骨架(含注释):一版可直接本地跑通的检索增强问答示例代码。
- 面试应答话术卡(一页纸):第 6 章对照表的精简版,方便面试前速览。
资料是我自己整理的,放在下面这个码上,扫码即可获取:
资料较多,建议先看「全套 AGI 大模型学习路线」,再挑一个实战项目跟练。