美团 AI应用开发 一面

本地商业

1. 先做一下实习时候的业务介绍,有什么提升

2. AI Coding 功能从能演示到能交付,中间差的到底是什么

差的不是模型会不会写代码,而是系统有没有交付闭环。演示阶段只要能在几个样例上生成看起来对的 patch 就行,但生产可交付要求它能处理不完整需求、脏仓库、编译失败、依赖缺失、测试不稳定和回滚策略。真正落地时必须加任务约束、静态检查、sandbox、单测回归、补丁审计和失败分级,否则所谓“生成功能”只是把风险后移给人。AI Coding 一旦进入真实研发流,评价标准就从“会不会写”变成“出了错能不能收住”。

def deliverable_check(repo, patch):
    if not compile_ok(repo, patch):
        return "reject: compile_failed"
    if not run_unit_tests(repo, patch):
        return "reject: tests_failed"
    if high_risk_api_touched(patch):
        return "need_human_review"
    return "accept"

3. 你怎么理解大模型在工程侧最致命的短板,不要泛泛说幻觉

真正致命的短板不是它会答错,而是它经常在“证据不足、状态不完整、工具失败”时依然给出流畅答案。工程上最怕这种错,因为它不像报错那么显眼,反而容易被误用。另一个短板是上下文敏感且不稳定,同一问题换个顺序、换段历史、换次检索结果,行为可能就漂移。再往深一点,大模型天然缺少严格状态机意识,所以一旦任务需要前置条件、权限校验和不可逆动作控制,它必须被外部系统框住,而不能裸奔。

4. 公司内部上下文通常很杂,你会怎么做上下文治理

企业内部上下文不能混成一个大字符串喂给模型。更合理的做法是把它拆成会话态、知识态、实时态和工具态。会话态保留用户当前任务的显式目标,知识态来自文档和规程,实时态来自监控、订单、配置和日志,工具态则是当前可调用能力及权限。这样做的本质是防止模型把历史聊天、静态文档和实时事实混为一谈。上下文治理越往后做,问题越难查,因为最后你根本不知道模型是被哪一类信息带偏的。

5. 详细讲一下 Oncall 机器人,RAG 到底在用什么做向量化,不是所有东西都该直接 embedding 吧

当然不是。Oncall 场景里可向量化的对象通常不是“整段日志”,而是经过抽象后的故障单元,比如告警模板、Runbook 片段、错误码解释、依赖关系说明、历史处置摘要和服务画像。原始日志更适合先做结构提取,再把异常模式、调用链片段和聚合后的诊断线索送进检索层。否则直接 embedding 海量日志,既贵又脏,还会把时间性极强的噪声引进来。Oncall RAG 真正难的是把“语义知识”和“实时证据”拼成一个可执行排障上下文,而不是单纯做向量检索。

6. 发散提问很多的时候,系统怎么把问题收敛到可执行路径

发散提问本身不是坏事,坏的是一直发散却没有状态收敛。比较稳的做法是先把用户问题映射到任务槽位,比如服务名、环境、时间范围、异常现象、影响范围和最近变更。只要这些关键槽位没补齐,系统就不应该开始生成执行方案。很多系统看起来“会聊天”,但实际上一直在无效探索,因为每轮对话都没有让状态变得更确定。真正能落地的系统,必须把每轮交互转成结构化增量,而不是只累积自然语言。

{
  "task": "incident_triage",
  "slots": {
    "service": "payment-core",
    "env": "prod",
    "symptom": "p99_latency_spike",
    "time_range": "2026-04-15T00:10~00:25",
    "recent_change": null
  }
}

7. 模型经常会给出“听起来对,但根本不可执行”的回答,这类问题怎么治

这类问题往往不是知识缺失,而是执行语义没有被约束。解决思路通常有两层:第一层是把输出格式化,强制它写明前置条件、依赖对象、执行命令、风险级别和回退方式;第二层是把“建议”和“动作”彻底分开,建议可以自然语言生成,动作必须走工具校验。只要没有前置条件校验,模型就很容易给出跨环境、越权限、错版本的建议。听起来有道理,不等于线上可操作。

