Administrator 9 阅读 项目

面试准备手册:高频问题 + 参考答案 + 项目讲解话术

适用简历: 杨栋文 · Java 后端 / AI 应用后端 · 5 年
使用方式: 先背「30 秒 / 2 分钟自我介绍」和「项目讲解主线」,再按公司类型重点刷对应章节。
原则: 答案对齐简历数字与事实;不会的坦诚边界;独立项目强调「工程化」而非「调过 ChatGPT」。
AI 工具台追问: 面试官视角题库和优先 8 道口述见 面试题_AI工具台_面试官视角.md。


目录

  1. 面试叙事总策略
  2. 自我介绍话术
  3. 项目经历怎么讲(重点)
  4. 项目深挖问答
  5. Java / 基础技术问答
  6. 数据库 / 缓存 / 消息队列
  7. 微服务 / 工程化 / 安全
  8. AI 应用后端专项
  9. 行为与软技能
  10. 反问面试官(推荐)
  11. 按岗位类型的侧重点
  12. 面试红线与避坑

1. 面试叙事总策略

1.1 你的人设(一句话)

5 年 Java 后端,华为外派做过平台型业务交付(设备/工单/AI 语料工厂),最近独立把 LLM 做成可上线的异步任务系统(状态机、调度、多供应商、安全隔离)。
既能在团队里主导模块上线与性能优化,也能从 0 设计可演进架构。

1.2 经历主线(时间线)

阶段 公司/项目 面试官想听的能力
2021–2023 天珑 · BPM / 简历库 业务理解、流程引擎、系统对接、成长基础
2023–2026 软通外派华为 · EnvManage 微服务 0→1、并发与锁、大数据量导出、外部集成、性能优化
同期 软通外派华为 · AIFactory 分库分表、Kafka、大文件、AI 数据闭环、异步报告
2026.6–今 独立 · AI 智能内容工具台 AI 工程、状态机、Port-Adapter、SSE、安全、全栈闭环

1.3 讲解优先级(面试时间有限时)

  1. AI 工具台(差异化,中高级/AI 岗必讲)
  2. EnvManage(规模感、主导模块、量化结果最硬)
  3. AIFactory(分表 + Kafka + 语料,接 AI 业务)
  4. 天珑 BPM(一笔带过即可,证明完整职业路径)

1.4 STAR 模板(所有项目通用)

字母 含义 你怎么填
Situation 背景/痛点 谁用、多大规模、原来哪里不行
Task 你的目标 主导什么、要交付什么指标
Action 做法 架构选型、关键设计、权衡
Result 结果 数字 + 业务价值 + 可复用沉淀

2. 自我介绍话术

2.1 30 秒版(开场)

面试官您好,我是杨栋文,5 年 Java 后端。
前两年在天珑做企业 OA/BPM,后面三年软通外派华为,主要做测试环境管理平台和 AI 训练数据工厂,主导过设备资源、工单、语料管理等模块,有百万级导出、分库分表、Kafka 标注流水线这些落地经验。
最近我独立做了一套 AI 内容工具台,把视频理解、文生图、AI 成片、文章二创做成统一的异步任务 + 多模型接入架构。
希望在贵司继续做 Java 中高级后端或 AI 应用后端,期望薪资 15~20K。

2.2 2 分钟版(技术面开场)

我的经历可以分三条线:
第一,平台业务。 在华为 EnvManage,平台接 5000+ 设备、15+ 实验室。我从微服务底座搭到设备/资源池/工单/监控,工单导出用 SXSSF 流式把内存压到 50MB 内,HiTest 同步从 30 分钟优化到 5 分钟。
第二,数据与 AI 业务。 在 AIFactory 负责语料生命周期,分库分表后查询从 3 秒到 200 毫秒,用 Kafka 做多模态标注,CompletableFuture 做评测报告异步化。
第三,AI 工程。 独立项目里我验证的不是「会不会调模型」,而是怎么把 LLM 做成业务系统:任务状态机、调度槽位、Port-Adapter 换供应商、LangChain4j/OkHttp 可回滚、SSE 进度、SSRF 和用户隔离。
技术栈上企业侧是 Spring Boot/Cloud、MySQL、Redis、Kafka;AI 侧补了 Java 17、Boot 3、LangChain4j、多进程协作。
下面我可以按你们更关心的方向展开:华为平台细节,或 AI 工具台架构。


