ID:390249

September

Java 高级开发工程师

  • 公司信息:
  • 成都思照科技
  • 工作经验:
  • 6年
  • 兼职日薪:
  • 600元/8小时
  • 兼职时间:
  • 下班后
  • 周六
  • 周日
  • 可工作日远程
  • 所在区域:
  • 成都
  • 高新

技术能力

精通Spring,SpringBoot,SpringCloud等框架
熟练使用Mybatis,JPA,Spring Data JDBC等框架操作数据库
精通SpringCloud Alibaba生态体系
精通Mysql关系型数据库,对数据库的设计,以及SQL的优化有一定的了解
精通Redis缓存技术,擅长使用Redis实现分布式锁
熟悉搜索引擎Elastic search,Rabbit MQ等消息队列;
熟悉Linux系统命令,对Docker,Jenkins有一定的了解;
熟悉Shell,具备使用Shell编写脚本的能力;
熟练使用Git对项目版本进行管理,了解SVN;
熟悉JDK的底层,对JDK的源码有一定的了解熟悉Neo4j,具有一定编写CQL的能力;
熟悉Vue,Jquery等前端语言,可以完成基本的界面;
对Kubernates有一定的了解

项目经验

Dolphin Loan System
使用技术:SpringCloud、Redis、Mybatis、RabbitMQ、Websocket、Kubernates、Nacos、
Vuetify等
项目描述:
Panad Loan System是一个针对美国民众的小额借款、收款、催款平台,便于小额
信贷公司对金融信息的管控。系统主要分为LOS(借款)、PPS(收款)、LCS(催款)、报表系统四个模块。LOS主要是完成对customer的信息审核、计算贷款金额、制定还款计划、签署贷款合同等功能;PPS主要完成放款后的收款工作,以及重新指定还款计划;
LCS模块主要完成customer逾期后的催款功能,以及一些打折等优惠政策功能。整个
系统会详细记录每一笔loan的生命周期,针对不同情况的customer,会定期发送各种Marketing邮件。报表系统根据实时数据和日志等,提供一系列Report,便于算法部门进行分析和参数调控。比如统计固定时间段内,收放款的金额、个人信息验证率、计算出贷款金额的概率、签字率、违约率等等。
个人职责:
1.完成服务框架的搭建,选择Spring Cloud的版本,项目的依赖、服务与服务之间
的调用链,初始化common包的基础常量、返回结构响应体、自定义全局异常捕获、实现数据库的读写分离。
2.完成customer基本信息的采集,当customer信息发生变化,使用异步重新计算
最大贷款金额、还款分期,并通过websocket,将实时数据发送给前端页面。
3.采用Freemaker框架,完成邮件的组装、发送,以及保存云服务厂商返回的邮件
状态;
4.完成Gnerate功能,大批量的Agent需要同时抓取不同情况下的Loan。所以存在
同一笔1oan被多个人同时选中的情况(并发问题);解决方案:先一次性抓取N笔loan,再随机去一笔,其次使用redis的setIfAbsent来判断是否已被抓取。
5.由于同一条Loan只能被一个Agent操作(数据存在Lock表中),这里存在并发关
系(多个Agent同时去锁),为解决这个问题,提供了预锁和抢锁的功能。
6.
实现分布式链路追踪,监控每个功能的请求链路。
7.
使用MQ,实现日志收集系统,金融系统需要保证每一步操作都有日志记录。
8.
使用自定义注解和工厂模式,优化重新计算还款分期的功能,抽象出公共业务逻
辑。
9.使用RabbitMQ实现分布式事务,在ACH交易过程中,先查询分期信息,并将数据
传输给交易系统,接口请求成功后需要更改分期信息防止二次交易。为保证
数据的正确性和严密性。使用MQ实现交易失败后的数据回滚,保证数据的最终一直性。
10.使用Redission实现分布式锁和生成唯一自增ID,降低服务并发的压力。
11.使用Spring AOP监听自定义注解,根据用户的Token,完成对接口请求频率的控
制,防止前端接口请求过于频繁,减小服务器的压力。
12.完成数据迁移工作,在系统升级后,由于表结构的变化,需要将数据迁移到新的
数据库。首先需要考虑数据库每个表的数据量和重要程度,需要先迁移业务数据,保证业务系统持续提供服务其次迁移归档数据最后迁移日志数据;其次需要
考虑迁移程序线程的数量,每次迁移的条数,SQL的性能等等,不同的表,字段大小不一样,查询效率会不一样,需要考虑查询快慢和数据库的查询频率。
13.完成customer的合并功能,在贷款信息被修改时,需要考虑将两个customer标
识为同一个customer,会存在并发问题,以及两者信息差异的取舍问题。
14.协助同事,完成功能开发和Code Review,查漏补缺,保持代码逻辑的严谨、接口
的并发能力、数据安全等问题。
15.为解决MQ消息丢失的问题,使用谷歌的重试机制,在MQ投递失败后,将消息重
新投递,达到一定的失败次数后,通过钉钉通知开发人员处理。
16.参与前端界面样式布局设计,协调前后端功能对接,把控项目整体进度:制定需
求,功能开发,项目提测,项目发布,上线后的监控。
17.使用Typora,按照文档格式要求,完成功能文档的输出。

案例展示

  • 金融贷款管理平台

    金融贷款管理平台

    Panad Loan System是一个针对美国民众的小额借款、收款、催款平台,便于小额 信贷公司对金融信息的管控。系统主要分为LOS(借款)、PPS(收款)、LCS(催款)、报表系统四个模块。LOS主要是完成对customer的信息审核、计算贷款金额、制定还款计划、签署贷款合

  • 邮件发送系统

    邮件发送系统

    Pigeon系统是一个具有邮件模版管理,提供邮件发送功能,以及邮箱发送项目的系统。 Pigeon系统提供了Dashboard页面,可以实时查看每天每个组织发送不同邮件的数量,也可以统计邮件发送成功的数量,同时还提供了邮件取消订阅的功能。 Pigeon系统还提供了管理邮件模版的

查看案例列表(含更多 0 个案例)

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服