-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
456 lines (419 loc) · 33.6 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--========== BOX ICONS ==========-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/boxicons@latest/css/boxicons.min.css">
<!--========== CSS ==========-->
<link rel="stylesheet" href="assets/css/styles.css">
<title>时章标 Android高级开发工程师 简历</title>
</head>
<body>
<!--========== HEADER ==========-->
<header class="l-header" id="header">
<nav class="nav bd-container">
<a href="#" class="nav__logo">时章标 Android高级开发工程师 简历</a>
<div class="nav__menu" id="nav-menu">
<ul class="nav__list">
<li class="nav__item">
<a href="#home" class="nav__link active-link">
<i class='bx bx-home nav__icon'></i>主页
</a>
</li>
<li class="nav__item">
<a href="#profile" class="nav__link">
<i class='bx bx-user nav__icon'></i>自我总结
</a>
</li>
<li class="nav__item">
<a href="#skills" class="nav__link">
<i class='bx bx-receipt nav__icon'></i>技能清单
</a>
</li>
<li class="nav__item">
<a href="#experience" class="nav__link">
<i class='bx bx-briefcase-alt nav__icon'></i>工作经历
</a>
</li>
<li class="nav__item">
<a href="#personal-project" class="nav__link">
<i class='bx bx-user-plus nav__icon'></i>个人项目
</a>
</li>
<li class="nav__item">
<a href="#education" class="nav__link">
<i class='bx bx-book nav__icon'></i>学历
</a>
</li>
</ul>
</div>
<div class="nav__toggle" id="nav-toggle">
<i class='bx bx-grid-alt'></i>
</div>
</nav>
</header>
<main class="l-main bd-container">
<!-- All elements within this div, is generated in PDF -->
<div class="resume" id="area-cv">
<div class="resume__left">
<!--========== HOME ==========-->
<section class="home" id="home">
<div class="home__container section bd-grid">
<div class="home__data bd-grid">
<img src="assets/img/wechat_qrcode.jpg" alt="" class="home__img">
<h1 class="home__title" id="home-title">时章标</h1>
<h3 class="home__profession">Android 高级开发工程师</h3>
<!-- Button to download your CV saved in the pdf flolder. Available for mobile -->
<div>
<a download="" href="assets/pdf/时章标 Android高级工程师 简历.pdf" class="home__button-movil">下载</a>
</div>
</div>
<div class="home__address bd-grid">
<span class="home__information">
<i class='bx bx-user home__icon'></i> 男/1990
</span>
<span class="home__information">
<i class= 'bx bx-phone home__icon'></i> 18551229348
</span>
<span class="home__information">
<i class= 'bx bx-envelope home__icon'></i> szhangbiao@gmail.com
</span>
<span class="home__information">
<i class='bx bx-conversation home__icon'></i> wx_szhangbiao
</span>
<span class="home__information">
<i class= 'bx bx-map home__icon'></i> 苏州/上海/杭州
</span>
</div>
</div>
<!-- Language change button -->
<a href="./cv_en.html" class="change-language">
<img src="assets/img/en.png" alt="" class="change-language-left">
</a>
<!-- Theme change button -->
<i class='bx bx-moon change-theme' title="Theme" id="theme-button"></i>
<!-- Button to generate and download the pdf. Available for desktop. -->
<i class='bx bx-download generate-pdf' title="Generate PDF" id="resume-button"></i>
</section>
<!--========== FULL STACK ==========-->
<section class="full-stack section">
<h2 class="section-title">全栈开发</h2>
<div class="skills__list grid">
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Android</h3>
<span class="skills__number">90%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__android"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Flutter</h3>
<span class="skills__number">75%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__flutter"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">React Native</h3>
<span class="skills__number">50%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__react_native"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Backend</h3>
<span class="skills__number">65%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__backend"></span>
</div>
</div>
</div>
</section>
<!--========== LANGUAGES ==========-->
<section class="languages section" id="languages">
<h2 class="section-title">语言能力</h2>
<div class="skills__list grid">
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Java</h3>
<span class="skills__number">90%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__kotlin"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Kotlin</h3>
<span class="skills__number">80%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__java"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Dart</h3>
<span class="skills__number">60%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__dart"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">JavaScript</h3>
<span class="skills__number">50%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__js"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">Python</h3>
<span class="skills__number">40%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__python"></span>
</div>
</div>
<div class="skills__data">
<div class="skills__titles">
<h3 class="skills__category">React</h3>
<span class="skills__number">30%</span>
</div>
<div class="skills__bar">
<span class="skills__percentage skills__react"></span>
</div>
</div>
</div>
</section>
<!--========== PROFILE ==========-->
<section class="profile section" id="profile">
<h2 class="section-title">自我评价</h2>
<p class="profile__description">有良好的产品意识、积极乐观、认真负责、思路清晰,具备独立解决技术问题的能力,对代码质量有一定的追求,追求简洁优雅的代码风格。</p>
<p class="profile__description">博客:https://blog.szhangbiao.cn</p>
<p class="profile__description">在线简历:https://szhangbiao.github.io/resume</p>
</section>
</div>
<div class="resume__right">
<!--========== SKILLS ==========-->
<section class="skills section" id="skills">
<h2 class="section-title">技能清单</h2>
<div class="skills__container bd-grid">
<div class="skills__content">
<p>- 10+年Android开发经验,经常使用Java、Kotlin、Dart、JS语言,熟悉React及Python</p>
<p>- 熟悉MVVM架构、Jetpack组件、组件化或模块化构建工程</p>
<p>- 熟悉RxJava、Kotlin Flow & Channel、Hilt、Glide、OkHttp等流行库</p>
<p>- 熟悉JUnit4、Robolectric、mockk、Espresso等单元测试框架</p>
<p>- 熟悉常用的性能优化手段,有音箱、机顶盒或投影仪等低端设备上的开发经验</p>
<p>- 熟悉常用设计模式、计算机网络、数据结构和算法,有刷LeetCode的习惯</p>
<p>- 有Flutter开发跨平台应用的经验,熟悉Riverpod、Dio、Floor、Rxdart等开发库</p>
<p>- 有Eggjs开发后端经验,熟悉MySQL、SQLite3、Redis、Hive等数据库</p>
<p>- 做过Team Leader,也擅长与他人合作,对带领团队共同成长有自己的见解</p>
<p>- 有多个独立开发从零到一的项目经验,也有多个App重做、重构的经历</p>
<p>- 英语CET-4, 有创业和跨国公司工作经验,英文能力满足日常工作要求</p>
</div>
</div>
<!-- Language change button -->
<a href="./cv_en.html" class="change-language hide">
<img src="assets/img/en.png" alt="" class="change-language-right" />
</a>
</section>
<!--========== EXPERIENCE ==========-->
<section class="experience section" id="experience">
<h2 class="section-title">工作经历</h2>
<div class="experience__container bd-grid">
<div class="experience__content">
<div class="experience__time">
<span class="experience__rounder"></span>
<span class="experience__line"></span>
</div>
<div class="experience__data bd-grid">
<h3 class="experience__title">博视联(苏州)信息科技有限公司</h3>
<span class="experience__company">2024.04 - 至今 | Android 高级开发工程师</span>
<h4>云青来应用市场</h4>
<b>职责与工作内容:</b>
<p class="experience__description">1. 独立规划并实施对云青来应用市场V2.0自研应用的重做工作</p>
<p class="experience__description">2. 负责基于Java、Hilt、Jetpack组件的MVVM架构设计,技术选型、代码设计与实现</p>
<p class="experience__description">3. 模块化、组件化的工程结构,KTS、Catalogs、模块AAR化和自定义插件等应用</p><!--catalogs-->
<p class="experience__description">4. 同时支持触屏和遥控器交互,适配多达20+分辨率其中包括音箱、电视、机顶盒和投影仪等低端设备</p>
<p class="experience__description">5. 重构安装包的下载、安装、卸载和更新等核心流程,系统签名和非系统签名的安装流程适配</p>
<p class="experience__description">6. 持续的产出屏幕适配、工程与项目架构、多模块间交互与通信和性能优化系列等飞书文档</p>
<b>获得成绩:</b>
<p class="experience__description">1. 为公司注入新的技术活力,普及代码规范与代码质量,提升全员的技术视野</p>
<p class="experience__description">2. 逐步提升应用的性能与质量,在512MB或1GB等低内存设备上依然运行流畅</p>
<p class="experience__description">3. 全新的工程与项目架构,提升了开发效率和代码的可维护性,缩短了迭代周期</p>
<p class="experience__description">4. 新的屏幕适配方案实现了三套设计图在20+分辨率上UI的一致性,提升了用户体验</p>
</div>
</div>
<div class="experience__content">
<div class="experience__time">
<span class="experience__rounder"></span>
<span class="experience__line"></span>
</div>
<div class="experience__data bd-grid">
<h3 class="experience__title">苏州恒创慧力智能科技有限公司</h3>
<span class="experience__company">2022.02 - 2024.01 | Android Team Leader</span>
<h4>My Income 新加坡保险项目(Kotlin)</h4>
<b>职责与工作内容:</b>
<p class="experience__description">1. Android端基于Kotlin、Hilt、Jetpack组件的MVVM架构设计及重构</p>
<p class="experience__description">2. 基础模块开发与维护,包括远程配置、网络请求、数据存储与缓存、签名认证等模块的封装和单元测试</p>
<p class="experience__description">3. 重要的功能模块,登录(Biometric)、消息通知、支付(信用卡)、推送(FCM+SFMC)、应用混淆等</p>
<p class="experience__description">4. 模块化的工程基础上增加了基于Maven BOOM的三方依赖管理和KTS代替Groovy的Gradle配置</p>
<p class="experience__description">5. 基于Bash语言的Git Commit Message规范化实施、实现Groovy自动同步自定义的Git Hooks脚本</p>
<b>获得成绩:</b>
<p class="experience__description">1. 项目在重构后Play Store评分上升到4.6+,同时公司也超额完成年度Kpi</p>
<p class="experience__description">2. 提升Android产品稳定性、使月均Crash-free User指标提升5.4%,稳定在99.8%</p>
<p class="experience__description">3. 团队内推广Kotlin开发代码规范、不同的研发人员在介入时都能快速上手,普及单元测试、Code Review,提升代码质量</p>
<p class="experience__description">4. 团队成员提升对 MVVM、数据驱动 UI、Kotlin(Flow & Channel)、Hilt 等技术的认知</p>
<p class="experience__description">5. 输出项目新手入手、架构设计、重构步骤、代码规范、单元测试、代码混淆等一系列文档,降低项目维护成本</p>
<h4>Optus Sport 澳洲体育类项目Android Mobile端与TV端(Kotlin)</h4>
<b>职责与工作内容: </b>
<p class="experience__description">1. 负责Android端订阅管理模块的设计与重构</p>
<p class="experience__description">2. 与团队成员合作制定远程配置(Firebase Remote Config)的数据结构和规范</p>
<p class="experience__description">3. 负责自动化备份本地配置的脚本编写,避免人工操作出现错误的可能</p>
<p class="experience__description">4. 负责Bitrise CI/CD的配置与自定义脚本的编写</p>
<b>获得成绩:</b>
<p class="experience__description">1. 有效提高公司Android端产品持续交付、代码审查的效率,避免人为因素造成的低级错误</p>
<p class="experience__description">2. 自身对Gradle的构建、生成Apk的流程有了更深的了解</p>
<p class="experience__description">3. 对代码规范、如何编写高质量代码有了更深的认识</p>
</div>
</div>
<div class="experience__content">
<div class="experience__time">
<span class="experience__rounder"></span>
<span class="experience__line"></span>
</div>
<div class="experience__data bd-grid">
<h3 class="experience__title">苏州极盛软件有限公司</h3>
<span class="experience__company">2018.04 - 2022.02 | Android高级开发工程师</span>
<h4>Fiton ⼀款跟随视频健身锻炼的产品</h4>
<b>职责与工作内容:</b>
<p class="experience__description">1. 重构现有的消息、分享、订阅、数据缓存等模块,独立完成基于SocketIO的IM通信模块</p>
<p class="experience__description">2. 拆分SP使其轻量化、迁移重要业务数据到SQLite、优化App冷启动时间</p>
<p class="experience__description">3. 封装测试工具,方便QA在数据统计、A/B Test、网络请求日志等数据的查看</p>
<b>获得成绩:</b>
<p class="experience__description">1. 新的分享模块搭配IM模块达到了更好的推广效果,用户付费率提升了5%</p>
<p class="experience__description">2. 基础模块的重构提升了App的整体稳定性,Crash率降低5%</p>
<p class="experience__description">3. 定期组内技术分享,提升组员代码规范意识和开发能力</p>
<h4>iTrackBites ⼀款通过饮⻝和运动控制体重的产品(Kotlin)</h4>
<b>职责与工作内容:</b>
<p class="experience__description">1. 使用单个Activity+多个Fragment开发模式、MVVM架构对应用进行重构,主导开发节奏</p>
<p class="experience__description">2. Jetpack组件、Kotlin、RxJava、Retrofit的组合应用,提高开发效率</p>
<p class="experience__description">3. 实现基于VLayout框架的UI层面的封装与重用,提高UI绘制效率</p>
<p class="experience__description">4. 重构过程中对重度用户海量数据进行数据迁移和同步,保证用户数据不丢失</p>
<p class="experience__description">5. 对应用安装包大小、过度绘制、内存、UI卡顿、网络、androidx迁移等优化</p>
<p class="experience__description">6. 针对Android平板做UI设配,提升多端用户体验</p>
<b>获得成绩:</b>
<p class="experience__description">1. 重构上线后用户下载量、活跃度和订阅数猛增,为客户增加几十万美元的收益</p>
<p class="experience__description">2. 启动时间降低20%、页面切换无卡顿、Crash率减低8%、UI焕然一新, 用户付费意愿增强</p>
<p class="experience__description">3. 在团队内推广Jetpack和MVVM,团队成员开发能力提升, 摒弃原有的MVC的开发方式</p>
<p class="experience__description">4. 形成基础代码库,给后续新项目开发节省时间,间接给公司节约了几万元的成本</p>
</div>
</div>
<div class="experience__content">
<div class="experience__time">
<span class="experience__rounder"></span>
<span class="experience__line"></span>
</div>
<div class="experience__data bd-grid">
<h3 class="experience__title">苏州朗动网络科技有限公司</h3>
<span class="experience__company">2015.05 - 2018.04 | 移动端Leader</span>
<h4>企查查/企业信用信息查询</h4>
<b>职责与工作内容:</b>
<p class="experience__description">1. 负责与大数据、设计、测试、运营、客服等部门配合,敏捷开发快速的版本迭代</p>
<p class="experience__description">2. 配合后端制定接口规范、数据安全传输技术选型,配合设计团队制定UI/UX规范,配合H5前端制定数据交互规范</p>
<p class="experience__description">3. Android端架构设计、技术选型及重构(前中期独立开发),输出架构设计、开发规范、业务指导等文档</p>
<p class="experience__description">4. 负责核心模块,网络请求、签名验证、数据存储与缓存、支付(Wechat+AliPay)、工程模块化、响应式编程</p>
<p class="experience__description">5. 与测试团队和设计团队紧密配合、持续交付不断提升App稳定性与可用性</p>
<p class="experience__description">6. 带头攻坚技术重点与难点,在安装包大小、启动时间,过度绘制,耗电量,内存等方面的进行优化</p>
<b>获得成绩:</b>
<p class="experience__description">1. 带领团队紧跟公司的版本发布计划,App经过三年发展成为行业翘楚,个人能力也得到快速成长</p>
<p class="experience__description">2. 面对挑战积极应对、团队内普及新技术,极大地提升了开发效率</p>
<p class="experience__description">3. 新的技术方案解决了企业数据被盗用的问题, 提高了app的安全性和稳定性</p>
<p class="experience__description">4. App启动时间减低15%, 包⼤⼩整体减⼩10%,流畅无卡顿,获得用户一致好评</p>
<p class="experience__description">5. 新技术的应用给团队成员带来技术能力的提升,App的用户快速增长也带来了工作的成就感</p>
</div>
</div>
<div class="experience__content">
<div class="experience__time">
<span class="experience__rounder"></span>
<span class="experience__bottom__line"></span>
</div>
<div class="experience__data bd-grid">
<h3 class="experience__title">新电信息科技(苏州)有限公司</h3>
<span class="experience__company">2014.03 - 2015.04 | Android初级开发</span>
<h4>enGage项目-一款教育类项目</h4>
<b>职责与工作内容:</b>
<p class="experience__description">1. 负责在PDF中展示自定义View并处理事件冲突问题、“图片选择器”模块的编写</p>
<p class="experience__description">2. 对HttpClient进行封装并改写底层数据解析方式,提高网络请求模块的效率</p>
<p class="experience__description">3. 学习Html5技术并独自完成WebView加载本地Html并与Js交互的编写</p>
<b>业绩与成绩:</b>
<p class="experience__description">1. 对Activity生命周期、View的事件分发机制、View的绘制流程有了更深的了解</p>
<p class="experience__description">2. 攻克自定义View、本地WebView加载网页并与Js交互等项目中的技术难题</p>
<p class="experience__description">3. 与组员配合、按时版本交付,及时完成Leader分配的任务,多次收到项目组奖励</p>
<p class="experience__description">4. 自身对前端开发有了更深的了解,学会了HTML5、JS等前端技术,完成了技术积累</p>
</div>
</div>
</div>
</section>
<!--========== PERSONAL PROJECT ==========-->
<section class="personal section" id="personal-project">
<h2 class="section-title">个人项目</h2>
<div class="experience__container bd-grid">
<div class="experience__content">
<div class="experience__data bd-grid">
<h3 class="experience__title">HealthTrack(全栈)</h3>
<h4>Flutter前端:</h4>
<p class="experience__description">1. 全新的MVVM架构设计、架构层次分明、功能模块化、UI组件化、多语言多主题配置</p>
<p class="experience__description">2. 实现多个Firebase环境配置、图片上传(Firebase Storage)、远程配置(Firebase Remote Config)、登录认证(Firebase Auth)、消息推送(Firebase Messaging)、安全校验(App Check)等</p>
<p class="experience__description">3. 实现网络请求(Dio+Retrofit)、数据解析(JsonSerializable)、依赖注入(Injectable+GetIt)、路由(Fluro)、本地存储(Floor+Hive)、状态管理(Riverpod)等</p>
<p class="experience__description">4. 敏感信息的加密传输、Web端基于Hive的加密存储、双Token校验及无感刷新,Future异步编程、Stream和Rxdart响应式编程</p>
<h4>Eggjs后端:</h4>
<p class="experience__description">1. 使用Eggjs框架搭建后端、MySQL数据存储、Redis数据缓存、Crypto数据加密</p>
<p class="experience__description">2. 自定义参数的校验,登录密码非对称加密传输、加盐加密存储,JWT双Token校验</p>
<p class="experience__description">3. 基于Eggjs的多进程实现、进程间通信,提高资源利用率</p>
<h4>Remote Config工程端:</h4>
<p class="experience__description">1. 实现Github Actions+Python的本地配置自动化部署</p>
<p class="experience__description">2. 实现Python封装本地配置命令行一键合并、校验、上传的功能</p>
<p class="experience__description">3. 实现Github Actions本地图片自动上传到Firebase Storage</p>
</div>
</div>
</div>
</section>
<!--========== EDUCATION ==========-->
<section class="education section" id="education">
<h2 class="section-title">教育经历</h2>
<div class="education__container bd-grid">
<div class="education__content">
<div class="education__data bd-grid">
<h3 class="education__title">宿州学院</h3>
<span class="education__studies">2010.09 - 2014.07 | 信息管理与信息系统 | 本科</span>
</div>
</div>
</div>
</section>
</div>
</div>
</main>
<!--========== SCROLL TOP ==========-->
<a href="#" class="scrolltop" id="scroll-top">
<i class='bx bx-up-arrow-alt scrolltop__icon'></i>
</a>
<!--========== HTML2PDF ==========-->
<script src="assets/js/html2pdf.bundle.min.js"></script>
<!--========== MAIN JS ==========-->
<script src="assets/js/main.js"></script>
</body>
</html>