3. 项目经历怎么讲(重点)

建议总时长: 技术一面 8~12 分钟讲项目;每个项目 2~4 分钟,留时间给追问。


3.1 项目 A:AI 智能内容工具台(独立项目 · 首选开场)

适合场景

  • 岗位 JD 含:AI、大模型应用、内容中台、SaaS、工具链
  • 面试官问:「最近在做什么?」「有没有从 0 到 1?」

2~3 分钟口述稿(建议背熟骨架)

背景: 企业里我做过语料和标注,但调用模型往往被藏在流水线节点里。我想系统验证一件事——怎么把 LLM 做成可靠业务系统,而不是 Demo。

目标: 做一个可上线的 AI SaaS 骨架:用户登录会员 → 提交任务 → 异步跑流水线 → SSE 看进度 → 拿到结构化结果。能力覆盖看、写、画、成片。

架构:

  • 后端 Java 17 + Spring Boot 3,前端 Vue 3;
  • 每个工具独立包、独立任务表,共用一套模式:提交 → PENDING → 调度槽位 → 状态机 → 成功/失败/暂停;
  • LLM 走统一 LlmChatClient,LangChain4j 和 OkHttp 双实现,配置可回滚;
  • 生图、抓取、渲染等用 Port + Adapter,业务不绑死厂商;
  • 辅助进程:Python Whisper 做 ASR,Node Remotion 做视频渲染,Java 编排。

四个工具举例:

  1. 视频提取:链接下载 → 抽音 → 转写 → LLM 出要点/章节/二创;
  2. 文生图:提示词润色 → FLUX 出图;
  3. AI 成片:分镜 JSON → TTS/配图 → Remotion 成片;
  4. 文章提取:安全抓取或粘贴降级 → 核心提取 + 多形态 rewrite。

我个人: 产品定义、架构、后端主体、联调、单测和设计文档,大约 500 个 Java 文件,另有 80+ 单测。

价值: 证明我能独立完成 AI 业务从设计到落地,并带着安全、限流、可替换、可观测这些工程意识。

讲解时建议画的简易架构(口述即可)

Vue 工具台 ──REST/SSE──► Spring Boot(鉴权/任务/调度)
                              │
          ┌───────────────────┼───────────────────┐
          ▼                   ▼                   ▼
     视频/文章流水线      文生图/成片流水线      Chat Agent
          │                   │                   │
     Whisper / yt-dlp    FLUX / Remotion     LLM Tool 调用
          └───────────────────┴───────────────────┘
                    LlmChatClient(可切换引擎)
                    ai_model_config 多模型

主动抛出的 3 个「钩子」(方便面试官追问)

  1. 「为什么各工具独立表而不是一张大任务表?」→ 状态机/产物不同,避免耦合。
  2. 「为什么 LLM 要双实现可回滚?」→ 框架升级风险可控,业务不绑死。
  3. 「文章抓取为什么要粘贴降级 + SSRF?」→ 反爬与安全是产品约束,不是硬爬。

3.2 项目 B:EnvManage 测试环境管理平台(华为 · 硬指标项目)

适合场景

  • 传统中后台、运维平台、设备/资产、工单类 JD
  • 面试官重性能、并发、微服务、集成

2~3 分钟口述稿

背景: 华为内部测试环境管理,设备多、实验室多,要管设备信息、资源占用、工单、监控,还要对接 LCM、HiTest 等外部系统。平台规模大约 5000+ 设备、15+ 实验室,可用性要求高。

我的角色: 参与微服务 0 到 1 底座,主导设备、资源池、工单等模块设计开发与上线。

