个人信息

工作经验年限

3年

居住地

上海

年龄

26

性别

手机

17634935200

工作经历

上海宇信融泰软件有限公司【上海清算所驻场】

Java开发工程师

三月 2022 - 现在

  • 智能客服

通过ollama+SpringAi+mistral模型,实现本地智能客服,完成问答

1.使用tika进行私域文档切分,并使用RedisStack作为向量数据库进行数据向量存储

2.使用模型中的prompt与向量数据库一起进行增强问答

3.对于特定的问题,如需查询数据库等操作,则使用FunctionCall进行本地数据调用

4.敏感词过滤

5.模型权限控制

6.上下文记忆调优

  • 跟帐控制台

我在此项目中负责数据核验与同步

1.根据实际情况编写跟帐需求分析

2.实现手动核验与自动核验功能,完成Oracle与OceanBase数据库的数据核验

3.实现手动同步与自动同步功能,使用OceanBase提供的OMS迁移工具,及开放的接口,与应用整合,进行数据同步

4.实现跟帐所需参数节目配置功能开发

在这个项目中,让我对项目整体流程开发有更深层次的理解

  • 增值服务

我在此项目中负责IM实时通信及行情推送

1.负责IM系统调研,参考市面上开源系统进行系统设计

2.编写IM系统需求,并进行代码编写

3.负责行情调研,并与综合业务二代系统进行整合

4.使用webSocket与netty进行通信开发

  • 常备借贷便利项目(SLF)

我在此项目中负责选券底层参数维护,选券核心功能优化。

在这个项目中困难的事是选券速度以及选券的准确性。

1.由于业务逻辑比较复杂,我将每个选券参数作为可配置的界面展示,方便机构在选券时个性化配置自己的参数。

2.对于选券核心原代码并未考虑性能问题,导致选券缓慢,甚至出现OOM,我将原先的无限制自动选券改为时段选券,大大减少该功能被触发的不确定性,以便在重点时段进行重点监控。

3.重构选券流程,由原来的根据条件逐一进行过滤选券,改为在日终的时候对过滤的规则进行排序,并将排序持久化到数据库中,日初的时候将选券顺序拉取到内存中,进行使用,大大减少了与数据库的频繁操作,三方选券的业务时间由原来的13s降低至2s。

4.对原有业务进行模块化的重构,使用DDD架构思想,将原三方选券的整体流程进行分析,并与项目经理一同参与重构,提高代码质量,优化代码规范,使代码更具有可读性,可靠性。

在这个项目中让我对复杂业务逻辑有更多的思考,对代码层次结构和规范有新一步的认识。

  • 央行业务系统改造(MLF)

我在此项目中负责新增碳减排业务类型,并包括需求等一系列文档编写

在这个项目中困难的事是新增的业务类型不影响原其他交易类型,并且对部分逻辑进行优化。

1.需求并不复杂,但由于各个类型的处理并没有分开写,会有存在公用一段处理逻辑的关系,使用DSL对类型进行拆分,并对类型进行分别处理,将每个类型的处理类抽成Bean,在处理入口时通过各类型调取对应的DSL文件,去处理各个类型的交易

在这个项目中对代码全局把控,代码逻辑抽离有更多的实践

  • 通用质押式回购项目优化

我在此项目中负责日终任务出库指令查询优化,并包括需求等一系列文档编写

这个项目中比较困难的是查询时会频繁调取外部接口,导致Tps非常低,仅有50多Tps/s

1.首先经过初步代码排查发现,原代码中关于权限等校验是通过系统间接口进行获取,并校验,但之前项目中已经把参与者的权限表同步到了本地,所以第一步是将权限的查询由本地表查询替换rpc调用,速度有略微提升,因为这个接口的耗时主要是在网络传输,所以对提升并不大,第二步是将查询sql进行优化,因为原代码中是通过先查询主记录,再通过主记录查询子记录,同时子记录再循环调取风控的系统接口进行金额计算,使用连表查询,构建新的PO作为结果映射,经过优化后发现提升达到了300多Tps,这远远达不到我的预期,后与风控平台组进行讨论发现,部分计算是可以放到我们平台进行计算。第三步,将部分金额逻辑计算在本地进行计算,加快获取接口速度,并采取多线程进行调去风控计算,经过这次优化发现提升到了1700Tps,最后通过Arthas在本地进行代码trace,发现存在部分代码耗时不稳定,之后通过压测并未发现问题,最终项目上线。

