个人介绍
我是程序员客栈的【昵称】,一名【二级方向】; 我毕业于【大学名称】,担任过【公司1】的【职位】,担任过【公司2】的【职位】; 负责过【项目1名称】,【项目2名称】,【项目3名称】的开发; 熟练使用【技术栈1】,【技术栈2】,【技术栈3】,【技术栈4】,【技术栈5】; 如果我能帮上您的忙,请点击“立即预约”或“发布需求”!
工作经历
2023-02-01 -2024-02-01润建股份java工程师
外派到南方电网,担任后端开发,参与了系统架构设计讨论,与产品部门进行需求对接,编写需求解决方案、系统概要设计说明书、系统详细设计说明书,负责 数据库设计,负责功能模块开发和维护。
2022-12-01 -2023-01-31远光股份有限公司Java工程师
外派到南方电网,担任后端开发,参与了系统架构设计讨论,与产品部门进行需求对接,编写需求解决方案、系统概要设计说明书、系统详细设计说明书,负责 数据库设计,负责功能模块开发和维护。
2019-10-08 -2022-11-30上海汉得信息技术有限公司Java工程师
外派到南方电网,担任后端开发,参与了系统架构设计讨论,与产品部门进行需求对接,编写需求解决方案、系统概要设计说明书、系统详细设计说明书,负责 数据库设计,负责功能模块开发和维护。
教育经历
2015-03-01 - 2018-04-01天津大学网络工程本科
自考本科
2009-09-01 - 2012-06-01广州南洋理工职业学院数控专科
统招
技能
主要负责资产风险模块的开发与维护,资产风险分类和实时指标功能开发; 资产风险分类:使用了多线程处理分表信息和工作流,以及定时任务实现用户待办任务的推送。由于系统部署在多个服务器,我使用了redis的分布式锁处理该业务,避免多次执行的风险。 实时指标:由于指标的的详细信息储存在数仓,由于每个指标都需要调用多个不同的数仓接口获取最新数据。我使用了配置文件定义每个指标需要调用的接口和入参。为避免网关超时,我使用了多线程调用接口获取指标数据。并使用CountDownLatch进行数据汇总后的后续处理。
主要负责员工管理,合同管理的迭代开发; 员工管理:使用了分布式锁和多线程将待入职员工转为在职员工,入职员工根据不同的入职方案,或许会调用薪酬系统的社保服务,商业保险服务,公积金服务。以及发送合同给员工签署。签署完成后则入职成功。数据库分别有待入职员工,在职员工,和离职员工的表。 合同管理:优化发送合同时的短信通知,原系统职工发送签署短信给待入职员工时,需要企业方签署的短信也会发送相应的条数给职工。优化后,职工批量发送签署合同时只会接收一条短信,降低短信成本。
用户注册登录:注册登录模块为了信息安全使用了md5加密和salt防止用户帐号被恶意操作。当用户注册和登陆使用了验证码短信时,为了避免恶意刷短信验证码,我使用了ip+*号,设备码+*号的缓存key方案,超过一定次数时则将用户加入黑名单。 短信服务系统:我使用了微服务搭建,整合了阿里云短信服务和一个不太稳定的短信服务平台(具体名字忘了,其产品优势是价格便宜)。系统会优先使用不稳定的短信平台服务,当连续失败3次后,则会使用阿里的短信服务兜底。 司机抢单:系统初期开发使用了jvm锁防止系统高并发导致多个司机抢到订单,后来基于预防以后客户有服务多实例需求或者性能问题导致系统扑街,我主张改为使用mysql的唯一索引绑定订单编号。 行车轨迹:由于开发初期ios和Android的同事没有商量使用哪家导航,各玩各的分别使用了高德和百度地图。而我开始也没意识到不同地图工具使用的坐标系不一致(我也没问他们,直接按个人喜好用了高德地图),直到后来测试提出某些订单的行车轨迹有问题,再才去查找坐标系转换的解决方案,最后没得选用了百度地图实现,由于坐标批量转换有条数限制,最终使用了多线程提升系统性能。(行车轨迹是管理员后台查看订单轨迹的功能)