几件有技术含量的事:

  1. 资源占用锁: 设备占用/释放要防并发双占,用锁机制保证同一时刻只能被一方占用。
  2. 工单百万级导出: 普通 POI 容易 OOM,我用 SXSSF 流式写 + 分页查 + chunked 响应,内存控制在 50MB 内,大约 3 秒级响应,业务侧处理效率提升约 60%。
  3. 监控链路: 定时任务 + Redis + LMAX Disruptor 异步并行,把监控响应压到 500ms 内;大文件走 OBS 分块上传下载。
  4. 集成与性能: 适配器封装 LCM/HiTest;HiTest 改增量同步后,同步从 30 分钟降到 5 分钟;状态查询走 Redis 缓存。

收获: 平台型产品里,边界清晰的模块 + 外部系统适配 + 可量化的性能优化 比单纯写 CRUD 更重要。

讲解顺序建议

底座 → 设备/资源池(业务核心)→ 工单导出(技术亮点)→ 同步优化(结果数字)→ 集成模式(可扩展)


3.3 项目 C:AIFactory 智能数据工厂(华为云 · 数据/AI 衔接)

适合场景

  • 数据中台、标注平台、AI 训练数据、Kafka 流水线
  • 想从企业 AI 业务过渡到独立 AI 项目时的「桥」

2 分钟口述稿

背景: AI 训练需要大量语料,平台要覆盖采集、标注、测试、评估闭环,日处理到十万级。

我负责语料全生命周期: 创建、上传、标注、查询、版本。语料类型有图片、视频、音频、多模态,数据量大,查询一度到 3 秒。

关键动作:

  • 按类型做分库分表,再配合 SQL 与索引优化,查询到约 200ms,大约 15 倍;
  • 大文件分片 + 流式上传,单次十万级文件,内存控制 50MB 内;
  • 标注侧用 Kafka 解耦,多模型并发;流水线是 DAG,支持暂停终止;
  • 评测指标用策略模式 + 表达式配置,PDF 报告用线程池异步生成,吞吐大约 3 倍。

和现在独立 AI 项目的关系: 企业侧我熟悉「数据进流水线再出结果」;独立项目里我把「LLM 节点」本身做成了可调度、可替换、可观测的系统。


3.4 项目 D:天珑 BPM / 简历库(快速带过)

40~60 秒口述稿

第一份工作在天珑做 BPM 和企业简历库。BPM 基于流程引擎和 BPMN,覆盖采购、HR、财务审批,对接过 SAP、EHR、MES,还有企微移动审批。简历库做多格式存储、打标、检索和权限。
这段经历让我熟悉完整企业业务和系统对接,也为后面做平台型产品打下基础。更复杂的并发、分表和 AI 工程主要在华为和独立项目里。


3.5 多项目串讲(面试官说「按时间线介绍」)

2021 年毕业进天珑,两年 OA/BPM,熟悉流程和跨系统集成。
2023 年进软通外派华为,先做 EnvManage,把微服务底座和设备工单监控做扎实,也做出导出和同步这些性能优化。
后来参与 AIFactory,接触语料分表、Kafka 标注和评测闭环,开始贴近 AI 数据业务。
2026 年中开始独立做 AI 内容工具台,把平台工程经验迁移到 LLM 应用:任务系统、适配器、安全与实时推送。
所以我的路径是:业务系统 → 平台与性能 → 数据/AI 流水线 → AI 应用工程化。


4. 项目深挖问答

4.1 AI 智能内容工具台

面试官视角的完整追问清单、优先 8 道 60~90 秒口述,见 面试题_AI工具台_面试官视角.md。下面是较短的参考答,和那篇有出入时以代码与那篇为准。

Q1:为什么要做这个项目?和「调一下 OpenAI API」有什么区别?

答:
调 API 只解决「模型会不会答」。业务系统要解决:谁能用、任务多久跑完、失败怎么重试/暂停、进度怎么推、模型换了代码改多少、会不会被 SSRF 打穿、会不会串号看到别人数据。
我做的是后面这一整套:鉴权会员 + 异步任务状态机 + 调度限流 + Port-Adapter + SSE + 安全。

