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

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

相关推荐

今天 11:07
已编辑
门头沟学院 C++
首先,这个肯定挂了但还是说一下吧手撕:一个巨简单的题,大一新生都会做,就是一个数组按照长度分割,而且对面面试官把格式都写好了,只需要像leetcode一样简单些几行即可。(这里楼主大脑宕机了,犯了一个低级错误类似没写分号那种,搞了半天最后是面试官提醒我才搞好)项目:我写的项目正好撞枪口了,对方就是做wx音视频通讯的,可以说被拷打地体无完肤(当然在最后的反问环节,我也用同样的问题拷打了面试官)八股:协程,加密,tcp,udp等等反正我很菜吧,面试官都会根据你的水平来出,我觉得参考价值不大就先不整理了反问:面试表现这块,面试官说我表现地很好没什么问题(这句话出来心凉透了,本来就知道凉了)说我是他面过表现最好的,我立马反问,你是只面试过我一个吗,面试官说面过很多😀😀😀我真的笑发财了,他还说我反应特别快,其实就是我答不上来就直接说不知道,摆烂的速度很快。有一说一这个面试官不像上一个那么温柔,这个不怎么笑还总是直击痛点,可能这就是wxg的实力吧。孩子没招了,网上大家的面筋都是被拷打,我连被拷打的资格都没有,唉,好羡慕那些大佬,学了很多我不会的东西,我感觉自己像个弱智一样,面试甚至比平时还傻一点&nbsp;。------------------------更新:秒挂😎
查看3道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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