熟悉算法、操作系统、计算机网络、数据结构等;
熟悉Spring、SpringMVC、Mybatis等框架;
熟悉JVM虚拟机基本原理,类加载机制、垃圾回收机制;
熟悉MySQL索引、事务、锁、MVCC底层机制;
熟悉redis数据类型,持久化以及线程模型等相关知识;
熟悉Java并发编程,线程池等知识
熟悉web自动化,正则表达式
了解HTML、JavaScript、分布式系统设计与开发、负载均衡技术。
基于协作机器人的自动化系统
负责整个后台项目的开发,主要工作包括支付对接,局域网搭建。这个项目主要是开发一个能够自动接单并根据订单发送指令给协作机器人完成特定动作的系统。这个项目分后台模块和前台模块,前台模块主要是根据定义的一系列动作指令完成业务。我的工作是负责后台模块的开发。后台模块与第四方支付平台对接,获取支付信息,同时根据接收到的订单信息发送指令给前台模块。后台模块需要维护一个订单列表。客户下单后,第四方支付平台可能会在比较短的一段时间内重复推送相同的一个订单,为了解决订单重复的问题,使用了set数据结构。同时,为了保证订单处理顺序满足FIFO,具体使用的是LinkedHashSet。另外,后台所维护的set集合是处于并发环境下的,所以用Collections工具类中的newSetFromMap(new ConcurrentHashMap<>())方法封装成线程安全的集合。后台需要管理多个订单与前台的通信,这需要建立多个对应线程处理,为了高效利用系统资源,使用线程池来管理多个线程。