Q2:任务状态机怎么设计的?为什么要调度槽位?

答:
典型状态:PENDING → 运行中各阶段 → SUCCESS / FAILED / PAUSED。不同工具阶段名不同(如下载、转写、总结、渲染),但模式统一。
调度槽位是每类工具自己的并发上限(例如视频提取同时最多 2 个),存在进程内存的 TaskSlotKernel 里,避免视频和成片抢同一组槽。LLM、ASR、渲染都贵且慢,请求来多少跑多少会打满机器和供应商配额。
槽位 = 用吞吐换稳定。现在是单机设计;多实例不能直接复用这套内存槽。

Q3:LangChain4j 和 OkHttp 双实现怎么做?为什么要可回滚?

答:
业务只依赖统一的 Chat 出口(如 LlmChatClient),下面两个 Adapter:一个走 LangChain4j,一个手写 OkHttp 调 OpenAI 兼容协议。用配置项切换。
原因:引入新框架有兼容/超时/流式细节风险;双实现可以灰度,出问题一键回 OkHttp,业务流水线不用改。Chat 文本和 FLUX 生图协议也分开,避免硬套。

Q4:什么是 Port-Adapter?举个你项目里的例子。

答:
Port 是业务定义的接口(「我要一张图」「我要分镜 JSON」),Adapter 是对接具体厂商的实现。
例如文生图:ImageGenPort → NvidiaFluxImageAdapter;以后换别的厂商只加 Adapter,流水线不变。
抓取、渲染同理。这是六边形架构的务实用法,目的是变化隔离在边界。

Q5:SSE 和 WebSocket 你为什么选 SSE?

答:
任务进度和聊天流式以服务端推送文本事件为主,客户端以接收为主,SSE 足够,实现和代理兼容通常更简单。
真取消可以配合服务端注册表中断生成。若以后要强双向(客户端频繁上行控制),再评估 WebSocket。

Q6:视频提取流水线失败了怎么处理?长视频怎么办?

答:
阶段失败进入 FAILED,保留错误信息;支持暂停等状态。长视频避免简单头尾截断导致中间信息丢失,用分层摘要/分段策略;理解模式可配置 audio-only / hybrid,控制成本和质量。
(按你实现细节补充:重试是否整管线、是否断点续跑。)

Q7:文章抓取的 SSRF 怎么防?

答:
用户提交任意 URL 时,服务端若直接请求,可能被导向内网(如 127.0.0.1、云元数据地址)造成攻击。
做法包括:协议与端口限制、解析 DNS 后校验目标 IP 非私网/保留地址、DNS 钉扎(请求打到已校验的 IP)、超时与大小限制。
强反爬平台不硬刚,提供粘贴正文降级,保证产品可用且合规风险可控。

Q8:Agent 里为什么写操作要确认?

答:
模型会幻觉。如果自然语言直接「删除/批量创建任务」而不确认,误操作成本高。
所以 Tool 分查询与写入;写入先出确认卡,用户确认后再执行,并且全程带 userId,禁止越权。

Q9:这个项目有真实用户/营收吗?

答(诚实版):
目前以独立产品工程验证和持续迭代为主,重点交付的是可运行的架构与模块完整度(鉴权、多工具、文档与单测)。若面试官追问数据,不编造 DAU;可强调下一步是完善支付进件、配额与部署。
价值主张放在工程能力可迁移到公司业务。

Q10:代码量大约 500 个 Java 文件,你怎么保证质量?

答:
模块边界清晰(video/aigen/imggen/article/auth…);关键路径有单测(URL 安全、适配器、状态等);设计文档写清决策与验收;配置外置;LLM 出口可回滚降低集成风险。


4.2 EnvManage

Q11:资源占用锁具体怎么做的?分布式吗?

