项目补充面试题:简历话术 + 扩展题。点击折叠区查看答案。
食安智能问答助手
1:基于 Neo4j 数据库存储餐饮主体及其多元关系,支撑复杂问题的多跳查询
查看答案
主体(12 类节点)
-
Restaurant餐饮商户 —— 核心主体(信用代码、地址、业态、风险等级、法人、状态) -
License资质证照(编号、类型、有效期、发证机关、状态) -
Person从业人员(姓名、职务、健康证编号) -
HealthCert健康证明(编号、有效期、发证机构、状态) -
Inspection监督检查(检查日期、类型、结果、检查员) -
Violation违法事项(编码、严重程度、描述、别名) -
Punishment行政处罚(决定书号、处罚类型、罚款金额、依据) -
Complaint投诉记录(编号、原因、状态、结果) -
LawArticle法规条款(法律名、条号、内容摘要) -
Discretion裁量基准(情形、等级、处罚区间、复核状态) -
District辖区网格(网格号、分局) -
Regulator监管人员(工号、分局、网格号)
关系(12 类)
Restaurant 直接关系(6 条):
-
HOLDS_LICENSE:Restaurant → License,持有许可证 -
EMPLOYS:Restaurant → Person,雇佣从业人员 -
LOCATED_IN:Restaurant → District,位于辖区 -
SUPERVISED_BY:Restaurant → Regulator,归属监管员 -
HAS_INSPECTION:Restaurant → Inspection,接受检查 -
HAS_COMPLAINT:Restaurant → Complaint,被投诉
延伸链关系(6 条):
-
HAS_HEALTH_CERT:Person → HealthCert,持有健康证 -
FINDS_VIOLATION:Inspection → Violation,检查发现违法 -
HAS_PUNISHMENT:Violation → Punishment,违法对应处罚 -
VIOLATES_LAW:Violation → LawArticle,违反法规条款 -
HAS_DISCRETION:LawArticle → Discretion,条款对应裁量基准 -
BELONGS_TO:Regulator → District,监管员属于辖区
2:设计统一调度节点,将语义改写、意图识别与实体抽取聚合为一次结构化(schema)LLM 调用
查看答案
3:针对实体构建两级检索策略,优先精确匹配,如果未命中再通过 BGE 转为向量进行语义检索
查看答案
4:基于 LLaMA-Factory 对 Qwen3-8B 做 LoRA 微调(rank=32, alpha=64),准确率提升 30%
查看答案
-
推荐:RTX 4090 24G (=A10);备选:RTX 3090 24G
-
16G 显卡可跑(需梯度检查点 + 降 batch_size)
-
框架:LLaMA-Factory
-
50,000 条数据:49,000 训练样本,RTX 4090,epoch=1.2,batch_size=8
-
LoRA 训练 8–11 小时
-
合成数据禁止高 epoch,防过拟合
-
数据构造:写脚本大模型生成,语法检测,大模型语义检测,部分人工检测,人工提供部分真实数据
Rank (r):低秩矩阵的维度,决定可训练参数量和信息容量。r 越大,模型表达能力越强但显存占用越高;通常取 8~64。
Alpha (α):缩放系数,控制 LoRA 权重对基座模型的影响强度。实际生效的缩放因子为 α / r,增大 α 等效于提高 LoRA 的学习率或贡献度。 惯例取值一般是r 或者r的两倍,学的太慢就调大一点,过拟合及调小一点
5:对生成的 Cypher 语句执行只读校验、参数化查询、辖区权限检查和 Neo4j EXPLAIN 验证
查看答案
6:使用 FastAPI + SSE 提供流式接口,95% 的请求首 token 响应时间 <3s
查看答案
餐饮监管智慧协同系统
1:构建多个只读视图作为 NL2SQL 唯一入口,禁止模型访问业务原表
查看答案
2:基于 SQLGlot AST 校验 SQL,注入商户权限并改写执行,确保只读查询,防止越权执行
查看答案
3:使用单次 LLM 调用联合完成上下文补全、意图识别与参数抽取
查看答案
企智通
1:基于 LangChain 统一加载文档,支持PDF、Word、Markdown等格式,集成RapidOCR图片识别;
查看答案
我基于 LangChain 的 DocumentLoader 做统一文档加载:PDF、Word、Markdown 分别用对应 Loader 解析为标准 Document 对象;针对扫描件和图片,集成 RapidOCR 做本地离线识别,识别文本回填后统一进入切分、向量化流程,供本项目的 Agent 检索问答和材料审核使用。
-
加载分开:PDF 用
PyPDFLoader、Word 用Docx2txtLoader、Markdown 用UnstructuredMarkdownLoader,各自解析成统一的Document对象(含 content + metadata) -
切分统一:所有 Document 进入同一条链路,用同一个 splitter(如
RecursiveCharacterTextSplitter,或按结构用MarkdownHeaderTextSplitter)切分,再统一向量化入库
即"多入口、一条管道"——Loader 层格式各异,切分和后续处理完全复用。
2:基于 BM25 对企业 FAQ 做快速检索,通过阈值校准大于 0.78 高置信度直答
查看答案
3:基于 BERT 模型微调意图分类器,实现通用知识与企业知识的精准路由
查看答案
扩展面试题
1:Embedding 的原理是什么?
查看答案
2:向量相似度如何计算?常用哪些距离度量?
查看答案
3:向量的维度是什么?维度高低的影响?
查看答案
4:HNSW/IVF 等向量索引算法的原理
查看答案
5:什么是 Agent?
查看答案
6:Agent 的核心构成要素有哪些?
查看答案
7:Agent 的安全与权限控制如何做?
查看答案
8:训练数据如何清洗、去重和质量校验?
查看答案
9:微调的完整流程(数据准备→训练→评估→部署)
查看答案
10:开发 Agent 时最大的难点是什么?
查看答案
11:Agent 的自主决策能力如何实现和约束?
查看答案
12:指令微调(SFT)的数据格式和对话模板
查看答案
本项目采用的 OpenAI messages 格式(jsonl)
数据文件(nl2cypher_train_50k.jsonl、intent_train_20k.jsonl)每行一条:
{
"messages": [
{
"role": "user",
"content": "【图谱Schema】\n节点:xxx\n需求:xxx,请输出可执行Cypher"
},
{
"role": "assistant",
"content": "MATCH ... RETURN ..."
}
]
}
alpaca/sharegpt 格式:instruction、input、output 三元组; 多轮用 messages 列表,套模型 chat template。 三种格式对比
| 格式 | 结构 | 适用场景 |
|---|---|---|
| Alpaca | {"instruction", "input", "output"} |
单轮、无角色概念的简单指令任务 |
| ShareGPT | {"conversations": [{"from", "value"}]} |
多轮对话,from 为 human/gpt |
| OpenAI messages | {"messages": [{"role", "content"}]} |
多轮 + system 角色,与 Chat API/Qwen 模板天然对齐 |
13:训练超参如何设置(学习率、epoch、batch size)?
查看答案
14:训练中的 Loss 如何解读?Loss 不降怎么办?
查看答案
15:微调效果如何评估?
查看答案
16:训练显存如何估算和优化?
查看答案
17:公司业务中你负责哪块数据和模型训练?
查看答案
18:评测/业务数据泄露如何避免?
查看答案
19:System Prompt 和 User Prompt 如何划分?
查看答案
20:提示词和工程代码如何配合(控制逻辑放哪边)?
查看答案
21:Zero-shot 和 Few-shot 的区别?
查看答案
22:提示词过长有什么影响?如何精简?
查看答案
23:设计提示词时如何限制业务边界、明确任务和预留扩展能力?
查看答案
24:说一下你工作中遇到了什么困难,怎么解决的?
查看答案
25:知识图谱和 RAG 如何融合?GraphRAG 原理
查看答案
26:语料数据如何清洗和去重?
查看答案
27:推理部署需要什么硬件?如何估算显存和选型?
查看答案
28:LangChain 是怎么封装 tools 的?
查看答案
Python
1:装饰器的原理和应用场景
查看答案
2:闭包是什么?
查看答案
3:生成器和迭代器的区别?yield 的作用
查看答案
__iter__ 和 __next__;生成器是写法更简洁的迭代器,yield 暂停执行、惰性求值省内存。4:GIL 是什么?对多线程的影响
查看答案
5:多线程、多进程、协程的区别和选择
查看答案
机器学习与深度学习
1:机器学习和深度学习的区别
查看答案
2:监督学习、无监督学习的区别和典型算法
查看答案
3:常见损失函数有哪些(交叉熵/MSE/BCE)?
查看答案
回归用 MSE;分类用交叉熵;二分类和多标签用 BCE;样本不均衡可加 focal loss。
回归用 MSE,算预测和真实的平方差;二分类用 BCE,是多分类交叉熵的特例;多分类用交叉熵,衡量预测概率与真实标签的差距。核心就是:回归看距离,分类看概率分布差异,选对损失函数模型才能学得好。