8. 如果让你从 0 学一个新技术或新框架,你的学习路径是什么

我不会先大面积刷教程,而是先确定这个技术在真实系统里承担什么角色,再围绕最小闭环去学。比如先跑一个最小可运行 demo,知道它的核心对象、生命周期、数据流和失败模式;然后看一遍官方文档和源码入口,搞清扩展点和默认行为;最后把它放进一个真实问题里,验证性能边界和异常路径。真正学会一个工具,不是“会用 API”,而是知道它在什么情况下会失效,以及失效后怎么补救。

9. 模糊度很高的一个任务,你会怎么拆,不让系统和人都陷入反复返工

高模糊任务最怕一开始就直接做方案。更好的做法是先定义问题边界、约束条件、验收口径和不能碰的红线,再拆出可以独立验证的小阶段。AI 系统尤其如此,因为如果目标定义本身是糊的,后面无论模型、RAG、Agent 怎么调,都会出现“看起来做了很多,但没人能判断是不是完成”的情况。真正有效的拆解一定会先产出结构化任务定义,而不是直接产出结果。

10. 超卖和假库存是两个问题,你会怎么一起治理

超卖通常是扣减时序和并发控制问题,假库存更偏数据同步和视图延迟问题。前者要解决的是高并发下库存原子扣减、订单回滚补偿和幂等重复扣减;后者要解决的是多仓、多渠道、多状态库存口径不一致。工程上不能只靠“加锁”处理,因为锁只能解决瞬时竞争,解决不了异步回流、消息延迟和状态对账。比较稳的方式是主库存收口、预占库存独立建模、异步回补加审计,再配合定时对账把脏数据捞出来。

-- 原子校验并扣减库存
local stock = tonumber(redis.call('GET', KEYS[1]) or '-1')
local need = tonumber(ARGV[1])
if stock < 0 then
    return -2
end
if st

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论
可以的,写的很好呢
点赞 回复 分享
发布于 今天 22:22 北京

相关推荐

今天 13:03
已编辑
长沙学院 Java
个人背景:学院二本计科专业&nbsp;大二开始实习个人经历:安克创新&nbsp;、理想汽车、字节跳动碎碎念:我做事只有三分钟热度。看到进了大厂的同学,我会羡慕,也会跟着努力上进;但遇到好看的小说,我又会放下手头的事沉迷其中,之前的坚持也就中断了。我有些自卑,总觉得自己学历和外貌都不够好。之前偶然在网上受到关注,我就喜欢上了上网,因为这里有很多人认可我。但我也很在意别人的评价,偶尔看到嘲讽的言论,会触发我的自卑情绪,让我感到愤怒。有时候我会强硬地回怼,有时候又会懦弱地选择无视。我也有虚荣心。不管是拿到安克、理想还是字节的机会,我在分享的时候都会带着这份心思。我会特意强调自己学历不好,是为了衬托出过程的艰难,以此显得自己更厉害。我知道,人往往会炫耀自己缺少的东西,来掩盖内心的空洞。我总想着走捷径,不太喜欢踏踏实实地做事。找实习的时候,我花了更多时间在研究面试技巧上,而不是提升专业能力。我会反复听面试录音分析技巧,看面试教程学习怎么和不同的面试官沟通,还会每天自言自语练习语言表达,同学都觉得我有点奇怪。我的实习生涯里,侥幸和运气占了很大一部分。我总在想,如果有一天我失去了这份幸运,这些特质可能会让我一蹶不振。ps:&nbsp;很多人会问我学习路线和经验&nbsp;但是就像我上面说的&nbsp;我的实习过程靠的很多是关键节点的运气&nbsp;技术上面我可能不如很多人&nbsp;&nbsp;所以请大家理性求助和理性参考我的回答&nbsp;附上我的投递记录
我的求职进度条
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务