答:
业务上要保证设备不能被两个任务同时占用。实现上在占用/释放路径加互斥(按你实际:DB 乐观锁/状态机条件更新、或 Redis 锁、或二者结合)。
面试时讲清三点:

  1. 临界区是什么(占用状态变更);
  2. 失败怎么返回(已被占用);
  3. 异常释放(超时、任务失败是否归还)。
    若只用了单机锁而部署多实例,要主动说明局限与改进(分布式锁/DB 条件更新)。

Q12:百万级 Excel 导出为什么内存能 < 50MB?

答:
传统 XSSF 整表进内存会 OOM。SXSSF 是滑动窗口流式写盘;查询侧分页拉数据,而不是一次 select 百万行;HTTP 用 chunked 边写边刷。
三者结合后,内存近似「页大小 + 窗口」,而不是「全表」。
结果:内存约 < 50MB,响应约 3 秒级,业务处理效率提升约 60%。

Q13:HiTest 同步 30 分钟到 5 分钟,你做了什么?

答:
全量同步每次拉全量设备数据,数据大、耗时长。改为增量同步(按时间戳/版本/变更集,按你实际字段说),只处理变化部分;再配合任务拆分与缓存。
收益主要来自减少无效数据传输与写入,而不是单纯加机器。

Q14:为什么用 LMAX Disruptor?和线程池比呢?

答:
监控场景是生产者(采集/定时任务)持续产生事件,需要低延迟并行消费。Disruptor 是环形队列 + 无锁设计,适合这种高吞吐事件处理。
线程池更通用,但在超高频事件路上队列与锁竞争可能成为瓶颈。我们用在监控异步并行路径,目标是响应 < 500ms 量级。
(若面试官很深,承认:业务量级未必打满 Disruptor 极限,但选型解决的是异步解耦与并行处理结构。)

Q15:适配器模式在集成里怎么体现?

答:
LCM、HiTest 接口不同。业务服务依赖统一的「设备申请/同步」抽象,具体 HTTP 调用、URL、字段映射在 Adapter 里;URL 可配置。
好处:外部系统变更时改适配层,核心领域逻辑稳定。

Q16:5000+ 设备、99.9% 可用性,你个人贡献边界?

答:
平台级数字是团队/产品结果;我的贡献要落到主导模块与可验证优化(导出、同步、占用、监控链路、底座能力)。
不把整个平台可用性都说成自己一人保证,但可以说:模块设计考虑失败降级、缓存、异步解耦,支撑稳定性目标。


4.3 AIFactory

Q17:分库分表怎么分的?中间件?

答:
按语料类型(图/视/音/多模态等)与数据规模做分片策略,结合 ShardingSphere;查询慢主要来自大表扫描与索引不当,分表后单表更小,再优化 SQL/索引,RT 从约 3s 到 200ms。
追问准备:分片键是什么、跨片查询怎么避免、分页深度问题。

Q18:Kafka 在标注流水线里扮演什么角色?

答:
上传/待标注事件进 Topic,消费者调不同标注模型,生产者与消费者解耦,可水平扩展消费能力,避免同步 HTTP 打爆模型和拖垮上传接口。

Q19:任务重跑如何保证数据一致性?

答:
重跑会产生重复结果。我们按 corpusId + indicatorId 去重,保留最新记录(如 LinkedHashMap 顺序策略或 DB 唯一键/覆盖写);批量写减少 IO。
目标是:可重跑、结果可解释、不脏读一堆历史分。

Q20:大文件 10 万+ 上传如何控内存?

答:
分片上传 + 流式读写,不把全部文件一次性读进 JVM;控制并行度;落对象存储/盘后只保留元数据在 DB。


4.4 天珑 BPM

Q21:BPMN 并行网关、条件分支怎么理解?

答:
条件分支按表达式走不同路径;并行网关多条分支同时进行,汇聚后再往下。审批流里常见「会签/并行部门审批后再汇总」。

Q22:和 SAP 等系统对接注意什么?

答:
数据模型不一致要用适配/转换层;注意事务边界(对方失败是否回滚本地);接口超时与重试;主数据以谁为准。我们做实时同步时重点保证字段映射正确和失败可查。


