满帮集团 大模型应用开发 一面

1. xgboost 为什么叫梯度提升树

因为它本质上就是:

  • :基学习器是 CART 回归树
  • 提升:一棵一棵往上加
  • 梯度:每一轮拟合的是损失函数对当前预测的负梯度

普通提升树可以理解成拟合残差,XGBoost 是把“残差”推广成了更一般的梯度下降框架,而且用了二阶导信息,所以比传统 GBDT 更强。

2. 知道什么概率模型?朴素贝叶斯,说一下贝叶斯的思想

概率模型就是用概率分布描述数据和变量关系的模型,比如:

  • 朴素贝叶斯
  • HMM
  • CRF
  • GMM
  • 贝叶斯网络

贝叶斯思想就一句话:先验 + 数据 = 后验

公式:

[P(A|B)=\frac{P(B|A)P(A)}{P(B)}]

朴素贝叶斯做分类时,假设特征在给定类别下条件独立,所以:

[P(y|x_1,...,x_n)\propto P(y)\prod_i P(x_i|y)]

最后选后验概率最大的类别。

它在文本分类里很常见,因为简单、快、对稀疏特征友好。

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB

texts = ["物流很快 服务很好", "配送太慢了", "客服不错", "延误严重"]
labels = [1, 0, 1, 0]

X = CountVectorizer().fit_transform(texts)
model = MultinomialNB().fit(X, labels)

3. Qwen2 跟 Qwen3 模型架构有什么区别

别硬背参数表,直接说结论:

Qwen2 和 Qwen3 都还是 decoder-only Transformer 主线。区别更多不在“底层换架构”,而在整体能力升级:

  • Qwen3 更强调推理能力
  • 后训练和对齐更强
  • 长上下文、工具调用、Agent 支持更好
  • 训练数据和 recipe 更成熟
  • 整体效果更像面向复杂任务的升级版

稳一点的答法就是:Qwen3 不是推翻 Qwen2,而是在同一主干上把推理、对齐、上下文和工具使用能力继续往上拉。

4. deepseek 有什么创新点?MLA、GRPO、MOE 架构改进

DeepSeek 常被提的就是这三个。

MLA:核心是压 KV Cache,减少长上下文推理时的显存和带宽压力。不是简单共享 K/V,而是把 K/V 做成更紧凑的 latent 表示。

GRPO:是更轻量的偏好优化路线。不用单独训一个奖励模型,而是对同一个 prompt 的一组回答做相对比较,直接产生优化信号。

MoE 改进:重点不只是“专家更多”,而是把路由、负载均衡、训练稳定性和推理效率做得更能落地。MoE 难点一直不是结构图好看,而是别让少数专家过热、别训练崩。

一句话概括:DeepSeek 一边降推理成本,一边简化对齐链路,再把 MoE 真正做成可训练、可部署。

5. 模型对齐技术:PPO、DPO,DPO 没有奖励模型,他是怎么进行奖励的

PPO 这条线是:

  • SFT
  • 奖励模型 RM
  • PPO 更新策略模型

DPO 没有单独的奖励模型,但不是没有奖励信号。它直接用偏好数据训练,也就是:

  • 同一个 prompt
  • 一个 chosen
  • 一个 rejected

目标就是让模型对 chosen 的概率更高,对 rejected 的概率更低。所以 DPO 的“奖励”来自 偏好对的相对约束,不是来自一个单独打分网络。

可以直接理解成:

  • PPO:先训练裁判,再按裁判打分训练选手
  • DPO:不单独训练裁判,直接拿胜负关系训练选手

6. RAG,你们的二级缓存怎么实现的?过期策略是什么?Redis 数据结构介绍一下

二级缓存一般就是:

  • 一级:本地内存缓存,挡热点请求
  • 二级:Redis,挡重复检索和重复生成

缓存内容一般会放:

  • query 改写结果
  • embedding
  • 检索 topk
  • rerank 结果
  • 最终答案

过期策略别只会说 TTL。更实用的是:

  • 稳定数据长 TTL,比如 embedding、文档解析结果
  • 检索和答案短 TTL
  • 最好加 知识库版本号
  • 实际上常用的是 TTL + version 双保险

Redis 常见结构:

  • String:最常用,存 JSON、文本
  • Hash:存对象字段
  • List:队列
  • Set:去重
  • ZSet:带分值排序

RAG 里最常用的是 String、Hash、ZSet。

import json, redis
r = redis.Redis(host="localhost", port=6379, decode_responses=True)

key = "rag:answer:v3:满帮集团是做什么的"
value = {"answer": "满帮集团主要提供数字货运相关服务。"}
r.setex(key, 1800, json.dumps(value, ensure_ascii=False))

7. Agent:多 Agent 调用逻辑怎么实现的

核心不是“调几个模型”,核心是 路由 + 状态 + 汇总

常见做法是主控 Agent 先拆任务,再分发给不同角色:

  • Planner 负责拆解
  • Retriever 负责查资料
  • Tool Agent 负责调工具
  • Writer 或主控负责汇总

关键点有两个:

  • 所有 Agent 共享状态,不能各说各话
  • 要有终止条件、失败重试和最大步数控制

本质上就是一个 orchestrator 驱动多个角色跑 workflow。

class State:
    de

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

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

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

全部评论

相关推荐

03-17 23:54
黑龙江大学 Java
来个白菜也好啊qaq:可以的,大厂有的缺打手
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

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