贝壳后端一面:AI 编程、Agent 工作流与云原生追问
- 轮次
- 一面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 请做一下自我介绍。
- 你最擅长什么开发语言?还使用过哪些语言?
- 平时使用哪些 AI 编程工具?这些工具有什么区别?
- 有了 AI 编程工具之后,开发人员最需要具备哪些能力?
- 如何验证 AI 生成的方案和代码符合需求?除了能运行,如何验证功能的完整性和需求的一致性?
- 你对 AI 辅助开发的理解,主要来自实习还是个人项目?
- 在腾讯实习了多久?实习过程中最宝贵的收获是什么?
- 实习项目解决了什么问题?
- 为什么做这个项目?
- 实习项目面向哪些用户?有多少人使用?
- 请介绍实习项目的整体架构:系统如何部署?
- 工作流是如何设计的?包含哪些阶段和产物?如何判断当前执行到哪个阶段?
- 如何强制 Agent 遵守 Skill 中的规范?校验脚本由谁触发、在什么时机执行?
- 岗位主要使用 Go,你主要使用 Java,能否适应语言转换?
- 你认为自己的主要优势是什么?
- 实习是否有转正机会?最终没有留下的原因是什么?
- 你如何理解云计算?云计算岗位与普通业务后端开发有什么区别?
- 你更倾向业务开发还是底层技术?为什么?
- 你了解 Kubernetes 吗?有哪些 Docker 或容器部署经验?
- 你认为 AI 会如何改变未来的软件开发模式?能否描述一个更长远的场景?
- 你的本科是在哪里读的?家是哪里的?
《参考解析》
怎么验证 AI 生成的代码
分三层:第一层是能编译、能跑通,靠构建和单测兜底;第二层是行为符合需求,把需求拆成可验收的用例,覆盖正常路径、边界和异常;第三层是一致性和可维护性,检查是否复用了既有抽象、是否引入重复逻辑、错误处理和日志是否符合项目约定。关键需求不能只看「跑起来了」,要有可复现的验收标准和回归用例。
AI 编程工具之后最重要的能力
不是记住 API,而是把问题定义清楚、把任务拆成可验证的小步、能判断生成结果对不对。具体包括:读代码和调试的能力、设计验收标准的能力、对系统边界和风险的判断力,以及把领域知识写成清晰上下文的能力。工具越强,人的价值越集中在选题、约束和验收。
Agent 工作流怎么设计
先定义阶段和每阶段的输入输出,例如需求澄清 → 方案设计 → 编码 → 自测 → 评审 → 交付;每个阶段有明确的产物和完成条件。状态机或任务表记录当前阶段、已产生的产物和失败原因,下一阶段只读上一阶段的产物。失败时按阶段重试,超过阈值转人工,避免整个流程从头再来。
怎么强制 Agent 遵守 Skill 规范
把规范做成可执行的检查,而不是只写在提示词里:提交前跑 lint、类型检查、单测和自定义规则脚本;CI 作为最终门禁,未通过不允许合并。校验脚本由 CI 在每次 push / PR 时触发,本地可以用 pre-commit 提前发现问题。提示词负责让 Agent 知道规范,脚本负责让违规无法落地。
云计算和普通业务后端的区别
云计算的关注点更靠下:资源抽象、调度、多租户隔离、弹性伸缩、可观测性和 SLA,面对的是「怎么让很多业务稳定地共用一套基础设施」。业务后端更关注领域模型、接口和业务指标。两者都要写服务,但云侧更强调控制面、故障域和成本。
Kubernetes 与容器部署
K8s 的核心对象是 Pod、Deployment、Service、Ingress、ConfigMap / Secret;Deployment 管副本和滚动更新,Service 提供稳定访问入口,探针负责健康检查,HPA 做水平扩缩容。实际落地要关注资源 request / limit、调度约束、滚动发布策略和日志 / 指标采集。没有实操时不要编,讲清楚自己用过的那部分即可。
语言转换
不要只说「可以学」。用已有事实证明迁移能力:比如从 Java 转 Go 时,说明自己理解两者的差异(GC、并发模型、错误处理、接口设计),并给出一个用新语言完成的小项目或迁移案例。面试官关心的是学习速度和工程习惯,不是语言标签。