5. Java / 基础技术问答

Q23:HashMap 和 ConcurrentHashMap?

答:
HashMap 非线程安全;ConcurrentHashMap 用分段思想/CAS+synchronized(JDK8)保证并发读写安全。缓存、统计等高并发共享 Map 用 CHM。
(可联系:本地缓存、计数、任务注册表。)

Q24:线程池参数怎么设?

答:
核心参数:core、max、queue、reject、keepAlive、threadFactory。
IO 密集(调 LLM、下载)可增大线程、队列要有界防 OOM;CPU 密集靠近 CPU 核数。
拒绝策略按业务:调用方感知用 Abort + 友好错误;不能丢可用 CallerRuns 降速。
AI 任务更倾向「有界队列 + 明确拒绝/排队中状态」,而不是无界队列。

Q25:CompletableFuture 用过吗?

答:
AIFactory 异步生成 PDF 报告:提交计算任务并行执行,allOf 汇总,避免同步接口长时间阻塞,吞吐大约提升 3 倍。
注意:自定义线程池,避免用默认 commonPool 打满;异常要用 exceptionally/handle 处理。

Q26:CountDownLatch 在你项目里怎么用?

答:
多步异步任务需要「全部完成再进入下一步」时,主流程 await,子任务 countDown。EnvManage 多步流程完整性用过这类同步工具。
与 CF 区别:Latch 更偏一次性等待计数;CF 更偏组合异步结果。

Q27:Spring Bean 循环依赖?

答:
单例 setter/字段注入时三级缓存可缓解;构造器注入循环会失败,说明设计耦合,应拆模块或引入事件/接口。
实际更建议从设计上消除循环。

Q28:事务失效场景?

答:
同类自调用不走代理;异常被吞;非 public;错误的传播级别;多线程里子线程无事务上下文等。

Q29:Java 8 和 17 你用过哪些差异?

答:
企业项目多 Java 8;独立项目 Java 17 + Spring Boot 3(Jakarta 命名空间)。
17 有 records、text blocks、更强的 GC/性能与长期支持。迁移要注意 javax.* → jakarta.* 与依赖升级。


6. 数据库 / 缓存 / 消息队列

Q30:如何排查慢 SQL?

答:
慢查询日志 → explain 看 type/rows/额外 filesort;补合适索引;避免 select *;大分页改游标;必要时分表。
语料查询优化是分表 + SQL/索引组合拳。

Q31:索引失效常见原因?

答:
对索引列运算/函数;隐式类型转换;前导模糊 like;最左前缀不匹配;or 一侧无索引等。

Q32:Redis 一般缓存什么?穿透/击穿/雪崩?

答:
设备状态、热点配置、会话相关数据等。
穿透:布隆/缓存空值;击穿:互斥锁或逻辑过期;雪崩:过期时间打散 + 多级缓存 + 限流。

Q33:Kafka 和 RocketMQ 怎么选?(结合你简历)

答:
我在 AIFactory 用 Spring Kafka 做标注解耦,适合日志/流式/高吞吐事件。RocketMQ 在国内业务消息、延时消息等场景常见。
选型看团队生态、消息语义、运维成熟度;我具备消息驱动拆分同步链路的实践。

Q34:消息丢失/重复怎么处理?

答:
丢失:生产者确认、副本、消费者提交位点时机。
重复:消费者幂等(唯一键、去重表、业务状态机)。
标注/评测重跑场景我们按业务键去重保留最新。


7. 微服务 / 工程化 / 安全

Q35:微服务 0 到 1 你做了哪些?

答:
日志与全局异常、多环境配置、敏感配置加密(Jasypt)、Flyway 迁移、CI/CD、(网关/注册视项目)、统一返回与基础组件,让业务模块可快速接入。

Q36:Gateway 的作用?

答:
统一入口、路由、鉴权、限流、灰度。AIFactory 侧有 Gateway 统一接口调用相关实践。

