- 熟悉Go、Java语言开发,掌握gin、gorm、Spring、Spring Boot、Mybatis-Plus等主流开发框架
- 深入理解Mysql底层原理,涵盖索引实现、锁机制、事务隔离级别、MVCC、日志系统、SQL优化等
- 熟悉Redis核心原理,具备分布式锁实现经验,能系统化解决工程应用中的缓存设计和优化问题
- 掌握消息队列的工作原理和常见问题的解决方案,包括消息有序、积压、丢失或重复消费等问题
- 了解Elasticsearch及mongoDB的基本概念与适用场景,能根据业务特征选择合适的存储方案
- 了解分布式微服务架构中应对高可用与高并发问题的常见解决方案,有限流、熔断、负载均衡实践经验
- 了解DDD领域驱动设计,掌握常见的设计模式,可构建出易于迭代的代码
- 实现基于滑动窗口的限流组件,采用分级配额策略实现流量管控;
- 实现基于下游响应时间与超时比例的熔断机制,快速隔离故障保护网关资源;
- 将轮询负载均衡升级为带虚拟节点的一致性哈希算法,解决扩容引发的底层实例缓存失效问题;
- 自定义基于ZSET的缓存淘汰策略,保证VIP用户和图片推理大对象的缓存命中率;
- 使用分布式锁+自动续约机制推送控制台计量数据,解决用户重复计费问题。
项目名称:奖池瓜分赛
**项目简介:**奖池瓜分玩法分为三个核心流程:用户花金币报名,报名费用投入奖池 -> 分配用户任务,用户开始做任务 -> 完成任务的用户参与奖池瓜分。
项目亮点
- 最终一致性:状态机驱动加异步补偿,保障玩法记录、用户账户、平衡账户之间的最终一致性。
- 可重入幂等:报名和瓜分接口均为幂等且可重入设计,Redis Lua脚本保证瓜分场景 0 重复计数0 超发。
- 存储设计:灵活运用redis的缓存、计数、排序等功能;设计差异化的TTL策略匹配业务生命周期;区分冷热数据做差异化查询;空值缓存防穿透;弱依赖与异步化设计保证核心流程可用性;延迟双删保证数据一致性。
- 代码质量:多层次测试策略,包括高并发幂等性测试、数据层与缓存层组件集成测试、AB实验验证等。
- 监控对账:开发旁路链路,针对玩法记录的订单表和转账流水表进行双源对账,差异情况报警并自动补偿。
项目名称:分布式营销流程编排引擎
项目简介:通过抽象和拆解业务流程,构建有向无环图(DAG),实现B端流程编排可视化运营后台,和C端分布式流程编排引擎,支持运营自主上线各类营销活动.
项目亮点
- 效率提升:从定制化代码开发 -> 低代码或0代码+配置模式;引擎执行漏斗上报数据中心可视化。
- 一致性:应用本地重试+远程重试,使用分布式状态机组件保证编排引擎执行的最终一致性。
- 最优调度:
- 每个子节点起线程并发执行,sync.Map收集结果。
- 通过FuncCache缓存同节点同参数结果,避免session内相同节点的请求放大。
- 使用聚合工具实现相同接口不同参数的网络请求聚合。
- 支持断点续传,从失败节点开始执行远程最小重试,避免重试风暴问题。
用户增长与促活平台:通过积分返利、抽奖活动等营销手段提升用户活跃度与留存,驱动核心业务指标增长。
项目亮点:
- 领域驱动设计:采用DDD领域驱动设计,清晰界定活动、抽奖策略、积分等核心领域边界,高内聚低耦合提升系统可维护性和扩展性。
- 流程模板化:使用模版模式定义抽奖流程标准,解耦为前中后三期处理,灵活支持多样化抽奖场景,比如黑名单、不同积分不同奖品,按照次数解锁等。
- 高性能与一致性:Lua脚本+INCR 指令扣减库存防超卖,rocketMQ延迟消息异步落库降低写入压力,引入task表定时扫描校准数据保证最终一致性。
- 动态规则配置:通过责任链模式动态组装抽奖前校验规则(黑名单、权重校验),通过组合模式将抽奖中规则抽象为规则树(支持数据库配置,动态组装)。
- 稳定性:通过分库分表解决用户行为流水与订单数据的存储问题,完善降级和限流预案保证核心链路稳定性
- 自驱力强,重实践,遇到问题爱思考,在完成工作的基础上,愿意深入了解持续优化迭代
- 性格温和友好,表达能力强,逻辑清晰严谨,能跨部门高效沟通、推动项目准时上线
- 文档写作能力强,爱沉淀,能用图文流程等形式充分展示技术方案和原理