- 博客(6)
- 收藏
- 关注
原创 面试八股题目
什么是 ThreadLocal全称(线程局部变量),功用非常简单,使用场合主要解决多线程中数据因并发产生不一致问题。ThreadLocal 为每一个线程都提供了变量的副本,使得每个线程在某时间访问到的并不是同一个对象。这样就隔离了多个线程对数据的数据共享,这样的结果是耗费了内存。但大大减少了线程同步所带来性能消耗,也减少了线程并发控制的复杂度。同一个线程内共享数据,线程之间数据隔离。注意:ThreadLocal 不能使用原子类型,只能使用 Object 类型。应用场景。
2026-09-04 20:28:17
239
原创 Ragent面试题
你提到“基于 LLM 实现 Query Rewrite 与多问题拆分,并结合术语映射缓存,把用户表达归一化为标准业务问题”。假设用户问:“我们系统里那个支持外部工具调用的知识库检索,超时以后为啥还能兜底回答?另外召回不准的时候你们怎么优化的?请你从角度讲清楚:这个问题进入系统后,Query Rewrite、术语映射、多问题拆分、意图识别、检索和兜底分别会怎么处理?这个问题进来以后,我不会直接拿原始 Query 去检索,而是先做一层标准化处理。比如用户说“外部工具调用”,系统会映射到我们内部的MCP;
2026-08-01 21:07:05
188
原创 Ragent 项目笔记(一)
Ragent 项目包含三项核心底层设计:一是搭建分层自定义异常体系,异常绑定错误码,由全局异常处理器统一处理并返回标准结果,规范前后端交互;二是利用 MyBatis-Plus 实现实体映射与公共字段自动填充,自动完成主键、时间、逻辑删除等字段维护;三是基于 TransmittableThreadLocal 搭建用户上下文容器,配合拦截器与线程池处理,同步同步及异步场景的登录信息传递。三者将底层基建逻辑统一收口,简化业务代码,聚焦业务核心,提升项目的可维护性与扩展性。
2026-06-27 16:17:01
317
原创 知光项目学习ing
saveCode 会用 scene + identifier 生成唯一 key,格式是 auth:code:{scene}:{identifier},然后用 Redis Hash 存储 code、maxAttempts、attempts,并设置验证码 TTL。JWT 这里不是“加密/解密”,而是“签名/验签”。register:校验是否同意协议,校验验证码,创建用户,若传入密码则进行密码策略校验和 BCrypt 哈希,然后签发 token pair,保存 refresh token 白名单,记录审计日志。
2026-05-03 17:01:34
536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