YangZw
22小时前在线
全职 · 700/日  ·  15225/月
工作时间: 工作日19:30-22:30、周末09:30-20:00工作地点:
服务企业: 0家累计提交: 0工时
联系方式:
********
********
********
聊一聊

使用APP扫码聊一聊

个人介绍

我是程序员客栈的Yangzw,一名Android开发工程师;

毕业于桂林电子科技大学,担任过珠海金山办公软件有限公司的高级开发工程师,担任过世纪鼎利的高级开发工程师;

负责过WPS Office中的传输助手项目、隐私体系建设项目;世纪鼎利的Walktour项目;

熟练使用Android Jetpack、Okhttp、Retrofit、RxJava、kotlin协程、自定义Gradle插件、ASM、KSP、插件化、组件化、性能优化等技术。

如果我能帮上您的忙,请点击“立即预约”获“发布需求”!

工作经历

  • 2021-03-01 -2023-05-31珠海金山办公软件有限公司高级软件工程师

    公司主要以办公软件为主,我在公司的职责主要是负责WPS项目日常维护与需求开发,负责WPS项目的基础能力建设,参与过WPS中比较大型的需求有:传输助手、WPS隐私体系建设、CI MergeRequest自动提醒工具等。 1、传输助手 用于同账号下,多设备间文件和消息的传递的一个类似于IM需求,在该需求中需要适配各种消息item,设计完整的消息数据结构以及适配一些偏门手机设备。 2、隐私体系建设 该需求运用到了自定义Gradle插件+Transform + ASM实现字节码插桩和字节码替换结束;ComposeJb + Adb + Jadx实现线下检测工具;使用自定义Idea插件开发开发了隐私api实时检测的AS插件; 3、CI MergeRequest自动提醒工具 该需求运用了自定义Gradle插件+自定义Lint检测+git命令来实现merge request时自动触发代码违规检测。检测异常则以报告形式输出到页面上,方便开发与测试查看。

教育经历

  • 2014-09-01 - 2018-07-01桂林电子科技大学计算机科学与技术本科

技能

Android
0
1
2
3
4
5
作品
巡检通APP

该项目是提供给各大供电局使用的一款便携式巡检应用,由后台系统分派巡检任务到*上,然后工作人员根据后台所派工单对设备进行巡检。巡检完设备后悔上传巡检结果至后台。 该项目是由我主导开发的,项目包含以下三大块功能:现场巡检、任务查询、设备信息等。其中现场巡检模块难度较大,由于其子功能项过多,采用的数据结构和页面设计也相对复杂。所以里面采用链表的数据结构来存储任务列表,以保证任务的有序性,然后页面上采用RecyclerView + ListView等列表控件显示任务列表及巡检时上报的故障列表。

0
2023-06-14 22:11
Walktour

该项目是一款便携式无线网络接口和业务QoS/QoE便携式测试应用软件,专门为三大运营商提供网络质量的测试,并为他们提供优化方案。该项目分为以下几个功能模块:任务列表、自动测试、开始巡检、地图轨迹打点、输出指令实时更新等。 我在该项目中主要负责日常的维护与招标需求的开发以及新技术的调研与引进。在项目中,在Android 10以上*获取不到IMEI的情况下,我采用了插件化 + AccessabilityService的方案适配了各个厂家的Android 10以上的设备获取到IMEI;另外就是在优化包体积下,由于项目的so库比较多,且占用空间较大,于是参考了Bugly 动态加载so库的方案自研了属于自己的一套动态加载so库的三方库,且交由公司其他项目组使用,避免了同事们的二次开发,大大提升了工作效率。

0
2023-06-14 21:47
WPS Office

项目主要是以办公为主的工具软件,可支持word、ppt、pdf、Excel等编辑,另外项目内还有传输助手、图像识别、拍照扫描等功能。 我在项目中承担了基础组件的建设、需求的开发、项目的维护等工作。主要参与并主导的需求有:传输助手、ci Lint体系建设、deeplink提效工具的研发、隐私体系建设等。 上述传输助手需求类似于IM,在开发次需求中需要考虑多个消息item展示问题;CI Lint体系建设需求中,需要接入自定义Lint+Git,其中比较难的点是通过git diff命令精准的获取改动的行号,然后通过自定义的lint插件对改动的文件进行扫描;隐私体系建设需求中,用到了Composejb + 自定义Gradle插件等技术。其中比较难的点是,在做线下检测工具时需要用到ComposeJb技术,此技术栈较新,没有太多的博客和知识库,都是直接从官网找相关资料去开发,打包也是一个问题,做字节码替换的时候需要用到自定义Gradle插件+Transform+ASM技术来实现,比较难的点是,通过Transform先收集到隐私api相关的class文件,然后通过ASM替换掉原来的字节码指令。

0
2023-06-13 23:05
更新于: 2023-06-14 浏览: 98