Skip to content

Commit

Permalink
Update cv
Browse files Browse the repository at this point in the history
  • Loading branch information
szhangbiao committed Mar 1, 2024
1 parent 777f849 commit d6242dc
Show file tree
Hide file tree
Showing 11 changed files with 99 additions and 12 deletions.
17 changes: 17 additions & 0 deletions docs/android/android_design_pattern.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
### Android 中常用的设计模式

q:单例中的饿汉和懒汉的区别,多线程中的表现

#### 面向对象六大基本原则

1.单一职责原则 2.开闭原则 3.里氏替换原则 4.依赖倒置原则 5.接口隔离原则 6.迪米特法则

#### 项目中用到的设计模式跟场景

单例、工厂、责任链、观察者、代理、建造者

#### 代理模式

作用:在不修改被代理对象的代码的前提下,可以对它进行扩展,在 AOP 领域很常见
AOP:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术
常用在日志记录、性能统计,安全控制、事务处理、异常处理等
26 changes: 26 additions & 0 deletions docs/android/android_framework.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
### Android 框架层面

#### 插件化和热修复

热修复原理:Java 代码、Native 代码、资源
资源热修复:反射更改所有保存的 AssetManager 和 Resource 对象
Native 代码热修复:反射修改 ClassLoader 加载 so 文件路径
Java 代码热修复:自定义 ClassLoader,优先加载补丁包里的类

#### LruCache 原理

Least Recently Used 缓存策略

#### Android 签名机制

V1 和 V2 在技术上和物业上的区别

#### Apk 构建流程

App bundle?

#### Apk 的安装过程

#### Andorid 版本特性

#### Android 屏幕适配
4 changes: 4 additions & 0 deletions docs/android/android_jetpack.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@

ViewModel、LiveData、Lifecycle、Room、WorkManager、Navigation、Paging 等组件

#### Lifecycle

#### ViewModel

#### LiveData

#### WorkManager
4 changes: 4 additions & 0 deletions docs/android/android_network.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
### Android 计算机网络

计算机网络(TCP、UDP、HTTP)
七层模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)
6 changes: 6 additions & 0 deletions docs/android/android_plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,9 @@
- Github hook (规范化commit message)
- Code Review
- 业务开发

# 个人介绍