在这此优化中,对于多方合作,并对代码的优化方向有了更深层次的理解

中科软科技股份有限公司

Java开发工程师

六月 2021 - 三月 2022

  • 信保通

项目介绍:信保通项目是为了客户在进行贷款时购买的产品,为了规避银行风险,根据原银保通进行二次开发,并有41家银行接入系统,项目是由SSM 框架搭建,其中

几个主要的业务模块是通过 dubbo 分布式调用。

项目预期:是解决银行无法与保险公司核心实时同步数据,提升交易响应时效和并发处理能力。

项目过程 :对原银保通的需求进行分析,并对新需求进行跟进,对原代码进行分析,并与甲方沟通协调资源。 我的职责 :技术选型、代码审查、框架搭建、领域拆分、服务拆分、文档编写、资源协调。

银行将报文通过socket传入至中台,中台启用多线程进行接收数据,通过jdom解析传入进来的报文,之后将解析后的数据进行基本校验通过Kafka 将数据异步落库,通过 xbt-messagestore 接收信息落库,通过交易码,来查 看是否是试算、承保、撤单、对账、通过 dubbo 进行各个服务之间的调用,处理完数据将通过 webservice 接口通知核心。

1.负责信保通撤单业务的开发,当中台接收到撤单的请求时,将数据先进行校验,之后将数据从备份表中撤到主表中。

2.负责信保通路由业务开发,采用多线程接收数据的方式,将多个线程放入线程池中,解决多个银行发送报文数据混乱的情况,提高了信保通的并发能力。

3.负责编写信保通对应模块的需求文档和技术文档。

4.使用redis作为缓存,进一步提高了系统的响应速度。

5.搭建Jenkins,将项目进行自动,编译,构建,打包,发布,并编写shell脚本进行多服务器管理。

6.负责陕西农信社的试算,承保,撤单,对账的完整业务。

7.负责信保通生产环境的运维,发现并解决bug。

技能

  • Java

    熟练掌握Java基础知识,Java并发,IO,多线程,集合,有jvm排查问题和多线程并发调优的项目经验

    熟练使用Linux命令,在Linux下有tomcat,redis集群,kafka集群,zookeeper集群的搭建和部署经验

    熟练掌握Mysql,Oracle数据库以及常见优化手段(比如索引,sql优化,读写分离,分库分表),Redis使用经验丰富,对国产数据库有所了解比如Oceanbase等等,做过Oracle迁移Oceanbase

    熟练掌握Spring,SpringCloudAlibaba,SpringBoot,Mybatis,Dubbo、xxl-job、JeecgBoot等主流开发框架

    熟练掌握Git、Maven、SVN、Gitlab、Arthas、VisualVm

    熟悉前后端分离模式

    自动化工具Jenkins、并可独立开发idea插件

    单元测试使用TestNg、并使用JavaCoCo进行代码覆盖率检查

    会根据官网提供的Demo,快速上手新技术,搭建过sentinel,nacos,rabbitmq等服务

    熟悉DDD架构、可根据要求使用python进行一些数据清洗、熟悉mac操作系统、项目部署

    熟练使用AI模型,使用huggingface等开源模型进行部署,使用DataLine模型进行数据分析处理

    熟练使用AI模型进行应用层面调用与开发

个人博客

个人github地址:https://github.com/yhjaicly

个人csdn地址:https://blog.csdn.net/weixin_43170526

个人b站地址:https://space.bilibili.com/167913763

元数据管理平台(自研中):https://github.com/yhjaicly/db-manage-backend/tree/dev_yinhaijun

教育经历

天津大学仁爱学院(本科)【2017.9 - 2021.6】-计算机科学与专业技术

专业成绩:专业前5%

奖项:有国家级项目奖项(蛙页平台),软件著作,一等奖学金(2018)

参加中软国际夏令营,东软睿道创业大赛等多个大学生比赛并取得奖项

个人总结

对AI大模型有强烈的求知欲,工作积极认真,细心负责,熟练运用办公自动化软件,善于在工作中提出问题、发现问题、解决问题,有较强的分析能力;对工作认真负责。热爱计算机科学和互联网技术,有良好的逻辑分析能力,能够对业务逻辑进行合理的抽象和拆分,对新技术有强烈的求知欲。良好的学习和沟通能力。