熟悉常用数据结构和算法,阅读过源码,有LeetCode做题习惯
熟悉JVM机制,理解垃圾收集过程、收集器、类加载机制、运行时数据区域、OOM排查命令
熟悉Spring框架,阅读过源码,理解IOC初始化加载、AOP中概念、实现、事务等原理
熟悉常用设计模式,阅读过框架和Java库中的运用,熟练运用于日常业务实现
熟悉并发相关语法,阅读过源码,理解线程、线程池、内存模型、关键字、锁等的结构和实现
熟悉MySQL,理解事务的特性、原理、锁、索引的类型、结构、策略等
熟悉Redis,理解其数据结构、特性、故障处理、命令机制、淘汰、过期、持久化、双写一致
熟悉分布式场景,理解和使用业务中出现的分库分表、分布式理论、事务、RPC调用等场景
熟悉RocketMQ,理解事务消息、顺序消息、重复消费、堆积、最终一致等场景的原理
项目名称:网络发现进度与设备操作
项目背景:agent端部署在客户内部网络中,对网络中的设备进行发现采集,并将采集数据上报至server端,采集信息经过处理,形成设备拓扑图,对设备状态进行展示和告警。用户操作设备发现,等待过程无法直观看到发现进度和成功失败情况,只能看到最终整体发现结果,也无法在设备告警时主动排查。功能的使用感和完善度需要增强。
涉及技术:线程、线程池、并发工具、设计模式、Spring
实现方式:在任务执行类中增加原子类变量,在发现任务创建之后,提交执行之前,执行之后,分别对设备任务数进行初始化和记数,自定义线程池的异常处理,获取设备的具体异常,标记失败,逐个上报,并将记数汇总,在整体发现结束后进行上报。新增远程操作任务类型,改写任务接口,使其对发现类任务、监控类任务、操作类任务及未来拓展通用,模板方法化任务处理的拉取、创建、提交执行、上报结果,模板化任务的任务内容,对于不同的客户端的具体实现,通用创建客户端连接、浏览日志列表、查看具体日志内容。实现用户对发现过程的进度感知和主动处理。
角色责任:功能涉及agent端部分的设计、实现和与server端的联合验证。
项目名称:网络发现进度与设备操作 项目背景:agent端部署在客户内部网络中,对网络中的设备进行发现采集,并将采集数据上报至server端,采集信息经过处理,形成设备拓扑图,对设备状态进行展示和告警。用户操作设备发现,等待过程无法直观看到发现进度和成功失败情况,只能看到最终整体
项目名称:网络发现进度与设备操作 项目背景:agent端部署在客户内部网络中,对网络中的设备进行发现采集,并将采集数据上报至server端,采集信息经过处理,形成设备拓扑图,对设备状态进行展示和告警。用户操作设备发现,等待过程无法直观看到发现进度和成功失败情况,只能看到最终整体