Skip to content

面试项目深挖总栏目(字节跳动 · AI 应用开发 / Agent 剪辑) ​

这个栏目是什么:把可写进简历的项目,各做成一套「面试深挖包」——口述稿、技术深挖问答、压力面话术、速背卡片、事实与代码索引。

原先三套材料分散在三个互不相干的目录(面试项目深挖/Vistack、面试-BinRag、面试-EasyCoding),导航栏里也只挂得上一个。现已合并到本栏目下,多个项目平级、结构一致、每个项目一个入口页。

各项目共用一条纪律:代码里有的照实说,代码里没有的一律不编。每个项目的入口页都有「诚实边界」一节,面试前必须先读。


一、栏目结构 ​

docs/面试项目深挖/
├── index.md                     ← 本页:栏目总览与选材建议
├── Vistack/                     ← 项目一:分布式视频平台(Go 后端 / 分布式主场)
│   ├── index.md                    入口页(事实底盘 + 阅读顺序)
│   └── 01-…11-*.md                 11 篇深挖正文
├── BinRag/                      ← 项目二:RAG 文档知识库问答(AI 应用 / RAG 主场)
│   ├── index.md                    入口页
│   ├── 00-…09-*.md                 10 篇深挖正文
│   └── _源码档案(逐行核对用)/      6 篇逐行核对档案(查证用,不必背)
├── EasyCoding/                  ← 项目三:终端 AI 编程助手(Agent 工程主场)
│   ├── index.md                    入口页
│   └── 00-…08-*.md                 9 篇深挖正文
└── ShatangAI/                   ← 项目四:电商 AI 视频生成平台(后端异步一致性 + 资金一致性主场)
    ├── index.md                    入口页(含「诚实边界」与事实校正表)
    └── 00-…13-*.md                 14 篇深挖正文
项目篇数体量入口
Vistack12约 4,200 行进入 →
BinRag16(含 6 篇源码档案)约 13,800 行进入 →
EasyCoding9约 8,500 行进入 →
ShatangAI17(含入口页)约 6,390 行进入 →

二、四个项目各打什么牌 ​

面试官问「讲讲你的项目」时,先想清楚这一场你要用哪个项目唱主角——四个项目的主场完全不同,别混着讲。

项目一句话定位技术主场(面试官会往哪挖)适合什么岗
VistackGo 写的云原生分布式视频平台,单二进制拆 api / worker / transcoder / auth 四角色Kafka 异步编排、gRPC + etcd 远程转码、DASH/ABR、Redis 缓存限流、鉴权与防盗链计算机基础 + 性能/架构设计;与「AI 剪辑」的转码链路天然同构
BinRagGo 写的企业级文档知识库 RAG 问答系统混合检索(BM25 + 向量)、RRF、cross-encoder 重排、MCP Server、多租户安全、评估体系AI 应用开发中的 RAG / MCP 部分
EasyCodingGo 从零手写的终端 AI 编程助手(对标 Claude Code)ReAct 循环、双 LLM 协议抽象、五层权限防御、MCP 客户端、两层上下文压缩、JSONL 会话Agent 运行时是你自己写的,最贴 AI 应用开发
ShatangAI已上线的电商 AI 视频生成平台(Express 5 + PostgreSQL 17 + Redis + BullMQ)异步任务一致性(队列拆分、状态机、崩溃恢复、并发收尾抢占)与资金一致性(积分冻结 + 部分唯一索引 + 对账巡检)、多段视频合成、14 种生成方式编排唯一一个真实上线、有真实生产事故的项目;最贴「后端 + AI 应用」岗

