腾讯搜狗输入法后台二至四面:AI 代码可靠性与测试
本场面试题
- 平时做需求,怎么保证 AI 写代码的输出可靠?
- 怎么设计测试用例?
- AI 以后会完全取代程序员吗?人在哪些场景能起作用?
面经与参考答法
腾讯搜狗输入法后台二至四面:AI 代码可靠性与测试
原帖自述搜狗输入法后台开发秋招,按二面、三面、四面记录,合为一条面试流程;正式团队名称和面试日期未知,不把发布时间当作面试日期。本页选“其他问题”中的三组明确追问,C++、操作系统与算法题未展开,未披露的 Agent 使用问题不补成实际故障。经历未经外部核实;短答与示例为编辑补充的学习材料,不代表现场回答或公司的实际工具、流程。
(1)平时做需求,怎么保证 AI 写代码的输出可靠?
先把需求、代码基线、约束和验收条件说清,再让模型做可审查的改动。结合类型与静态检查、针对行为的测试、差异审查和必要的真实集成,核对实际结果与副作用;检查失败就回到具体证据定位,保留版本与执行记录。测试通过、另一个模型说正确或模型宣称完成,都不能独自证明需求已满足,敏感操作仍需明确权限与责任边界。
教学示例(非原面试实现):AI 修改缓存读写后,应按需求核对失效规则,并验证过期、异常与并发路径;先看实际差异和测试证据,再决定是否接受改动,不能只凭成功编译。
(2)怎么设计测试用例?
先确定输入、前置状态、预期结果和不能破坏的约束,再覆盖正常、边界、非法输入、依赖故障与历史回归。把断言放到能有效发现问题的层级:确定性逻辑用单元测试,外部协议用集成测试,跨组件关键流程用端到端测试。若包含 Agent,再检查工具轨迹、环境终态与模型波动;覆盖率和一次通过不能替代对遗漏场景的检查。原帖没有披露具体用例或测试框架。
教学示例(非原面试实现):假设新增批量接口,除正常数据外,还检查空批次、边界数量、非法输入和超时后重试,并断言结果与副作用次数。Mock 可以验证调用形状,仍需适量真实测试环境验证协议。
(3)AI 以后会完全取代程序员吗?人在哪些场景能起作用?
不能从当前演示推断职业未来。讨论时可先拆分工作:模型能辅助生成、解释和转换代码,是否适合某项任务仍需实际验证;需求是否正确、证据是否充分、权限和风险怎样取舍、产物是否满足约束及谁承担交付责任,都需要明确负责的人员与制度。生成了代码不等于完成了工程,当前能力边界也不是对未来能力的永久结论。
教学示例(非原面试实现):模型生成数据导入脚本后,团队仍要确定允许处理的数据、异常处置与回滚条件,并独立核对目标状态。这里讨论工程职责,没有给出就业数量或替代时间预测。