美团 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协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论

相关推荐

昨天 16:21
已编辑
门头沟学院 Java
基本都答上来了&nbsp;看到手撕出这个的时候就感觉不太妙&nbsp;&nbsp;确实面完秒挂(kpi?)1.&nbsp;自我介绍。2.&nbsp;平时通过哪些渠道了解&nbsp;AI&nbsp;方向的新技术、新产品和新动态?3.&nbsp;在学习或项目中用过哪些&nbsp;AI&nbsp;工具、产品或工程化框架?为什么这样选型?4.&nbsp;实习中接触的系统数据规模大概是多少?表数量、单表数据量级分别如何?5.&nbsp;MySQL&nbsp;慢查询一般怎么排查?会看哪些日志、用哪些分析手段?6.&nbsp;explain的常见关注指标有哪些?如何根据执行计划判断慢查询原因?7.&nbsp;遇到查询慢时,一般会从哪些方向做优化?8.&nbsp;为什么不建议直接&nbsp;`select&nbsp;*`?按需查询字段为什么可能提升性能?9.&nbsp;联合索引为什么会失效?什么是最左前缀匹配原则?10.&nbsp;联合索引在范围查询、缺失中间列等场景下会有什么影响?11.&nbsp;联表查询时索引是否还能生效?需要关注哪些问题?12.&nbsp;介绍一下你做过的&nbsp;AI&nbsp;Agent&nbsp;/&nbsp;智能问答类项目:整体目标、系统形态、核心流程分别是什么?13.&nbsp;为什么要引入&nbsp;RAG?RAG&nbsp;主要解决了大模型的哪些问题?14.&nbsp;SSE&nbsp;是什么?为什么需要用它来做流式输出?15.&nbsp;你的&nbsp;RAG&nbsp;流程是怎么实现的?从文档导入到最终回答,中间经历了哪些步骤?16.&nbsp;向量检索里只做&nbsp;TopK&nbsp;是否足够?还有哪些更精细的召回或重排方案?17.&nbsp;文档分段策略是怎么设计的?除了固定长度切分,还有哪些做法?18.&nbsp;为什么要在分段时设置重叠区域(overlap)?它主要解决什么问题?19.&nbsp;向量化存储用的是什么方案?为什么选择这种向量数据库&nbsp;/&nbsp;存储方式?20.&nbsp;项目中接入过哪些模型?模型接入时如何考虑能力、成本和向量化支持?21.&nbsp;进程间通信有哪些常见方式?22.&nbsp;什么是死锁?死锁产生的典型场景和必要条件是什么?23.&nbsp;网络分层模型有哪些?OSI&nbsp;七层和&nbsp;TCP/IP&nbsp;四层分别怎么划分?24.&nbsp;TCP&nbsp;和&nbsp;UDP&nbsp;属于哪一层?两者的主要区别是什么?25.&nbsp;TCP&nbsp;为什么说是可靠传输?可靠性主要靠哪些机制保证?26.&nbsp;三次握手的流程是什么?27.&nbsp;为什么断开连接通常需要四次挥手,而不是三次或五次?28.&nbsp;Redis&nbsp;中点赞&nbsp;/&nbsp;互动状态这类功能适合用什么数据结构实现?为什么?29.&nbsp;Redis&nbsp;如何做高可用?30.&nbsp;如果&nbsp;Redis&nbsp;挂掉,互动数据如何保证不丢?除了&nbsp;Redis&nbsp;本身,还可以怎么做持久化和兜底?31.&nbsp;算法题:二叉树的最大深度。32.&nbsp;解题思路?33.&nbsp;反问环节
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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