选材建议

  • 投「AI 应用开发 / Agent」岗 → 主角 EasyCoding,配角 BinRag;Vistack 用来接「性能与架构设计」类追问。
  • 投「后端开发」岗 → 主角 ShatangAI(异步任务一致性 + 资金一致性是硬通货),配角 Vistack(分布式与存储)。
  • 投「AI 应用开发 / Agent」岗的第二套材料 → ShatangAI 的 14(Skill 分层与 Token 预算、越权句式剥离)与 15(长视频分段一致性与依赖图调度),可作 EasyCoding 之外的补充。
  • 被问「你做过跟剪辑/视频相关的吗」 → 从 Vistack 的转码流水线切入(Kafka 编排 + 转码状态机 + 重试看门狗),这正是 AutoCut 类业务要的形状;再补 ShatangAI 的"多段生成 + 尾帧桥接 + 自研 ffmpeg 拼接"。
  • 被问「有没有线上经验 / 怎么排查故障」 → 只有 ShatangAI 能答(它有 10 个带证据的生产事故故事,见其 09 分册)。
  • 四个项目的安全题可以互相借力:EasyCoding 的权限沙箱、BinRag 的多租户越权、Vistack 的防盗链、ShatangAI 的 SECRET_KEY 兜底与裸头身份,是同一个「最小权限 / 纵深防御」思路的四次落地。

三、各项目共用的三条纪律 ​

  1. 不编数字。四套材料都把「代码里有的事实」和「没实测的效果」分开标注(Vistack 的 09、BinRag 的 08 B 类数字、EasyCoding 的 00 事实校正表、ShatangAI 的 00 事实校正表与 10 修正话术)。没有基线就说「我没有可信基线,但可以说清怎么设计评估」。
  2. 主动交底。每个项目入口页的「诚实边界」列出不能吹的点。主动说出不足,比被挖出来强十倍——这条在四套材料里被反复强调。
  3. 先读入口页,再读正文。各项目的编号规则独立(Vistack 01–11、BinRag 00–09、EasyCoding 00–08、ShatangAI 00–13),不要靠记忆跨项目串号。

⚠️ ShatangAI 多一条纪律:它的简历描述与代码有 7 处不一致(首要是把 PostgreSQL 写成了 MySQL)。这个项目先读 00 事实校正表与 10 压力面话术,再读口述稿——顺序反了会在面试里说出错误事实。


四、推荐阅读顺序(按剩余天数选) ​

只剩 1 天 → 只读「入口页 + 各项目最后一张速背卡」

  1. Vistack 入口页 →10-速答题库与背诵卡
  2. BinRag 入口页 →09-口袋速背卡片
  3. EasyCoding 入口页 →08-口袋速背卡片
  4. ShatangAI 入口页 →00-使用说明与事实校正 →12-速背卡片

有 3 天 → 按「主干 → 深挖 → 压力面」跑,每个项目各占一天

时间VistackBinRagEasyCodingShatangAI
Day 1 主干01 三版口述稿 + 09 风险点01 口述介绍 + 08 压力面00 事实校正 + 01 口述稿03 四条主线拆解 + 00 事实校正
Day 2 深挖02–07 按简历 bullet 挑着读03 检索(加分主战场)+ 02/0404 权限与安全 + 03 Agent 循环04 队列与状态机 + 06 计费支付
Day 3 收口08 追问链实战 + 11 代码地图09 速背 + 06 越权面05 MCP 与压缩 + 06 压力面09 事故故事 + 10 压力面 + 12 速背

有 1 周以上 → 每个项目按各自入口页给出的完整路线走,并把 BinRag 的 _源码档案(逐行核对用) 与 ShatangAI 的 13-代码地图与事实索引 当作查证材料:面试前抽查几处,防止代码迭代后口径漂移。


五、维护提示 ​

  • 所有材料都是某一版代码的快照,正文里的文件路径与行号会随项目重构漂移。面试前务必按符号名(函数名/常量名)抽查几处,不要直接背行号。
  • BinRag 的 _源码档案(逐行核对用)/ 是「逐行核对过的技术事实」底稿;ShatangAI 的 13-代码地图与事实索引 自带一段「30 秒复查脚本」,面试前跑一遍即可确认关键事实没变。
  • 新增项目时请沿用本栏目约定:一个项目一个子目录 + 一个 index.md 入口页(含一句话定位 / 文档地图 / 阅读顺序 / 诚实边界),并在本页与 docs/.vitepress/config.mts 的 nav/sidebar 中登记。

持续学习,持续构建。