> For the complete documentation index, see [llms.txt](https://251614599.gitbook.io/resume/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://251614599.gitbook.io/resume/master.md).

# 简历-赵志浩

## 赵志浩

* 年龄：27
* 性别：男
* 手机：18535150851
* 邮箱：<zhaozhihao@outlook.com>
* 毕业院校：太原工业学院 | 本科 | 2014年毕业
* 工作经验：5年
* 求职意向：**Android开发工程师**

## **北京恺跃科技有限公司（2019年3月-2019年11月）**

职位：Android工程师（北京）

### **项目：高格证券**

> 为投资者提供股票衍生品交易的平台。包含资讯、股票交易、期权交易、货币兑换、礼品卡等功能。
>
> 链接：<https://www.toweringsecurities.cn/>

职责：Android端合作开发；参与架构优化；负责期权交易、推送消息、截屏分享等功能模块的开发；搭建CI平台提升团队合作效率

技术点：

* 项目采用MVVM架构，RxJava、Retrofit实现接口数据获取，WebSocket接收资讯消息和订单推送消息
* 通过优化图片资源、编写Gradle插件对资源进行7z压缩等手段实现30%以上的包体积减小
* 通过Splash页指定特殊Theme、第三方库加载优化和类加载优化等手段，优化应用的冷启动速度
* 使用Jenkins搭建CI平台，编写pipeline脚本，结合内网服务器实现每次构建自动生成下载二维码
* 接入阿里云推送SDK实现外部移动推送功能，支持各国产系统推送通道
* 使用团队自研的路由框架Rabbits，结合注解处理器，实现原生页面和H5页面的统一跳转

## **福州必全网络科技有限公司（2018年6月-2019年2月）**

职位：Android工程师、Java服务端工程师（北京）

### **项目：BQEX交易所**

> BQEX是一个数字资产交易平台，提供市场行情、币币交易委托、OTC交易、资产管理、随机红包、口令红包、区块链金融等服务。
>
> 链接：<https://my.bqex.pro/>

职责：Android端负责所有模块的实现及优化； 服务端负责部分模块的接口开发，以及管理后台的维护和Erc20上币功能开发

技术点：

* 项目采用MVP架构，RxJava、Retrofit实现接口数据获取，SocketIO接收行情和交易信息，使用Kotlin和Java混合开发
* 抽取通用的网络框架，优化调用方式，减少冗余
* 拆分业务Module和通用工具的Common Module，优化代码层次结构，减少耦合
* 为了加快H5页面的渲染速度，实现了H5资源的离线包机制，拦截WebView请求加载本地资源，并使用基于BSDiff算法的工具实现H5资源离线包的增量升级功能
* 针对接口域名被屏蔽导致客户端无法访问的问题，通过预置备用域名结合OkHttp拦截器实现接口域名的动态更换
* 使用DiffUtil实现行情列表RecyclerView的局部刷新，解决频繁刷新数据时导致的滑动卡顿问题
* 使用SpringCloud、SpringBoot等开发后端接口，使用Laytpl开发管理后台

## **山西晋能集团信息工程有限公司（2016年9月-2018年6月）**

职位：高级软件工程师（太原）

### **项目：企业云信息化平台**

> 为晋能集团开发的一款办公信息化系统，有在线党建和煤炭贸易两个子系统，包含外网门户、任务管理、代办事项、消息管理、报表管理等业务模块，以及用户管理、角色管理、系统设置、流程设置等系统配置模块

职责：参与技术架构和项目需求调研讨论；负责部分模块的开发；解决团队成员遇到的技术问题

技术点：

* 项目采用Spring、SpringMvc、MyBatis进行开发，外网部分采用开源CMS系统实现，工作流使用Activiti实现，报表部分使用FineReport
* 完成任务管理、重点工作管理模块的设计与开发
* 完成平台与CMS系统的用户整合，配置权限的同时自动在CMS中生成用户，实现两端同时登录
* 使用自定义JsonSerializer解析日期数据，解决前端日期解析错误的问题

## **深圳正态逻力科技有限公司（2014年9月-2016年8月）**

职位：Android工程师（深圳）

### **项目：巧课力**

> 一款面向早教培训机构CRM(客户关系管理)软件的APP端。提供名单的录入分配、跟进签约等功能，以及会员的约课、排课、请假续约操作
>
> 链接：<https://www.chocloud.cn/index.html>

职责：Android端独立开发，负责所有功能模块的设计与实现

技术点：

* 项目整体采用MVP架构，降低耦合，封装OkHttp工具类实现网络请求
* 接入腾讯互动直播sdk实现视频直播会议功能
* 编写自定义控件，自定义测量过程和布局过程，实现标签自动换行的效果
* 接入百度sdk实现定位及搜索功能

### **项目：扫地机器人**

> 针对大族锐视公司的扫地机器人开发的配套APP，提供自动全局清扫、手动清扫、按地图分区域清扫、定时清扫等遥控功能

职责：Android端独立开发，负责所有功能模块的设计与实现

技术点：

* 项目使用SocketIO和Java原生Socket，根据预定的指令协议，完成数据的打包与解包，分别实现指令数据和地图数据的传输，使用HttpClient实现网络请求
* 针对地图绘制的需求，选择了基于OpenGL ES的libGDX，在一周内通过Udacity上的英文视频和官方英文文档快速上手，实现了地图的绘制，以及地图分区域变色和双指缩放等功能
* 使用Star-UML工具制作UML类图， 编写技术文档

### 专业技能

* 熟练掌握常见的数据结构和设计模式，熟练使用Java开发Android应用
* 熟悉JVM垃圾回收与内存分配，熟悉类加载机制
* 熟悉Android多线程开发和网络编程，熟悉Handler、AsyncTask、RxJava、OKHttp、Retrofit实现原理，熟悉JMM模型
* 熟悉Gradle构建的整体流程，以及自定义插件通过Transform操作class文件
* 熟悉Android事件传递机制，Activity启动流程和界面绘制流程，熟练编写自定义控件
* 熟悉TCP、HTTP、HTTPS协议，熟悉非对称加密、数字证书等机制
* 熟悉Linux常用命令，编写简单的shell脚本
* 了解常见的Android包体积优化和内存优化技术
* 了解插件化、热修复
* 英语无障碍阅读(CET-6)，偶尔翻译一些文章(Medium、Google官方文档等)
* 熟练使用SpringBoot、MyBatis、Redis等进行Java后端开发
* 了解Python，PHP，node.js，有简单二次开发经验
