- 博客(242)
- 收藏
- 关注
原创 rocketmq工作原理
1,https://xiaolyuh.blog.youkuaiyun.com/article/details/1569822772,https://neols.blog.youkuaiyun.com/article/details/151831767
2026-06-29 20:47:55
327
原创 本地消息表
本地事务绑定业务+消息记录,异步MQ投递,解决消息丢失;分布式事务分两大类:强一致(XA2PC)、柔性最终一致(TCC/Saga/消息方案);互联网高并发业务极少用XA,优先消息方案、Seata AT;资金场景TCC;长流程Saga;大厂统一趋势:异步同步用RocketMQ事务消息替代原始本地消息表,减少DB轮询压力。
2026-06-21 17:34:25
248
原创 分布式事务: 本地消息表
是,作用是把需要异步执行的操作(如 AI 匹配、自动审核、报价匹配、机构同步等)以事件形式持久化到数据库,再通过 MQ 交给消费者异步处理。
2026-06-21 15:38:22
175
原创 代理模式 vs 适配器模式
转换接口,让两个接口不匹配的类正常协作场景:老接口/第三方接口、格式不一样,我要“转一下”才能用兼容、转换、适配、接口不一致。
2026-06-01 21:28:13
332
原创 索引的排序和分组
c 索引有序被 b 过滤打乱,用索引要大量回表+排序,成本高 → 放弃索引,全表扫描。GROUP BY 只需要 c 有序去重分组,可以边扫边过滤,避免 filesort → 选择 c 单列索引。
2026-05-31 22:41:33
111
原创 只要条件字段在联合索引里,MySQL8.0+ 默认都会触发 索引下推(ICP)
命中索引:a(1个)索引下推:生效(c 参与过滤)命中索引:a、b(2个)索引下推:生效命中索引:a、b(2个)索引下推:生效。
2026-05-31 22:11:18
204
原创 联合索引是按顺序排好序的
前面是 = → 后面有序 → 索引能用前面是 > → 后面乱序 → 索引失效范围字段本身可以使用索引,但范围字段之后的所有字段,索引全部中断;中断和后面是in无关,只要前面出现范围,后面字段都无法走索引检索(仅能靠索引下推做数据过滤)。
2026-05-31 21:54:54
215
原创 mysql联合索引经典实例
where a = 1 (使用联合索引、若a字段存在单独索引,此处仍优先使用联合索引)where a = 1 and b>2 and c=3 (使用c索引)where a > 1 and b=2 and c=3 (使用c索引)where a > 1 and b=2 and c>3 (不使用索引)where a=1 and b=2 and c=3 (使用联合索引)where b = 1 and a = 2 (使用联合索引)where c = 1 order by b (使用c索引)
2026-05-31 21:36:37
293
原创 jstack和jstat有什么区别?
jstack 看线程(栈)→ 查CPU高、死锁、代码卡在哪jstat 看内存(GC)→ 查内存泄漏、GC频繁、堆使用一个看线程,一个看垃圾回收,完全不是一个东西。jstack = 线程快照 → 排查 CPU 高、死锁、代码卡住jstat = GC 统计 → 排查内存占用、频繁 GC。
2026-05-31 20:30:57
228
原创 线上CPU飙高排查
修复死循环、简化密集计算、优化对象创建避免内存泄漏、合理配置线程池与锁、错峰执行定时任务。导出堆文件用MAT分析内存问题,同时结合监控、日志、定时任务综合排查,先止损再修复代码。第二类是GC异常:内存泄漏、频繁Full GC/YGC,GC线程占用大量CPU;看线程栈,业务线程卡在业务代码就是死循环/计算;第一类是业务代码问题:死循环、递归无退出、密集计算、频繁创建对象;查看进程内线程,找到CPU最高的线程ID,转为十六进制;第三类是并发问题:锁竞争、线程池不合理、线程空转;看到GC频繁,就是GC问题。
2026-05-31 20:27:33
271
原创 什么是Redis的 IO 多路复用
epoll 是 Linux 下高性能 IO 多路复用实现,依靠内核红黑树与就绪链表,让单线程高效监听海量网络连接,支撑高并发网络服务。
2026-05-30 23:45:06
213
原创 Redis 高频面试 10 题
标准答案核心命令处理为单线程模型,避免多线程竞争、上下文切换开销;基于内存操作,内存读写速度远高于磁盘;采用IO 多路复用(epoll),单线程高效监听多个网络连接;数据结构设计高效,底层编码做了大量优化。精简口述Redis 命令执行单线程,无线程竞争;纯内存操作 + IO多路复用,兼顾并发与性能。
2026-05-30 23:43:17
299
原创 聚簇索引 + 二级索引 + 回表 + 索引下推
回表 = 先查二级索引拿到主键,再拿主键去查聚簇索引,多跑一遍索引树。InnoDB 聚簇索引叶子节点存整行数据,二级索引只存主键。用二级索引查询时,需要通过主键再查聚簇索引拿完整数据,这个过程叫回表。回表会增加IO,影响性能。索引下推不能解决最左前缀的问题,但能在索引层面提前过滤无效数据,减少回表次数,优化查询效率。
2026-05-30 22:53:05
198
原创 索引下推(ICP):在已经用到联合索引的前提下,减少回表次数,提升查询效率
联合索引跳字段(跨字段)无法使用索引的缺点,是最左前缀原则导致的,索引下推无法解决这个问题,不能让跳过的字段重新用上索引。但索引下推可以在已使用索引前缀的基础上,把剩余条件下推到存储引擎过滤,减少大量无效回表,从而提升查询效率。
2026-05-30 22:47:13
215
原创 索引下推(ICP,Index Condition Pushdown)
ICP 作用:减少回表次数,降低磁盘 I/O,提升查询性能。核心原理:将索引字段的过滤条件下推到存储引擎,在索引遍历阶段过滤。生效场景:联合索引、条件字段在索引中、InnoDB/MyISAM。与覆盖索引区别:覆盖索引不回表,ICP 减少回表。
2026-05-29 18:27:49
179
原创 钉钉,微信单点登录怎么做?
微信、钉钉单点登录均基于OAuth2.0 授权协议前端检测登录态,跳转至对应平台授权页/拉起扫码;用户授权后,平台通过回调地址返回一次性票据code;后端接收code,结合应用密钥调用开放接口,换取用户唯一身份标识;通过唯一ID匹配系统账号,未绑定则引导关联,已绑定则生成业务会话凭证;前端持有凭证完成登录,后续接口统一鉴权。钉钉区分工作台免登和外部扫码登录两种模式,整体流程一致,仅前端唤起方式不同。
2026-05-29 16:47:36
345
原创 做一个知识库的Agent智能体需要哪些能力?
数据接入 → 预处理分片 → 向量化入库 → Agent意图决策 → 多路检索召回 → LLM知识整合 → 溯源输出 + 多轮记忆。
2026-05-19 12:11:16
245
原创 【无标题】
类加载器收到加载请求 → 先交给父加载器 → 父加载不了 → 自己再加载。保证核心类安全、全局唯一、防止篡改。“双亲”不是两个父类,是层级链上的父加载器(翻译问题)。
2026-05-18 23:25:01
387
原创 LangChain核心知识点
答RAG=检索增强生成流程:检索私有知识库+大模型生成大模型知识过时大模型幻觉问题、不知道私有业务数据不用微调大模型,低成本接入内部文档答通过PromptTemplate指定变量占位符,绑定输入参数,统一格式化输入内容,规范大模型回答格式(JSON、固定话术等)。
2026-05-17 23:48:08
475
原创 LangChain vs LangGraph 核心区别
LangChain:搭积木,快、简单、线性,适合原型与简单应用。LangGraph:画流程图,强、复杂、有状态,适合生产级 Agent、多轮决策与人机协作。
2026-05-15 16:01:51
112
原创 sql慢查询优化
当时线上订单列表用limit大偏移分页,越往后越慢,还触发了文件排序。我先建了user_id+create_time联合索引,然后把大偏移limit改成游标分页,倒序查询用id小于上一页最后一条id做翻页,避免数据库扫描大量无效数据,同时精简查询字段,优化后耗时从3秒多降到十几毫秒。对,你说得完全对,我刚才写反了,马上给你改成面试标准正确版,直接背就行。下一页带上一页最小时间+最小id,用 id < last_id。要不要我把正序、倒序游标分页标准写法各给你一条,面试随时能说?改成游标分页(正确逻辑)
2026-05-04 00:13:18
186
原创 mysql 慢查询怎么快速定位
慢查询日志是定位慢 SQL 的最准方式适合实时抓正在卡的 SQLEXPLAIN是判断是否走索引的神器90% 慢查询 =没索引 or 索引失效。
2026-05-04 00:04:34
406
原创 mysql 慢查询如何快速定位
面试官您好,MySQL 慢查询我一般按先执行,查看当前正在执行的SQL,通过,直接定位正在阻塞、耗时久的慢SQL,快速解决线上即时卡顿问题。提前开启MySQL慢查询日志,设置合理阈值(一般1秒),记录超时SQL和未走索引的语句;使用MySQL自带工具,按耗时、访问次数排序,批量筛选出高频慢SQL。拿到慢SQL后,用explain分析执行计划,重点检查:type是否全表扫描、key是否命中索引、扫描行数rows是否过多;大部分慢查询根源都是,针对性优化即可。
2026-04-27 12:18:51
122
原创 RAG 检索性能评估体系
推荐话术“我们的 RAG 检索在内部测试集上达到了 Top-5 召回率 82%、准确率 86% 的水平。这个指标是通过构建 500 个标注问答对,自动化评估得出的。虽然还有优化空间,但在当前基于轻量级嵌入模型的方案中已经表现不错。如果追求更高精度,可以引入重排序模型或混合检索策略,预计能将召回率提升到 90% 以上。关键点✅ 给出具体数字(82%、86%)✅ 说明测试方法(500 个标注问答对)✅ 承认不足(还有优化空间)✅ 展示优化思路(重排序、混合检索)
2026-04-27 02:01:04
451
原创 SSE、WebSocket、HTTP
技术,长连接,服务端可持续向客户端推送数据流,适合大模型流式输出、系统通知等单向实时场景,开发简单、兼容性好。SSE 基于HTTP、单向推送、轻量化;WebSocket 是独立协议、双向全双工、适合强实时互动。,握手后脱离HTTP,客户端与服务端可互相主动发消息,适合聊天、实时协同、高频双向交互场景。
2026-04-26 01:15:40
391
原创 LangChain(含 LangChain4j)和 Spring AI的区别
下面我把和的区别、各自底层核心逻辑,用最直白、可面试的方式讲清楚(偏 Java 视角)。
2026-04-26 00:19:30
809
原创 Agent 出现幻觉怎么解决?RAG 检索准确率低怎么优化?Agent 多轮对话状态怎么管理?
模型编造不存在的信息、乱答规则、瞎编订单号、胡说政策,看起来很合理但实际是错的。通过RAG 检索约束 + 严格 Prompt 限制 + 事实校验机制 + 低温度生成 + 知识库治理,从源头减少模型编造,确保回答真实可靠。从文档切分、嵌入模型、混合检索+重排序、查询改写、知识库治理五个维度系统性优化,大幅提升 RAG 检索精准度。通过conversationId 唯一标识 + Redis 存储对话历史 + 槽位与任务状态管理 + 动态上下文拼接,实现 Agent 多轮对话的状态持久化与流程可控。
2026-04-21 01:06:07
585
原创 Kafka 的 ISR 是什么
ISR = 跟 Leader 数据一致、同步正常的副本集合。只有 ISR 里的副本才能被选为 Leader,只有 ISR 确认写入才算安全写入。
2026-04-14 15:20:23
320
原创 spring ai如何实现Agent工作流编排,支持多轮对话,上下文记忆,工具自动调用?
/ 定义天气查询工具,实现FunctionCallback@Component@Override// 工具名,LLM调用时使用@Overridereturn "查询指定城市的实时天气,参数:city城市名";// 描述,LLM判断是否调用@Override@Override// 实际调用天气API/数据库// 工具入参DTO工作流编排:用Sequential/Parallel/Graph组织多个ReactAgent,按步骤/条件执行任务多轮对话。
2026-04-14 15:11:25
964
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