Q37:JWT 优缺点?怎么做注销?

答:
无状态、易扩展;缺点是注销难、载荷不宜太大。
注销可用:短过期 + 刷新令牌;黑名单(Redis);版本号/密码变更使旧 token 失效。
我独立项目用 Spring Security + JWT + BCrypt + 邮箱验证码。

Q38:BCrypt 为什么比 MD5 好?

答:
BCrypt 自适应耗时、自带 salt,抗彩虹表与暴力;MD5 快且不该用于密码。

Q39:配置加密、密钥怎么管理?

答:
Jasypt 等加密配置文件敏感项;生产密钥走环境变量/密钥服务,不进仓库。独立项目同样密钥外置。


8. AI 应用后端专项

Q40:LLM 结构化输出怎么保证?

答:
Prompt 明确 JSON schema;用模型 JSON mode(若支持);服务端反序列化到 POJO,失败重试或降级;关键字段校验。
视频摘要、分镜、文章核心提取都走结构化,而不是自由散文难解析。

Q41:如何控制 LLM 成本与延迟?

答:
并发槽位;能短则短的上下文(分层摘要而非整段硬塞);模型分能力(chat/image/omni);缓存相同请求;会员配额;异步任务避免占用 HTTP 线程硬等。

Q42:多模态和纯文本链路怎么选?

答:
有口播的内容 ASR+文本 LLM 性价比高;PPT/无口播/画面信息重要时上 hybrid/omni。默认可用 audio-only 控成本,产品再放开 hybrid。

Q43:你对 Agent 的理解?

答:
不是让模型为所欲为,而是 LLM 决策 + 受限工具 + 权限与确认 + 可审计。
我做的是站内工具 Agent:查任务、创建任务需确认,强制用户隔离。

Q44:LangChain4j 在项目中解决什么?不解决什么?

答:
解决:Chat 调用、部分结构化输出增强、统一供应商接入体验。
不解决:也不该接管任务调度、TTS、Remotion、FLUX 协议细节——那些是业务与多媒体流水线。


9. 行为与软技能

Q45:为什么离开 / 看新机会?(按实情改)

参考框架:

希望在业务上更聚焦长期产品方向,技术上把平台工程和 AI 应用结合得更深。对贵司的 … 方向匹配。
避免:过度负面前公司、只谈钱(可后谈薪)。

Q46:职业规划?

答:
近 1~2 年:成为能独立负责中等复杂度后端域的中高级工程师,在 AI 应用或平台方向做出稳定交付。
中期:能带小模块/小组,做架构权衡与质量兜底。

Q47:15~20K 怎么谈?

答:
基于 5 年经验、华为平台项目复杂度与 AI 工程能力给出的区间;可按城市、是否 mon 班、绩效微调。
先让对方感受匹配度,再谈具体数字。

Q48:最大的挑战?

答(示例组合):

  1. 工单导出 OOM → 流式方案与指标验证;
  2. 语料查询慢 → 分表+SQL;
  3. AI 项目里「模型不稳定」→ 用状态机、超时、降级、结构化校验把不确定性关在边界内。

Q49:和产品/前端冲突怎么办?

答:
先对齐目标用户与验收标准;用数据/成本/风险说明技术约束(如反爬不能 100%);给可选方案(粘贴降级、异步进度)而不是只说不行。

Q50:加班/学习?

答:
项目关键期可以投入;平时用文档和设计减少救火。独立 AI 项目也是持续学习 Spring Boot 3 与 LLM 工程的证明。


10. 反问面试官(推荐)

选 2~3 个,显专业:

  1. 这个岗位近期最重要的 1~2 个业务目标是什么?
  2. 团队现在最大的技术债或架构瓶颈在哪?
  3. AI/模型相关能力是自建、采购还是混合?后端边界到哪?
  4. 任务异步化、可观测性(日志/指标/追踪)现状如何?
  5. 职级与晋升周期、试用期考核标准?
  6. 团队规模、协作方式(是否有 code review)?

