汇川技术转正实习二面
面试时间
2026_0920-14:30
面试内容
- 自我介绍,挑选一个拿得出手的项目,介绍项目背景、自己做的工作、难点以及如何攻克
- Data Agent 开源项目的背景;举例提到的商家后台是淘宝吗?
- Data Agent 项目使用什么语言开发?是否为 Web 开发?
- 是否具备后端开发能力?
- 做 Data Agent 这个开源项目的背景是什么?项目产生了什么价值?
- 不同企业业务、数据库不一样,企业该如何对接使用该 Data Agent 项目?
- 模拟电商公司场景:用户语义化提问,Data Agent 如何拿到数据,输出图表或文本结果?
- Data Agent 语义层如何理解?怎么把自然语言映射到数据库表、字段?
- 传统 CRUD 开发和 AI Agent 开发的区别是什么?
- 平时开发是否都使用 Vibe Coding?
- 你个人的 AI 开发 Workflow 是什么?
- AI Web Coding 会出现代码质量差、AI 乱写代码,有没有遇到这类场景?
- AI 参与编码,人工 Code Review 重点核查哪些内容?
- 拿到需求之后如何做需求拆解?
- PRD 是产品提供还是自己写?个人项目如何把业务场景拆解出 PRD?
- 是否做过后端相关项目?
- 个人职业规划是什么?目前大几?
- 为什么不走统招应届生招聘,选择实习转正路线?
- 认为自己目前欠缺哪些能力?
- 对工作地域是否有要求?
- 反问
面试复盘总结
1. 二面重点
二面进一步确认了 Data Agent 是否具备真实业务价值,以及候选人能否把前端经验扩展到完整的 AI 应用链路。面试重点集中在:
- Data Agent 的项目背景和开源价值。
- 不同企业数据库和业务差异下的接入方式。
- 语义层如何把自然语言映射到表、字段和指标。
- AI Coding 如何被纳入可控的研发 Workflow。
- 前端工程师向全栈和后端方向发展的计划。
2. Data Agent 的企业接入方式
不同企业的数据库、表结构和业务口径都不一样,Data Agent 不应该把某个公司的表名写死,而应该通过适配层和配置化语义层接入:
企业数据源 -> 数据库适配器 -> Schema 元数据 -> 业务语义层 -> Agent 工具 -> 查询与展示
接入新企业时,需要配置数据库连接、表和字段元数据、指标定义、业务别名、权限规则和示例问题。数据库差异可以由适配器处理,业务差异则由语义层和企业配置处理。这样 Data Agent 的核心推理、工具编排和结果展示可以复用,不需要为每家公司重写一套逻辑。
3. 从自然语言到图表结果
模拟电商场景时,可以把一次请求拆成几个阶段:
- 识别用户意图,例如查询销售额、订单量或转化率。
- 从语义层找到对应的指标、维度、时间范围和过滤条件。
- 根据数据库方言生成 SQL,并进行权限、语法和风险校验。
- 执行查询并对结果做类型、空值和异常处理。
- 根据数据结构选择表格、折线图、柱状图或文本摘要。
- 返回可解释的查询条件、结果和必要的口径说明。
语义层的价值在于建立业务概念和数据库结构之间的稳定映射。例如“GMV”可能对应多个字段的计算,而不是简单匹配一个叫 gmv 的列。模型负责理解意图,语义层负责提供确定的业务定义,数据库负责查询,前端负责交互和可视化。
4. CRUD 与 AI Agent 开发的差异
传统 CRUD 通常是确定性流程:输入结构明确,后端执行固定逻辑,结果也相对可预测。AI Agent 则需要处理开放式输入,并根据上下文选择工具和执行路径。
| 对比方向 | 传统 CRUD | AI Agent |
|---|---|---|
| 输入 | 表单、参数、固定接口 | 自然语言或多模态输入 |
| 流程 | 预先编排 | 根据任务动态规划 |
| 结果 | 确定性响应 | 需要校验和解释 |
| 质量保障 | 单测、接口测试 | 还需要评测集、工具约束和人工兜底 |
| 主要风险 | 参数错误、权限问题 | 幻觉、错误规划、工具误用和成本失控 |
因此 AI Agent 开发不是把 CRUD 接口外面包一层 Prompt,而是要增加上下文管理、工具协议、状态管理、权限控制、失败重试和结果评测。
5. AI Coding Workflow
个人使用 AI 开发时,可以采用这样的流程:
明确目标 -> 拆解需求 -> 补充上下文 -> 让 AI 生成方案 -> 分步实现 -> 自动检查 -> 人工 Review -> 沉淀规则
拿到需求后,先明确用户目标、输入输出、边界条件和验收标准,再拆成页面、数据流、接口、状态和测试任务。AI 生成代码后重点检查:
- 是否真的满足需求,而不是只满足类型检查。
- 状态流转、异常分支、请求取消和并发场景是否正确。
- 权限、用户输入、文件上传和数据展示是否存在安全风险。
- 是否破坏现有组件约定、接口契约和响应式性能。
- 是否补充了测试、类型检查、构建和页面验证。
Vibe Coding 可以提高探索和实现速度,但不能替代需求拆解、设计判断和 Code Review。尤其是 AI Web Coding,必须把生成代码当作初稿,通过自动化检查和人工审核形成闭环。
6. PRD 如何从业务场景拆出来
个人项目没有产品经理时,可以先从用户和业务目标出发,把场景拆成:
用户是谁 -> 遇到什么问题 -> 希望完成什么任务 -> 需要哪些数据 -> 什么结果算成功
然后补充用户流程、页面状态、接口契约、异常情况和验收标准。这样形成的 PRD 不需要写得很长,但要足够明确,能够让自己和 AI 对“做什么、不做什么、如何验收”达成一致。
7. 个人能力补强方向
这两轮面试反复围绕 Data Agent 展开,说明项目本身是很好的技术主线;同时也暴露出需要继续扩展的方向:
- 补充 Node 服务端、Java/Go 基础和常见 Web 后端架构。
- 系统学习 SQL、数据库索引、事务、权限和数据建模。
- 深入 Agent 状态管理、工具调用、上下文治理和评测体系。
- 继续实践从需求、PRD、接口、服务端到前端展示的完整项目。