一位资深的Android开发者已经是达到了高开及架构层面,所需要负责的工作及技能要求也会是一定高度的要求,下面说说Android架构师所需具备的技能体系及学习路线分享!
负责公司智能硬件设备的基础软件平台的架构工作;
负责跨MTK、高通平台的Android BSP架构的设计;
负责业务端APP的架构设计、性能调优、疑难问题的分析和解决工作;
负责Android平台新技术的研究,构建高效率、高性能、可扩展的组件,完善开发框架。
深度理解Android平台架构、主要组成和工作模式;
有linux内核、framework和jni、虚拟机、安全逆向等底层技术经验;
深入理解设计模式,能够设计出高內聚,低耦合的系统框架,提升开发效率;
具有比较强的客户端系统架构设计能力,在通用性、跨平台和复用性方面有深刻的理解;
有大型软件架构设计和重构经验。
根据阿里大厂架构师给出的学习建议;整理出的Android架构师进阶路线如下:
设计模式
重构
技术选型
特性
可用性
性能
包大小
方法数
文档
技术支持
UI架构模式
MVC
MVP
MVVM
集成开发环境
Android Studio
Sublime Text
版本控制系统
svn
git
gitlab
github
mercurial
调试工具
ADB
DDMS
Stetho
LeakCanary
ClassyShark
Postman
markman
CodeReview工具
Gerrit
Phabricator
构建工具
Gradle
Buck
效率工具
番茄钟
Markdown
WakaTime
Focus Matrix
evernote
代码和资源混淆
反编译
密钥管理
安全编码
应用加固
App 瘦身
MultiDex
插件化
推送技术
Crash 统计
函数式编程
启动保护
在线热修复
AOP
React Native
Hybrid
SDK化
依赖注入
知识管理
团队Wiki
团队论坛
时间管理
四象限法则
帕累托法则
番茄工作法
目标管理
Smart 法则
思维导图
甘特图
项目管理
边界思维
过程思维(WBS)
风险思维
干系人思维
整合沟通
团队管理
招聘面试
梯队培养
技术规划
团队规范
个人管理
技术博客
技术分享
会议演讲
领导力
持续学习
产品交互设计
后端技术
HTML5
iOS
单元测试
JUnit
Robolectric
Mockito
UI自动化测试
Monkey
MonkeyRunner
UIAutomator
Robotium
Espresso
Appium
持续集成
Jenkins
Travis CI
fastlane
静态代码扫描
CheckStyle
FindBugs
PMD
Android Lint
Infer
启动优化
代码优化
内存优化
电量优化
布局优化
网络优化
Java
C
C++
Javascript
Groovy
Kotlin
在这里我就分享一份由大佬亲自收录整理的[学习PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料]
如有需要点击获取方式,免费领取一份架构资料。
这些都是我现在闲暇时还会反复翻阅的精品资料。里面对近几年的大厂面试高频知识点都有详细的讲解。相信可以有效地帮助大家掌握知识、理解原理,帮助大家在未来取得一份不错的答卷。
当然,你也可以拿去查漏补缺,提升自身的竞争力。
祝大家有钱!
希望能够助力到大家,Android路漫漫,共勉于此篇!