• 有扎实的计算机原理、数据结构和算法基础;
• 熟悉JVM原理,并阅读过源码,熟悉unix网络编程;
• 熟悉IO、线程池、并发编程;
• 熟练使用SpringBoot、SpringCloud等常用java开发框架,熟悉AOP原理,熟
悉Netty,熟悉微服务架构,掌握常用的数据同步、服务架构方案;
• 精通MySQL、Redis,阅读过Redis源码;
• 熟悉Kafka、RocketMQ等消息中间件;
• 熟悉Hadoop/Yarn/Hive/Spark/HBase 高可用集群的搭建和使用,熟悉Kylin的
使用和优化;
• 熟悉掌握numpy、pandas、scikit-learn等常用数据分析处理框架;
• 熟悉掌握传统机器学习算法(线性回归、LR、梯度下降、SVM、K-means
等);
• Git、Docker、Vim
1.数据统计及报表导出 技术:Hadoop、Hive、Kylin、Mysql、SpringCloud等
基于hadoop、hive的大数据平台进行数据统计及数仓建设,通过Kylin进行 多维查询;通过多线程实现大数据量报表导出。
由于传统的mysql数据库难以支持大数据量、多维度的复杂实时统计查询, 我们基于业务场景划分了多个微服务处理对应的问题。主要包括一个统计微服 务、一个导出微服务、一个报表微服务。统计微服务中接入集团搜索、数仓能 力,用到了多线程和反射等技术,以及调用kylin的sql查询;导出微服务专⻔提 供报表导出,用到大量的多线程、队列以及生产消费模型等技术,能够实现百 万数据的快速导出,利用反射技术实现表单的动态导出。
2.政府后台 技术:SpringBoot、SpringCloud、Mysql、Redis、RoketMQ等
一个面向全国各个省、市、县、区机构(如各级卫健委)提供统计数据展 示的应用。该应用汇集微医集团公卫系统的全部数据,涉及到大量的复杂维度 数据统计。
前期主要做代码重构,利用常用设计模式实现代码复用,遵循面向接口编 程思想,让重构的代码简洁、易读、易维护;后期主要解决了利用注解实现根 据不同区域控制相关权限、展示对应维度数据;利用注解方式在序列化中进行 数据脱敏。
3.数据接入及数仓建设 技术:Hadoop、Hive、Mysql、Cannal、Otter等
对接第三方机构的数据,涉及到异构数据源(Oracle)的同步,通过 Cannal、Otter等中间件,将数据同步到公司内网数据库,并基于大数据平台进 行数据清洗。
良好的数据库表结构对软件开发至关重要。在数据对接过程中,我根据数 据库的范式条件,结合业务场景需要,重新梳理了表结构,制定了数据标准, 并编写了大量的文档,绘制了er图。该业务自运行以来,整体数据基本保持最 初我制定的模型结构,并且能够正常运行。截止上次统计,平均一年接入1.11 亿+数据,为公司提供了高质量的数据资产。