熟练掌握JavaSE和JavaEE相关知识,具备良好的面向对象的编程思想,熟练掌握23种设计模式
熟悉一些JUC并发的操作
熟悉使用Spring、SpringMVC、SpringBoot、Springcloud、Mybatis等框架
熟悉Mysql、redis等sql和nosql数据库的基本使用
熟练使用maven、git等版本控制工具
掌握JVM的一些基本的知识
掌握一些Linux系统常用的指令,并且掌握docker的基本操作
熟练使用IDEA、Eclipse等工具进行开发
项目一: 数字员工平台
项目描述:本项目是移动的一个辅助执行业务的平台,可以对人工操作的业务的步骤和流程进行简化
使用技术: springboot,Nacos,Mysql,Mybatisplus,springSecurity,Gateway,Feign
项目详情: 1、在网关服务器中添加springsecurity对进来的请求进行认证和鉴权,如果通过了认证则用feign调用鉴权服务查询该请求是否可以放行
2、 文件上传使用的是minio把文件改名上传到服务器并且记录到数据库中,因为这个程序要和其他多个程序对接,文件上传到指定目录,这时候会开放一个接口让对接的程序通过这接口获取。
3、 数字员工流程配置是编辑一个流程任务,任务中可以包含子任务就相当于是配置一个工作流,这个处理需要递归一层一层的把子任务插入到表中,并且把父任务的id返回进行绑定,。
4、 数字员工流程执行则是拉取已经配置好的任务,然后把任务信息传递给另一个对接好的程序去进行执行,并且把执行的进度及执行中的各种数据返回进行记录
项目二: Coding-Helper
项目描述: 本项目是腾讯的一个辅助开发的工具,可以在开发工具上安装此插件来提高开发的效率
相关技术: 1、此插件分为两部分,一部分是用于在开发工具的页面端展示的,还有一部分是需要安装脚本来辅助完成一部分的操作,页面端的展示分了两个项目,一个是基于vscode的,还有一个是基于JetBrains的。
2、 脚本的更新是自动进行的,即在用户使用插件的任意一个功能时,就触发脚本的版本检测,只要远程的版本大于本地的版本的时候就开始自动从远程把更新的文件拉下来执行,由于新老版本的idea官方的插件更新的方法入参有区别,所以需要在调用该方法之前先判断方法的入参然后在进行调用,如果入参类型超出了已知给定的参数类型则跳出一个弹框,告诉用户该插件可以升级了,并给出插件更行的网页,然后按照步骤更新,这里是直接交给开发工具进行升级。
项目三: 天工-研发协同平台
项目描述:本项目是大疆创新的一个内部系统,这个系统是基于两个内部的研发系统enovia和windChill进行开发的,由于另外两个系统比较老旧,不方便维护,且使用的技术也比较老,接口以及流程的耗时比较久,所以就开发了一个新的生命周期管理系统
负责模块:草稿箱模块、、用户权限申请模块、试产问题模块、可靠性问题模块
相关技术: 1、本项目是基于SpringBoot构建的,和数据库交互的框架使用的是Mybatis,还有一个可以生成实体类、条件构造器、和xml以及mapper的插件,是大疆内部的一个插件,极大的提高了开发效率
2、 使用的Redis来做缓存,本项目非常大一部分的数据都是放在Redis中的,比如前端页面、还有用户的流程信息,而这个系统基本上就是对各种流程进行管理。项目还接入了k8s,发版的时候只需要把代码推到远程仓库,代码检视和编译通过后就去把版本替换,就完成了一次发版
3、在同一个部门下的项目是通过Feign进行交互的,比如本项目调用enovia或windchill就是可以使用Feign调用,但反过来就不行了,因为上述的两个项目比较老,无法接入Feign,所以反过来调用只能是天工的接口去CloudBus上注册一个接口,然后供其他系统调用
项目三: ENOVIA(生命周期管理系统)
项目描述: 本项目是大疆创新的一个内部系统,此系统是大疆创新的最原始的两个生命周期管理系统之一,使用的技术比较老旧,但现阶段又需要大量的使用,所以就在不断的迭代更新,对其性能进行优化以及添加功能。
负责模块:研发打样模块、物料升版模块、物料变更模块、用户初始化模块
相关技术: 1、本项目比较老,使用的是Spring+SpringMvc+Mybatis构建的项目,前端的页面使用的是JSP
2、 服务之间的调用是通过大疆的CloudBus进行的就在上面注册一个接口,然后调用方申请使用,审批通过后就可以使用接口了,数据库是mysql、oracle、sqlserver三种数据库混用的
3、 使用了Redis做缓存,同时这个项目大部分的数据的操作不是通过sql语句进行的而是这个项目自定义了一套规则叫mql,这个其实和sql有挺大的相似之处,虽然语法结构完全不一样,连关键字也基本上不同,但看语句的结构还是大概能看出来是做什么的
分为聊天和朋友圈模块,实现了在线聊天,离线缓存,消息提示等功能 这个是我大学的时候写的东西 后台用的springboot+mybatisplus+websocket 前端用的vue
功能基本上都有:搜索,单点登录,购物车,地址管理,后台的商户管理 前端没写什么东西 当时写的东西,然后重装过电脑,数据全没了,很多配置不知道是什么了