1. 个人信息
2. 当前公司主要的工作内容
3. 个人的核心优势(1.独立开发从 0 到 1 的项目 2.比较注重代码质量,有一定的代码洁癖 3. 有较好的数据结构与算法知识,常刷 Leetcode
12 changes: 12 additions & 0 deletions docs/android/android_ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,16 @@ sendMessage(): dispatchMessage -> Handler.mCallback != null -> Handler.mCallback

#### 2.View 绘制过程

UI 的刷新机制:ViewRootImpl.scheduleTraversals() -> 加入到待执行队列并给刷新信号注册监听 -> VSync 信号到来时取出对应的 scheduleTraversals()并加入到主线程的消息队列 -> 消息取出并执行 measure()、layout()、draw()
同步屏障:Looper.loop()  调用 MessageQueue 的 next()方法取出队列头部 Message 执行 -> 遇到同步消息(一种特殊机制)后会寻找异步消息执行,不然就会一直阻塞,除非同步屏障取出 -> 界面刷新是异步操作,具有最高优先级

ViewRootImpl.requestLayout() -> ViewRootImpl.scheduleTraversals() -> 加入待执行队列并给刷新信号注册监听 -> VSync 信号到来时取出对应的 scheduleTraversals()并加入到主线程的消息队列 -> 消息取出调用 ViewRootImpl.performTraversals()执行 measure()、layout()、draw()

#### 3.事件传递机制

ViewGroup.dispatchTouchEvent() -> ViewGroup.onInterceptTouchEvent() -> (true) onTouchEvent()
-> (false) View.dispatchTouchEvent()

getParent().requestDisallowInterceptTouchEvent(true)

#### 4.RecyclerView 常见面试题
3 changes: 3 additions & 0 deletions docs/android/android_webview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### Android Webview 实践

#### Hybrid 应用 native 与 js 如何互相调用
1 change: 1 addition & 0 deletions docs/flutter/flutter_optimize.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
### Flutter 性能优化
5 changes: 5 additions & 0 deletions docs/flutter/flutter_third_lib.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Flutter 常用第三方库

river_pod (2.0)、Dio、GetIt、RxDart

#### Flutter
7 changes: 7 additions & 0 deletions docs/flutter/flutter_ui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
### Flutter 常见问题

#### Flutter 绘制机制

#### Flutter 事件传递机制

#### Flutter 不支持反射
26 changes: 14 additions & 12 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ <h3 class="home__profession">Android 高级开发工程师</h3>
</div>
<div class="home__address bd-grid">
<span class="home__information">
<i class='bx bx-user home__icon'></i> 男/1990
<i class='bx bx-user home__icon'></i> 男/1989
</span>
<span class="home__information">
<i class= 'bx bx-phone home__icon'></i> 18551229348
Expand Down Expand Up @@ -227,10 +227,10 @@ <h3 class="skills__category">React</h3>
</section>

<!--========== PROFILE ==========-->
<section class="profile section" id="profile">
<section class="profile section hide" id="profile">
<h2 class="section-title">自我评价</h2>

<p class="profile__description">热爱技术岗位,富有好奇心和自驱力,善于通过学习提升自我,善于沟通,追求极致,挑战自我。</p>
<p class="profile__description">TODO: 热爱技术岗位,富有好奇心和自驱力,善于通过学习提升自我,善于沟通,追求极致,挑战自我。</p>
</section>
</div>

Expand All @@ -246,16 +246,17 @@ <h2 class="section-title">技能清单</h2>
<p>- 熟悉使用JUnit、Robolectric、mockk、Espresso等框架单元测试及Android测试</p>
<p>- 熟悉自定义View, View绘制流程和事件分发机制, 高性能的UI开发</p>
<p>- 熟悉MySQL、SQLite3、Redis、Hive等数据库的使用</p>
<p>- 熟悉Node.js,熟练Express、Koajs、Eggjs后端框架,有Eggjs后端完整的开发经验</p>
<p>- 熟悉Node.js,了解Express、Koajs、Eggjs后端框架,有Eggjs后端完整的开发经验</p>
<p>- 熟悉Bitrise、Github Actions、Bitbucket Pipelines等CI/CD平台</p>
<p>- 熟悉使用Python、Groovy、Bash等语言开发自定义脚本</p>
<!-- <p>- 熟悉常用的设计模式、计算机网络、数据结构和算法, 有刷LeetCode的习惯</p> -->
<p>- 熟悉常用的设计模式、计算机网络、数据结构和算法, 有刷LeetCode的习惯</p>

<!-- <p>- 熟悉产品设计研发上线以及版本迭代流程和项目管理流程</p> -->
<!-- <p>- 了解崩溃、内存、卡顿、启动、UI、安装包体积等方面的优化</p> -->
<!-- <p>- 了解Hybrid、插件化、热更新、模块化、组件化等常用的开发策略</p> -->
<p>- 英语CET-4, 有创业和跨国公司工作经验,英文能力满足日常工作要求</p>
<p>- 创过业,做过Team Leader,对带领团队共同成长有自己的见解</p>
<p>- 做过Team Leader,也擅长与他人合作,对带领团队共同成长有自己的见解</p>
<p>- 有多个独立开发从0到1的项目经验,也有多个App重做、重构的经历、对App架构演进有自己的见解</p>
</div>
</div>
<!-- Language change button -->
Expand All @@ -276,14 +277,15 @@ <h2 class="section-title">工作经历</h2>
</div>
<div class="experience__data bd-grid">
<h3 class="experience__title">苏州恒创慧力智能科技有限公司</h3>
<span class="experience__company">2022.02 - 至今 | Android高级开发工程师</span>
<span class="experience__company">2022.02 - 2024.01 | Android Team Leader</span>
<h4>My Income 新加坡保险项目Android客户端(Kotlin)</h4>
<b>职责与工作内容:</b>
<p class="experience__description">1. 负责Android端基于Kotlin、Jetpack组件的MVVM架构设计及重构</p>
<p class="experience__description">2. 负责核心模块,远程配置(Firebase Config)、网络请求(Retrofit)、数据库(Room)、Token认证等模块的封装和单元测试,登录(Biometric)、消息模块、支付(信用卡)、推送(FCM+SFMC)、应用混淆</p>
<p class="experience__description">3. 实现基于Maven BOM的第三方依赖统一版本管理、build配置从Groovy迁移到KTS</p><!--catalogs-->
<p class="experience__description">4. 基于Bash语言的Git Commit Message规范化实施、实现Groovy自动同步自定义的Git Hooks脚本、集成单元测试覆盖率框架Jacoco</p>
<p class="experience__description">5. 输出项目新手入手、架构设计、重构步骤、代码规范、单元测试、代码混淆等一系列文档,降低项目维护成本</p>
<p class="experience__description">1. 与后端、设计、测试等团队紧密合作,共同推进产品的开发与迭代</p>
<p class="experience__description">2. 负责Android端基于Kotlin、Jetpack组件的MVVM架构设计及重构</p>
<p class="experience__description">3. 负责核心模块,远程配置(Firebase Config)、网络请求(Retrofit)、数据库(Room)、Token认证等模块的封装和单元测试,登录(Biometric)、消息模块、支付(信用卡)、推送(FCM+SFMC)、应用混淆</p>
<p class="experience__description">4. 实现基于Maven BOM的第三方依赖统一版本管理、build配置从Groovy迁移到KTS</p><!--catalogs-->
<p class="experience__description">5. 基于Bash语言的Git Commit Message规范化实施、实现Groovy自动同步自定义的Git Hooks脚本、集成单元测试覆盖率框架Jacoco</p>
<p class="experience__description">6. 输出项目新手入手、架构设计、重构步骤、代码规范、单元测试、代码混淆等一系列文档,降低项目维护成本</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>
Expand Down

0 comments on commit d6242dc

Please sign in to comment.