[ SEC 00 ] 核心优势
- 任务可靠性:用事务 Outbox、Redis Streams 与 SQL CAS 处理 UltiCode 的漏投、重复执行及重判竞争;真实 MySQL 与浏览器/Judge 业务验收接入 CI。
- 缓存与并发:在 ResiCache 实现同 Key 请求合并、分布式加载协调、版本校验和可回滚迁移,用真实 Redis/Cluster 与并发测试验证故障语义。
- 开源协作:codebase-memory-mcp 两项贡献已合并,涵盖客户端接入、Linux 安装兼容性、安装回归与用户内容保留。
[ SEC 01 ] 实习经历
博彦科技
- 资源接入与业务交付:参与阿里云专有云安骑士主机安全后端研发;对接平台侧、ECS、BMS、BMCP,独立实现集群侧 GPU 信息接入与聚合,支撑统计、条件筛选和关联查询。
- AI 资产识别:参与功能建设,独立搭建 OpenClaw/Ollama 测试容器;结合容器状态、GPU 关系和漏洞数据,实现资产状态判断、关联与风险展示。
- 查询优化与线上修复:分析 SQL 执行计划,调整索引、查询条件及覆盖字段,降低列表/统计查询耗时;使用 Arthas
watch/trace/stack定位调用链、耗时、异常及关键参数,独立完成修复与回归。 - 镜像信任链排障:定位 containerd 拉取 Harbor 私有镜像的 TLS 校验问题,排查 CA、
certs.d、hosts.toml、imagePullSecrets与节点缓存,形成诊断脚本和排查清单。
[ SEC 02 ] 项目经历
在线编程评测系统 UltiCode GitHub
技术栈: Java 17 / Spring Boot 4 / Spring Security / MyBatis-Plus / MySQL / Redis Streams / Dubbo / Flyway / Docker
个人开源在线编程评测平台,覆盖练习、竞赛、代码提交、沙箱评测与后台管理。Submission 服务持有提交数据,独立 Judge Worker 执行判题,重点处理任务投递故障、重复执行与重判结果竞争。
- 可靠投递与故障回收:提交与 Outbox 同事务写入;后台更新投递状态并退避重试,Lua 原子合并去重标记和 Redis Streams 入队,避免标记成功却未入队。用
XPENDING/XCLAIM回收超时未确认任务,按容量/次数限制重投,耗尽预算进入死信,避免无效任务反复占用资源。 - 重判结果竞争控制:以
generation+attemptId标识有效执行,配合租约与心跳续租;结果写回使用带双条件的 SQL CAS,拒绝过期执行结果覆盖新一轮判题。 - 不可信代码执行约束:通过 Docker 配置禁网、非 root、只读根文件系统、Capabilities 裁剪及 Seccomp,结合 CPU、内存、PID 与文件句柄限额,限制用户代码权限和资源占用。
- 刷新令牌防重放:Refresh Token 仅以 SHA-256 哈希入库;轮换时校验用途、归属与有效期,通过条件更新限制旧令牌仅成功消费一次,并在同一事务内签发新令牌,处理并发刷新竞争。
- 自动化验收与发布校验:将真实 MySQL 新装/升级迁移及浏览器、Judge 业务验收接入 CI,覆盖登录、AC/WA、重判和比赛排名;对九镜像发布集合校验签名、SBOM、SLSA 来源及标签摘要,拒绝不完整或冲突的制品。验收与生产部署分开。
ResiCache 缓存防护中间件 GitHub
技术栈(当前开发线): Java 21 / Spring Boot 4 / Spring Cache / Redis / Redisson / Micrometer / Testcontainers
个人开源 Spring Cache 防护扩展,通过增强注解与责任链组合缓存防护策略,重点实现同 Key 请求合并、分布式加载协调、版本化提前过期与安全反序列化。
- 同 Key 并发与异步去重:
ConcurrentHashMap+CompletableFuture合并 JVM 请求,Leader 获取分布式锁后再次检查缓存并加载,Follower 共享结果;按 Key 管理 in-flight Future,有界队列与CallerRunsPolicy控制积压,处理完成/登记交错的清理竞态。 - 分层布隆过滤:本地命中跳过远端检查;本地未命中则查询 Redis 并按结果回填,避免误拒有效业务加载。
- 版本化提前过期:通过 Redis Lua 原子校验缓存值版本并缩短 TTL,避免旧异步任务修改新值有效期;缓存到期后由后续请求触发加载,处理提前过期与更新、删除交错的竞态。
- 反序列化防护:Jackson 流式校验类型白名单,再解析版本化封装;回归覆盖恶意类型和元数据往返,校验阶段不构建完整 JSON 树。
- 故障语义与验证:区分业务加载异常与缓存写回失败,加载成功后写回失败仍返回业务值;通过并发测试及真实 Redis 集成测试覆盖结果共享、异常传播、新值 TTL 保护与删除后不复活。
- 集群与迁移安全:在真实三主 Redis Cluster 验证缓存键和锁键槽位共置;实现序列化格式的影子读、双写、切换与回滚,保留 TTL,并以 CAS 拒绝覆盖并发新值,支持部分失败后续跑。
[ SEC 03 ] 专业技能
Java 后端与数据处理
- 熟悉 Java、Spring Boot、Spring MVC、Spring Security、MyBatis-Plus,具备接口设计、认证鉴权及异常处理实践。
- 熟悉 MySQL 索引设计、执行计划分析与慢 SQL 优化;具有 Redis 缓存防护、分布式锁及并发加载实践。
- 具有 Dubbo、Redis Streams、Outbox 项目实践,理解事务边界、重复消费、失败重试及最终一致性。
故障排查与工程验证
- 能够结合 Arthas、Linux 进程信息、容器日志与 SQL 执行计划定位问题,并完成修复及回归验证。
- 熟悉 Docker 镜像、网络、资源限制与基本隔离机制;具有 containerd、Harbor 及私有镜像 TLS 排障经验。
- 熟悉 Git、Maven、Docker Compose、Flyway、Micrometer;使用 Testcontainers 及并发测试验证故障与竞态场景。
[ SEC 04 ] 教育背景 & 荣誉
教育背景
洛阳师范学院
数据科学与大数据技术 · 本科
荣誉奖项
-
2025 蓝桥杯 Java 软件设计 B 组 · 国家级三等奖
-
2024 泰迪杯数据分析技能赛 · 国家级三等奖
-
2023 全国高校计算机能力挑战赛 · 国家级三等奖
[ SEC 05 ] 开源贡献与技术沉淀
开源贡献
codebase-memory-mcp:贡献 Oh My Pi 客户端接入,完善 MCP 注册、安装卸载与用户配置保护;修复 Linux 受信任系统路径兼容问题,并补充安装回归测试。
代表性技术知识页
- Java 线上性能排障:从症状到证据的最小决策树:串联进程、线程栈、GC 与 Arthas 观测,整理止损、存证、定位及恢复流程。
- UltiCode Outbox 与 Redis Streams:把判题投递做成可恢复状态:梳理事务 Outbox、原子投递、重试、死信与待确认消息回收。