ID:309473

如果可以作弊😃

高级JAVA工程师

  • 公司信息:
  • 中电金信上海分公司
  • 工作经验:
  • 5年
  • 兼职日薪:
  • 500元/8小时
  • 兼职时间:
  • 下班后
  • 周六
  • 周日
  • 可工作日远程
  • 所在区域:
  • 上海
  • 浦东

技术能力

1. 熟练掌握Java语法、面向对象编程(OOP)原则(如封装、继承、多态)、异常处理、集合框架等;
2.熟悉Spring、SpringBoot、SpringCloud、SpringCloudAlibaba等主流框架,包括MVC模式、ORM框架(MyBatis)、消息队列;
3. 熟练使用关系型数据库MySQL和非关系型数据库Redis; 掌握SQL语言,能够进行数据库设计、查询优化等;
4.熟练使用版本控制系统(如Git、SVN),理解分支管理、合并冲突等概念;熟悉敏捷开发流程,具备良好的团队协作和沟通能力;
5.了解HTML、CSS、JavaScript等前端技术,能够使用前端框架(如React、Vue)进行前端开发

项目经验

中国银联-反欺诈评分决策系统项目
软件环境:Java、Spring、SpringBoot、SpringCloud、SpringCloudAlibaba、Mybatis、MySQL、Redis、Kafka
系统要求:系统应至少支持处理每日300万笔的查询请求、系统峰值应至少支持处理500TPS的查询请求。
项目描述:本系统定期接受由银联数据厨房发送的批量结构化数据,即风险标签,该过程为批量过程。系统内部对该数据进行必要的简单处理,并根据银联提供的模型文件对该数据进行逐行的批量模型部署运算,形成风险评分。在实时调用环节,本系统可实时响应银联开放平台的查询报文,根据业务参数配置实时将查询到的结果以“标签+评分”的形式实时反馈给银联开放平台,并实现相关查询信息的内部入库等一系列动作。主要功能如下:
1.变量中心:
a)变量配置:通过变量进行配置数据存储方式,配置衍生变量加工逻辑对数据进行加工处理,提供跑批任务中对文件中数据根据变量配置进行解析、加工,根据各个变量存储方式进行存储,机构进行配置便签查询数据。根据配置变量的数据分布,在统计时显示不同的统计维度。
技术实现:使用Spring Boot框架结合MyBatis进行数据库操作,存储变量配置信息,前端使用react+ant design pro组件+umijs框架进行页面展示和交互。
b)函数管理:函数管理提供变量加工逻辑的函数,用户可以在本模块编写代码并封装成自定义函数,在创建和修改变量时使用。在跑批任务中配置的衍生变量会根据配置的函数进行衍生加工,获得加工后的数据,进行存储。
技术实现:MyBatis进行数据库操作,存储自定义函数信息,使用函数时使用javax.tools的JavaCompiler 接口和相关类,在运行时从数据库中查询到相关函数动态编译函数并执行。
2.模型管理:
对模型文件进行维护,可上传pmml或pkl类型的模型文件,配置模型编号,对上传的模型进行测试验证,验证成功后进行上线,之后在反欺诈数据跑批中就可根据调用该模型进行模型计算
技术实现:MyBatis实现模型文件的增删改查,测试验证上传测试数据,使用JPMML对模型解析并计算出结果
3.同步管理:
a)批次管理:发起跑批数据任务,根据产品服务,读取数据厨房对应目录下的文件,选择需要跑批的文件,将银联数据厨房文件同步到共同运营区,根据变量配置进行解析加工落库
技术实现:从数据仓库获取大量(8亿多)基础数据文件,将文件分割成多个小文件,并且使用shardingsphere进行分库分表,使用mysql的load data 命令将数据以文件的形式落库,并且将基础数据发送到kafka中,以供路由服务消费基础数据并调用模型服务的模型解析并计算功能,得出预测评分数据并且根据每个变量的储存要求(数据库/redis);存入数据库则是将变量存入数据库后预测评分数据继续发送到kafka中,以供消费服务消费,消费服务从kafka中监听数据将数据load data落库;存入redis则不需要发送kafka,直接存入。
难点1: 8亿多数据发送到kafka中偶现数据丢失情况:
解决方案:1.扩容kafka分区为36个,增加并发量
2.修改kafka发送消息成功ack=all(所有从节点确认收到消息)
3.kafka消费端消费消息改为手动提交偏移量
4.启动定时任务,每半小时校验消费情况,允许数据丢失率为0.01%
难点2: 8亿多数据存入redis速度过慢,数据存入失败
解决方案:1.使用redis的pipeline管道代替普通redis存入方法
2.加重试机制,重试6次后仍失败,将数据打印到日志里人工处理
难点3:路由服务监听kafka数据时数据量过大,出现OOM问题
解决方案:1.修改JVM的内存值为5G -XX:MetaspaceSize=5G -XX:MaxMetaspaceSize=5G
2.修改kafka消费端拉取数据配置改成每次拉取5000数据量max.poll.records=10000改为max.poll.records=5000
b)定时任务:设置资金流程和反欺诈数据跑批任务定时执行,可控制开启和关闭自动跑批任务,根据配置定时执行跑批任务
c)数据关联:反欺诈场景支持基于主键ID的横向拓展数据,即选择对应目录下的文件,选择的同步的数据与当前库中的数据进行left outer join操作,关联之后存入当月数据库中:若本次数据中为身份证号为主键,就与当前月系统库中的身份证号为主键的数据进行全表关联,若本次数据中为手机号为主键,就与当前月系统库中的手机号为主键的数据进行全表关联;
4.回溯管理:实现特

案例展示

  • 银联风控·经纶木-资金流向监控服务

    银联风控·经纶木-资金流向监控服务

    服务对象 发卡机构 产品详情 银联风控·经纶木-资金流向监控服务,针对银行难以监控贷后资金流入房地产等限制领域的痛点,运用复杂网络分析、深度匹配等技术,在银联网络中挖掘海量的涉房类、涉投类等交易,并通过API接口提示给机构,帮助银行落实监管要求。本服务主要包括借记卡资金

  • 有来商城

    有来商城

    youlai-mall是集成当前最新主流技术一套开源的商城系统。整个系统采用微服务架构,前后端分离交互模式。业务模块包括了商品管理、订单管理、营销管理、会员管理等。

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

信用行为

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

发布任务

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

微信接收人才推送

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

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