面经复盘

调LLM失败怎么做的重试和rollback

命中查询不能用布隆过滤器因为有哈希碰撞,用set保存也不行太大了(实习没注意看存储架构)

JAVA 锁,被问N次

Mysql 索引结构

Redis数据结构

IO多路复用,Redis一定是单线程嘛

同时购买同一个商品,库存扣减。用redis管理库存,会不会出现线程A读取库存是5,线程B读取库存也是5,但这个时候其实A已经购买一份了,库存应该是4了,结果会不会是A和B都购买了一份,但是库存还是4

我把判断库存和扣减库存写在一个Lua脚本中,因为Lua脚本在Redis中是原子执行的。不可能存在上述情况,线程A只有扣减成功,线程B才会执行读库存扣库存。

Rag优化:

    1. 混合检索(Hybrid Search)

    在实际项目中,我们通常不会只用单一检索方式。 然后加权

  1. 稀疏检索(Sparse Retrieval):比如 BM25、TF-IDF,基于关键词匹配,优点是可解释、快速,但对语义理解差。
  2. 密集检索(Dense Retrieval):比如使用向量模型(如BERT、E5、bge),基于语义相似度,能理解“同义表达”,但有时会引入“语义噪音”。

2. 两阶段检索(Recall + Rerank)

这是很多成熟方案(如Cohere RAG、LangChain RAG Fusion)的标配。

  • 阶段一:召回(Recall)用轻量模型(如向量检索)快速筛出top-N候选文档。重点是召回率要高,宁可多,不要漏。
  • 阶段二:重排(Rerank)用更强的模型(如Cross-Encoder、bge-reranker)对召回结果重新打分。重点是精确率要高,把噪音干掉。

query查询改写/扩展(Query Rewriting & Expansion)

除了分块,有两个高级优化方向:

  • 元数据索引给每个文档加上来源、时间、类别等标签,便于检索器过滤。例如:“只取最近30天的新闻”。
  • 图结构检索(GraphRAG)微软近年提出的新方向,把知识库构造成图(Graph),节点是实体、边是关系。 检索时可以沿着语义路径走,找到更有逻辑联系的内容。GraphRAG的优势在于,它能让“知识检索”从孤立片段变成“关系网络”,尤其适合复杂知识问答或企业知识库。

RAG的最大风险之一,是模型“编故事”——也就是幻觉(Hallucination)

优化手段包括:

  • 事实一致性校验(Fact Checking): 用embedding计算模型回答与检索片段的相似度,若偏差过大则判定为幻觉。
  • 多模型校验(Self-consistency): 让LLM自己检查回答是否符合引用材料。
  • 全部评论
    面试让自己讲一个东西 要选能编出来“自己遇到了啥问题 进行了啥action咋分析的最终咋解决的”,要能讲清楚背景需求业务上的意义。我问面试官应届实习生都是crud没啥技术上的难点他又说上述讲清楚就行。。
    点赞 回复 分享
    发布于 昨天 23:23 上海

    相关推荐

    评论
    点赞
    收藏
    分享

    创作者周榜

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