面试准备手册:高频问题 + 参考答案 + 项目讲解话术
适用简历: 杨栋文 · Java 后端 / AI 应用后端 · 5 年
使用方式: 先背「30 秒 / 2 分钟自我介绍」和「项目讲解主线」,再按公司类型重点刷对应章节。
原则: 答案对齐简历数字与事实;不会的坦诚边界;独立项目强调「工程化」而非「调过 ChatGPT」。
AI 工具台追问: 面试官视角题库和优先 8 道口述见 面试题_AI工具台_面试官视角.md。
目录
- 面试叙事总策略
- 自我介绍话术
- 项目经历怎么讲(重点)
- 项目深挖问答
- Java / 基础技术问答
- 数据库 / 缓存 / 消息队列
- 微服务 / 工程化 / 安全
- AI 应用后端专项
- 行为与软技能
- 反问面试官(推荐)
- 按岗位类型的侧重点
- 面试红线与避坑
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 讲解优先级(面试时间有限时)
- AI 工具台(差异化,中高级/AI 岗必讲)
- EnvManage(规模感、主导模块、量化结果最硬)
- AIFactory(分表 + Kafka + 语料,接 AI 业务)
- 天珑 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 编排。
四个工具举例:
- 视频提取:链接下载 → 抽音 → 转写 → LLM 出要点/章节/二创;
- 文生图:提示词润色 → FLUX 出图;
- AI 成片:分镜 JSON → TTS/配图 → Remotion 成片;
- 文章提取:安全抓取或粘贴降级 → 核心提取 + 多形态 rewrite。
我个人: 产品定义、架构、后端主体、联调、单测和设计文档,大约 500 个 Java 文件,另有 80+ 单测。
价值: 证明我能独立完成 AI 业务从设计到落地,并带着安全、限流、可替换、可观测这些工程意识。
讲解时建议画的简易架构(口述即可)
Vue 工具台 ──REST/SSE──► Spring Boot(鉴权/任务/调度)
│
┌───────────────────┼───────────────────┐
▼ ▼ ▼
视频/文章流水线 文生图/成片流水线 Chat Agent
│ │ │
Whisper / yt-dlp FLUX / Remotion LLM Tool 调用
└───────────────────┴───────────────────┘
LlmChatClient(可切换引擎)
ai_model_config 多模型
主动抛出的 3 个「钩子」(方便面试官追问)
- 「为什么各工具独立表而不是一张大任务表?」→ 状态机/产物不同,避免耦合。
- 「为什么 LLM 要双实现可回滚?」→ 框架升级风险可控,业务不绑死。
- 「文章抓取为什么要粘贴降级 + SSRF?」→ 反爬与安全是产品约束,不是硬爬。
3.2 项目 B:EnvManage 测试环境管理平台(华为 · 硬指标项目)
适合场景
- 传统中后台、运维平台、设备/资产、工单类 JD
- 面试官重性能、并发、微服务、集成
2~3 分钟口述稿
背景: 华为内部测试环境管理,设备多、实验室多,要管设备信息、资源占用、工单、监控,还要对接 LCM、HiTest 等外部系统。平台规模大约 5000+ 设备、15+ 实验室,可用性要求高。
我的角色: 参与微服务 0 到 1 底座,主导设备、资源池、工单等模块设计开发与上线。
几件有技术含量的事:
- 资源占用锁: 设备占用/释放要防并发双占,用锁机制保证同一时刻只能被一方占用。
- 工单百万级导出: 普通 POI 容易 OOM,我用 SXSSF 流式写 + 分页查 + chunked 响应,内存控制在 50MB 内,大约 3 秒级响应,业务侧处理效率提升约 60%。
- 监控链路: 定时任务 + Redis + LMAX Disruptor 异步并行,把监控响应压到 500ms 内;大文件走 OBS 分块上传下载。
- 集成与性能: 适配器封装 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 锁、或二者结合)。
面试时讲清三点:
- 临界区是什么(占用状态变更);
- 失败怎么返回(已被占用);
- 异常释放(超时、任务失败是否归还)。
若只用了单机锁而部署多实例,要主动说明局限与改进(分布式锁/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:最大的挑战?
答(示例组合):
- 工单导出 OOM → 流式方案与指标验证;
- 语料查询慢 → 分表+SQL;
- AI 项目里「模型不稳定」→ 用状态机、超时、降级、结构化校验把不确定性关在边界内。
Q49:和产品/前端冲突怎么办?
答:
先对齐目标用户与验收标准;用数据/成本/风险说明技术约束(如反爬不能 100%);给可选方案(粘贴降级、异步进度)而不是只说不行。
Q50:加班/学习?
答:
项目关键期可以投入;平时用文档和设计减少救火。独立 AI 项目也是持续学习 Spring Boot 3 与 LLM 工程的证明。
10. 反问面试官(推荐)
选 2~3 个,显专业:
- 这个岗位近期最重要的 1~2 个业务目标是什么?
- 团队现在最大的技术债或架构瓶颈在哪?
- AI/模型相关能力是自建、采购还是混合?后端边界到哪?
- 任务异步化、可观测性(日志/指标/追踪)现状如何?
- 职级与晋升周期、试用期考核标准?
- 团队规模、协作方式(是否有 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 对齐 · 建议每次改简历后同步改本手册中的数字与职责表述。