基本信息

专业技能

  • Android / Java / Kotlin / Python
  • Markdown / UML / Mind Mapping
  • SQLite
  • CET-4 (流畅的英文阅读能力)
  • 了解常见的加解密 / 编解码 / 网络协议 / 数据结构 / 算法 / 设计模式等

工作经历

2019.07 - 至今 / 河南芯盾网安科技发展有限公司 / Android 研发组长

  • 负责新技术调研,重难点技术攻坚,技术方案整理及产品化落地。以及安全屋 Android 端项目的代码重构,重难点功能开发。工作内容涉及 10 余个项目。
  • 推动团队建立技术规范、知识归档、Code Review 等机制,整理数万字规范文档等内容。
  • 推动安全屋 Android 端项目重构,精简 2 万余行代码,apk 体积缩小 16m,项目构建速度提升 30%,缓存性能提升 10 倍,实现组件化改造。部分业务场景耗时由 10 数秒降至 1 秒,部分新功能开发时间节省 50%。
  • 编写政务钉钉安全增强方案。涉及对称加密、非对称加解密,白盒加密、可搜索加密、分组加密、流式加密、音视频加密、国密、密钥交换、密钥管理、TEE、AndroidKeyStore、SSL VPN、IPSec VPN 等技术。整理数万字文档及 UML 图。
  • 编写一键加固、多渠道打包脚本,一键阿拉伯语界面适配脚本等,将版本发布打包流程由 2 小时以上减少至 5 分钟。
  • 2 篇专利通过初审。
  • 多次公司内部技术分享。

2017.08 - 2018.05 / 北京草屋科技有限公司 / Android 研发工程师

  • 初创团队核心成员,参与产品从 0 到 1 的功能设计、交互设计、功能开发、产品运营等流程。
  • 用户注册转化率由 40% 提升至 80%,新用户注册成本由 4 元/人降至 0.6 元/人,最高月活 50 万用户。
  • 完成团队开发、设计规范文档的编写。

2015.03 - 2017.02 / 上海万企明道软件有限公司 / Android 研发经理

  • 完成 Android 团队组建,带领团队历经数十个版本的迭代,高质量实现功能开发。
  • 跟随团队制定 OKR 计划,将项目崩溃率由 1.5% 降至 0.5%。
  • 主导完成 Android 端新版本 Clean Architecture 架构搭建。
  • 主要完成代码重构,设计交互规范统一,及规范文档编写。重构后 java 文件 71% 少于 100 行,97% 少于 500 行;函数代码 99% 少于 100 行;标准 style 引用率超过 95%。超过 95% 的图片通过第三方平台统一管理,开发时一键导入。
  • 主导推动公司内部项目经理制的建设,有效改善产品版本规划混乱的现象,基本解决产品发版延迟的问题。
  • 主导建立项目 Code Review 机制。
  • 多次公司内部技术分享。

2014.07 - 2014.09 / 上海童锐网络科技有限公司 / Android 研发工程师 (实习)

  • 负责口袋故事听听 HD,TV 版本的开发。

项目经验

2019.07 - 至今 / 牛盾安全屋 (Android)

  • 面向具有强安全需求的用户的通信 app
  • 重难点功能开发及问题修复,包括隐蔽通信、隐蔽索引、常驻通知保活、悬浮球拖拽加解密、联系人匹配、VOIP 状态机、防窥屏水印、加密语音通话延迟问题修复、JNI 方法混淆等
  • 独立规划项目重构详细方案,协调各方推动项目重构实现。涉及技术包括 Gson / Okhttp3 / Retrofit2 / Room / MMKV / SQLCipher / CC 等
  • 编写 git 规范,JavaBean 规范、数据库规范、网络库规范等
  • 部署 server 端 git hook,规范 git commit 格式
  • 集成 Flipper,并基于 Okhttp 实现网络请求 mock,增强开发调试能力
  • 部署并集成 Sentry 实现线上错误追踪
  • Android 8~11 适配调研及方案整理
  • 实现 jenkins 一键打包,加固,生成渠道包

2019.01 - 2019.03 / YoPic (Android)

