1. 熟练掌握Java编程语言,有良好的编码习惯、扎实的Java基础,了解JVM原理
2. 掌握Servlet/JSP、Struts2, Spring,Spring MVC, ibatis/mybatis,Spring boot,Spring Cloud等框架的使用
3. 熟悉ActiveMQ、kafka、RocketMQ等MQ中间件的搭建与使用
4. 熟悉SQL,MySQL、MongoDB、Redis数据库
5. 熟悉基于Elasticsearch、solr的全文检索系统的搭建与使用,熟悉Logstash、fluentd、kibana
6. 掌握Eclipse、svn、git、maven、Jenkins等工具的使用
7. 熟悉HTML、CSS、Javascript、JQuery、Bootstrap、Vue.js等前端技术
8. 熟悉Linux,shell脚本,Nginx,Tomcat
9. 熟悉HTTP、TCP/IP、Websocket等网络通信协议
10. 熟悉Docker、kubernetes,能够使用Harbor搭建私有镜像仓库、k8s集群搭建与管理
11. 熟悉基于 Prometheus、Grafana 的监控告警系统
12. 熟悉Python编程
一、 Olami AI 开放平台 (https://olami.ai)
Olami AI 开放平台是提供自然语言人机交互、语音识别等方案的人工智能软件开发平台,对外提供自然语言语义理解(NLU)、自然语言语义互动系统(NLI)、语音识别(STT)等服务接口,让开发者或企业能轻松的将人工智能加入至他们的产品。之前的系统是由各单体系统组成,各系统间存在诸多冗余功能且严重耦合,不易维护、不可伸缩。新的系统是基于Spring Cloud的SOA架构,使用Spring Boot封装各微服务,Eureka作为服务注册中心、Ribbon/Feign实现客户端负载均衡、Hystrix实现服务降级/限流。
主要服务:
1. 官网:平台用户访问入口,提供用户注册、登录、信息管理、API调用配置、接口调用统计查询等功能。对接用户中心、通知中心、日志统计系统、应用管理系统等微服务
2. API 网关:用户调用API的入口,负责校验用户请求,在请求参数校验合法且未超出API配额限制时将请求转发给具体的API接口并返回结果。对接各API接口服务以及日志统计服务
3. 语法编辑系统:用户自定义语法模块编辑系统。对接NLP自然语义处理系统和对话系统
职责:
1. Olami API 网关的设计与开发,修改原系统间的appkey数据同步策略,避免数据全量刷新
2. 解决原系统中存在的分布式事务问题:使用 ActiveMQ 与 MongoDB 实现了一套基于可靠消息的最终一致性方案
3. 基于 kafka实现用户接口调用信息的采集与统计
4. 搭建 Elasticsearch + Logstash + Kibana环境,实现系统日志的集中采集与访问
二、分布式爬虫系统
该项目为公司内部为了丰富语言模型训练语而开发的爬虫系统,通过对大量文本的采集、汇总、处理、训练提升语言模型准确度。项目分为两大部分,一是IP代理池,主要是抓取了网络中免费的代理IP进行汇总验证并对外提供操作接口,二是爬虫系统,基于WebMagic进行了二次开发。
职责:
1.IP代理池服务的开发,从不同站点获取地址进行验证并缓存,对外提供地址获取与提交接口
2.对WebMagic框架的二次开发,该框架默认功能不能满足本项目需求,所以基于其架构自行实现了Scheduler,基于Redis的bloom filter进行去重并缓存地址队列
3.编写针对新浪微博的爬虫
4.解决url地址队列增长与消耗速度不协调的问题,避免基于Redis的队列过大,占用太多内存
三、中国联通双十一专题保障
该系统为中国联通运维部门在双十一期间为监控各电商平台访问指标的大屏展示系统,系统要采集现网数据并根据指定算法汇总统计出相关的指标( 某段时间内某电商的用户数、页面响应时长、业务请求次数 、 业务响应时间、页面下载速率 等),并以图表和Google地图的方式在网页中展示。系统要部署于不同的省级公司,单位时间内的各省的统计指标要通过FTP汇报给联通总部。
该系统技术架构为SpringMVC+Spring+Mybatis,数据库为Sybase IQ。
责任描述:
1. 基于SpringMVC+Spring+Mybatis搭建项目环境
2. 对接联通内部开放的数据库服务,根据相关的计算公式编写指标汇总统计的SQL语句
3. 与联通业务人员协调FTP上传文件的格式与接口,并完成相关功能开发
4. 与前端开发人员做REST接口对接
四、华为Smartcare CEI
该项目为华为为运营商提供的用户体验指数分析工具,通过分析网元中所产生的用户数据,根据一定的指标进行用户体验打分,并结合经纬度等信息进行地图的展现。采集的现网用户数据,使用大数据技术清洗出要分析的数据,在前端使用一些图表和地图进行信息展现。
责任描述:
负责整个项目业务上层开发环境搭建、业务需求分析与数据库表设计。
五、华为GENEX开发度量平台
Struts2 spring ibatis mysql(开发工具)
华为RH2288(硬件环境)
windows(软件环境)该项目为华为GENEX部门内部使用的度量系统,主要用于监控整个项目开发过程中代码分布情况、问题单处理、需求处理等环节在各开发组中的处理情况,从而及时发现开发过程中所产生的问题,以便做出调整。
该项目基于SSI架构,数据来源于SVN日志和网络爬虫抓取的问题单、需求等管理系统的网页数据,入库后进行分析展现。
责任描述:
负责项目开发环境搭建,代码提交度量、需求度量、问题单分析、迭代准入度量等模块的开发。
该项目为Olami人工智能开放平台官网,平台官网作为平台用户的访问入口,任何用户要使用平台相关功能接口必须要经由官网完成注册以及配置。整个平台基于Spring Cloud的分布式微服务架构,官网作为平台门户在完成各业务功能时要对接多个后台服务,例如与用户注册认证相关的用户中心服务
该内容管理系统主要用于企业信息的展示,分为后端管理系统与前端展示系统两部分。后端管理系统只能在企业内网访问,由管理员操作配置前端要展示的内容,例如菜单栏、文章分类信息、文章内容录入等,并提供基本的权限控制功能,使得可以由不同的编辑人员编辑不同的分类信息并提交上级审核后发布。前端系