暖哇科技 大模型开发 一面

1、自我介绍

2、对大模型应用的理解

我理解的大模型应用,核心不是“模型能回答”,而是“模型能稳定解决业务问题”。单纯从能力上看,大模型擅长自然语言理解、内容生成、总结归纳、信息抽取、问答、多轮对话、代码辅助这些任务,但真正到了业务场景里,还要考虑知识时效性、幻觉控制、结果可解释性、调用成本和响应速度。

所以大模型应用一般不是一个裸模型直接上线,而是一个完整系统。常见会包括下面这些模块:

  • 用户输入理解
  • Prompt 构造
  • 外部知识检索
  • 工具调用
  • 模型生成
  • 输出校验
  • 日志监控和效果评测

如果是企业场景,大模型应用通常有几个典型方向:

  • 智能问答和知识库助手
  • 企业内部 Copilot
  • 智能客服
  • 文档总结和信息抽取
  • 数据分析辅助
  • Agent 和工作流自动化

我觉得大模型应用真正的难点,不在于“会不会接模型”,而在于怎么把模型和数据、检索、工具、业务流程结合起来,让它可用、可控、可迭代。

3、对大模型训练有什么了解

大模型训练通常可以分成几个阶段来看。

第一阶段是预训练。这个阶段会准备海量文本数据,比如网页、书籍、代码、问答、百科等,然后做清洗、去重、过滤,再基于 Transformer 架构训练模型,让它学习根据前文预测下一个 token。经过这一阶段之后,模型会获得语言理解、知识记忆和一定的推理表达能力。

第二阶段是监督微调,也就是 SFT。这个阶段会给模型提供大量指令-回答数据,让它学会更像助手一样按要求回复。比如问答、摘要、翻译、分类、信息抽取等任务,都会通过 SFT 让模型更听指令。

第三阶段是偏好对齐。因为 SFT 后的模型虽然能回答,但不一定更符合人类偏好,所以还会继续做对齐,比如 RLHF 或 DPO。这个阶段主要解决的是回答质量、安全性、风格一致性和拒答边界这些问题。

最后是推理部署优化。模型训练完以后,还要考虑线上服务问题,比如:

  • 量化
  • 推理加速
  • KV Cache
  • 并发调度
  • 长上下文支持
  • 显存优化

如果从工程角度理解,大模型训练不只是训练本身,还包括数据构建、训练策略、评测体系和部署优化,这几个部分是连在一起的。

4、有了解过知识问答对话系统吗

有了解,也接触过这类系统的典型实现方式。知识问答对话系统的核心目标,是让模型能够基于指定知识源回答问题,而不是只依赖参数记忆。相比开放域聊天,它更强调知识依据、答案准确性和业务可控性。

这类系统一般可以拆成几个模块。

首先是知识库构建。要把原始文档进行清洗、切分、结构化整理,然后建立索引。如果是非结构化文档,通常会做 chunk 切分和向量化;如果是结构化数据,也可能直接走数据库或图谱查询。

然后是查询理解。用户的问题进来之后,先做 query 清洗、实体识别、改写补全,有时候还要结合历史对话理解用户真实意图。

接着是召回和排序。通过向量检索、关键词检索或者混合检索找出相关知识,再通过 rerank 把最相关的内容排在前面。

最后是答案生成。把用户问题和检索结果组织成上下文交给模型,让模型基于证据作答,并通过 prompt 约束它“有依据再回答,没依据就说不知道”。

一个典型的知识问答对话系统,核心链路一般是:

  • 文档清洗
  • 文档切分
  • 向量化建库
  • query 理解
  • 检索召回
  • 重排
  • Prompt 拼接
  • 模型生成
  • 结果校验

如果是多轮问答,还要补上上下文管理和会话状态管理,不然模型容易在多轮里丢信息或者把旧信息误带进新问题。

5、你了解我们公司吗

6、Python 前后端开发工具用过吗

如果是后端开发,我比较常用的是:

  • FastAPI
  • Flask
  • Django(了解和基础使用)
  • requests
  • aiohttp
  • uvicorn / gunicorn

如果是前端相关,我不是纯前端方向,但在项目联调和简单页面展示里,也接触过一些常见方式,比如:

  • Jinja2 模板渲染
  • HTML / CSS / JavaScript 基础
  • Gradio
  • Streamlit

在大模型项目里,比较常见的情况是用 FastAPI 或 Flask 把模型能力封装成接口,对外提供问答、检索、摘要或者工具调用服务。像 FastAPI 用得比较多,因为它对异步支持比较好,接口定义也比较清晰,适合做推理服务和中间层服务。

比如一个简单的接口封装可以这样写:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class QueryRequest(BaseModel):
    query: str

@app.post("/chat")
def chat(req: QueryRequest):
    answer = f"你输入的问题是:{req.query}"
    return {"answer": answer}

如果是 Flask,也可以快速写一个轻量服务:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route("/chat", methods=["POST"])
def chat():
    data = request.get_json()
    query = data.get("query", "")
    return jsonify({"answer": f"你输入的问题是:{query}"})

if __name__ ==

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

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

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

全部评论

相关推荐

03-11 20:19
已编辑
门头沟学院 Java
太压力了,面了2个多小时,本菜比已经被拷打的瑟瑟发抖面完两个小时后通知过了1.算法题三道(1)leetcode124 二叉树中最大路径和hard题 因为不久前才刷过撕出来了,又来了一道(2)leetcode 300 最长递增子序列变种除了递增之外还加了一个权重因素,但是思路没变,dp就行(3)寻找词汇库里符合固定长度前缀的匹配单词应该是他们自己题库的题。给了一串单词列表,然后又给了一个单词,一个下标,根据这个下标的前缀去单词列表里面找到所有匹配的单词再返回思路是创建一个单词前缀树,然后根据树找,但是可能是构件树数有问题没撕出来2.全方位项目拷打基本没有问八股,全部都是项目企业场景题,哎哟我操,完全不会。我就纯八股战士,结果没想到一道八股都没问反正尽可能把企业场景往八股上引吧。。1. 微服务多点部署其中一个宕机了怎么办2. 要是mq占据大量CPU该怎么排查?MySQL占据大量CPU该怎么排查?3. 假如说让你实现视频点赞功能,你打算怎么设计?讲讲思路(我知道多级缓存,但是碰巧没背……寄)4. Redis延迟双删是什么,分布式锁,哨兵模式5. MySQL到es同步的延迟该怎么优化6. Rabbit mq的队列是怎么实现的?(这个完全没整明白,可能是队列的底层结构? 反正我硬扯的讲了一下rabbit mq的架构)还扯了很多,但是往后完全就慌了),记住的是这些
不知道怎么取名字_:2小时确实有压力,持续性的脑力劳动啊
查看9道真题和解析
点赞 评论 收藏
分享
03-10 11:23
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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