11. 按岗位类型的侧重点

岗位类型 主讲项目 强调点 少讲/慎讲
传统业务中后台 EnvManage + BPM 工单、集成、导出、锁、稳定性 过度吹 AI Demo
数据/中台 AIFactory + EnvManage 分表、Kafka、大文件、一致性 过细前端
AI 应用 / LLM 工程 AI 工具台 + AIFactory 状态机、适配器、SSE、安全、结构化输出 纯 CRUD 细节
微服务平台 EnvManage 底座 + 工具台工程化 0→1、配置、CI、可回滚 业务名词堆砌

12. 面试红线与避坑

12.1 数字类

简历点 讲法 避免
5000+ 设备 / 99.9% 平台规模 + 团队目标,落到自己模块 声称一人保障全站可用性
15× / 30→5min / 3× 讲清前后对比与手段 说不出基线怎么测
350+ 文件 独立项目体量参考 等价于「我比团队都强」
独立项目用户量 诚实:工程验证与迭代 虚构 DAU/营收

12.2 技术类

  • 不会的分布式细节:说「当时边界」+「若重做会怎么加强」。
  • Disruptor、ShardingSphere:能讲场景与收益即可,被追问原理就承认深度边界。
  • 华为内部敏感信息:不泄密,用「设备/实验室/语料」等简历已有表述。

12.3 表达类

  • 先结论后细节(尤其是电话面)。
  • 每个项目至少 1 个量化结果 + 1 个设计权衡。
  • 独立项目:工程闭环 > 模型本身。

附录 A:面试前一晚检查清单

  • [ ] 30 秒 / 2 分钟自我介绍各过 3 遍
  • [ ] AI 工具台、EnvManage、AIFactory 各讲一遍(计时)
  • [ ] 三个数字能讲清:导出内存、同步耗时、分表 RT
  • [ ] 三个设计能讲清:状态机槽位、Port-Adapter、双 LLM 引擎
  • [ ] 准备 1 个失败/踩坑故事(导出 OOM 或同步全量或 SSRF)
  • [ ] 浏览 JD,把关键词映射到简历项目
  • [ ] 笔记本画好架构草图(工具台 + EnvManage)

附录 B:一页纸「项目讲解卡片」(可打印)

卡片 1 · AI 工具台

  • 一句话: 把 LLM 做成可上线异步任务系统
  • 架构: Boot3 + 状态机 + 槽位 + Port-Adapter + SSE + 双 Chat 引擎
  • 模块: 视频 / 成片 / 文生图 / 文章 / Agent / 鉴权会员
  • 职责: 独立全栈偏后端,350+ Java
  • 追问预埋: SSRF、可回滚、为何独立表

卡片 2 · EnvManage

  • 一句话: 华为测试环境平台,设备工单资源监控
  • 规模: 5000+ 设备,15+ 实验室
  • 亮点: 占用锁、SXSSF 导出、Disruptor 监控、增量同步 30→5min
  • 职责: 底座 + 多模块主导
  • 追问预埋: 导出内存、分布式锁边界

卡片 3 · AIFactory

  • 一句话: AI 训练语料全生命周期与标注评测
  • 亮点: 分表 3s→200ms、Kafka 标注、大文件分片、异步报告 3×
  • 桥接: 企业 AI 数据 → 个人 AI 应用工程

卡片 4 · 天珑

  • 一句话: BPM + 简历库,流程与系统对接入门
  • 一笔带过: SAP/EHR/MES、企微审批

附录 C:模拟面试 15 分钟流程(可自练)

时间 环节 你做什么
0–2 min 自我介绍 2 分钟版
2–6 min 深讲 AI 工具台 口述稿 + 架构
6–10 min EnvManage 亮点 导出 + 同步 + 锁
10–13 min 基础/场景题 线程池、Redis、事务
13–15 min 反问 2 个问题

文档版本:与当前 okx-bot/doc/resume.md 对齐 · 建议每次改简历后同步改本手册中的数字与职责表述。