项目已开源: https://github.com/yueban/YoPic

  • 一款壁纸 App,基于 Unsplash API 开发,个人项目
  • 使用纯 Kotlin 语言开发
  • 使用 Dagger2 / RxJava2 / Okhttp3 / Retrofit2 / Room 完成架构搭建
  • 使用 Jetpack 组件,如 DataBinding / ViewModel / LiveData / Lifecycle / Navigation / WorkManager 等实现功能开发
  • 使用 Moshi / Kotshi 实现基于 Kotlin data class 的 json 数据解析

2018.11 - 2019.01 / 微信公众号爬虫 (Python)

  • 微信公众号文章爬虫,线上合作项目,负责所有开发工作
  • 基于 Charles 实现 MacOS 微信数据抓包,梳理微信网络请求结构与流程
  • 基于 Python 模拟 MacOS 微信客户端网络请求,实现微信公众号文章的自动爬取,数据存储,导出 excel 等功能

2017.08 - 2018.03 / 火花社区 (Android)

  • 社区类 App,类似百度贴吧,按兴趣分为不同社区,每个社区均采用不同的主题及配色。北京草屋科技有限公司工作期间开发
  • 完成架构搭建,使用 MVP / ViewBinding / RxJava2 / Retrofit2 / Okhttp3 / DBFlow4 等方案
  • 实现 70% 以上功能的开发,其中较有特色的功能包括动态换肤 / RecyclerView 嵌套视频播放 / 基于七牛图片处理 API 实现图片加载性能优化。使用自定义 View、属性动画等技术实现定制化效果
  • 集成 LeanCloud 实现 IM,集成七牛实现云存储
  • 集成 Fabric / Mixpanel / Crashlytics 实现埋点统计,用户行为追踪,线上错误追踪
  • 集成 LeakCanary / Stetho 增强内存泄露监测,应用调试能力
  • 基于 gradle 实现批量打包模板 app 的功能
  • 部署 jenkins 服务实现持续集成
  • 基于 heroku 等工具,实现 Crashlytics / Trello / Jenkins 接入 slack webhook

2015.03 - 2017.02 / 明道 (Android)

  • 沟通协作类 App,类似钉钉,slack,trello。上海万企明道软件有限公司工作期间开发
  • 主导完成新版本 Clean Architecture 架构搭建,采用 Dagger2 / RxJava2 / Retrofit2 / Okhttp3 / DBFlow3 等技术。presentation 层选用 MVP 结构,架构内信息流使用 RxJava2 打通
  • 实现聊天,动态(feed 流),任务板,日程,知识(云盘)等模块的开发。使用自定义 View、属性动画等技术实现定制化效果
  • 实现聊天模块性能优化,使用线程异步操作,单向数据流设计等技术
  • 集成友盟、Growing IO、Bugly 实现埋点统计,用户行为追踪,线上错误追踪
  • 集成 LeakCanary / BlockCanary / Stetho 增强内存泄露监测,应用调试能力
  • 添加代码混淆,应用加固功能
  • 集成 Tinker 热修复
  • 实现自定义 Android Studio Template,一键创建 MVP 模板代码
  • targetSdkVersion 由 19 逐步升至 23,解决各版本兼容性问题
  • 解决 multidex 在 Android 4.4 上 main-dex 方法数超过 65536 的问题

2014.07 - 2014.09 / 口袋故事听听 HD (Android)

  • 音频播放类 App,上海童锐网络科技有限公司实习期间参与研发。主导开发 2.1 ~ 3.0 版本
  • 使用 HttpClient 实现网络请求,使用 SharedPreference 实现数据缓存
  • 使用 Fragment,NineOldAndroids 等实现界面布局、内容显示及动画效果

自我评价

  • 工作风格: 强迫症 / 代码洁癖 / 效率控
  • 工作习惯: 使用日报、周报、月报做工作计划与总结,编写文档做到知识归档
  • 解决问题: 阅读源码 / Google / StackOverflow / 官方文档
  • 保持学习常态,有长期维护的个人博客,对主流开源项目的源码有一定的阅读与理解
  • 善于解决疑难问题,针对棘手问题,能够从海量信息中提取有效内容,形成结构化的解决方案