2021 年 Android 程序员职业规划,查缺补漏
中高级工程师不会系统学习 Android 开发?看看这份 Android 知识体系总结(BAT 面试 &高级进阶)
此篇文章是初中高级工程师学习文章,知识体系较为完整。有如下特点:[1]知识结构全面[2]跟随当下技术潮流实时更新[3]可用于面试 & 学习[4]知识分为文字部分和视频部分,任性选择[5]正确的职业规划[6]方便工作过程中遗忘知识点快速查询
这份知识体系大纲包括:
Android 部分:
四大组件篇 ActivityBroadcastReceiverContentProviderService
第五大组件篇 Fragment
对话框 & 弹框 & 悬浮窗 & 通知篇 DialogPopWindowDialogFragmentNotification
Android UI 控件篇基础布局基础控件高级控件(ListView,RecyclerView,ViewPager,WebView...)自定义控件(包含很多其它知识)?Android 坐标系?Android 的角度与弧度?View 绘制机制?View 事件分发?Android 动画机制?Canvas 类?Path 类贝塞尔曲线......原生控件源码分析
Android 系统架构篇系统架构系统版本特点 & 区别
Android 通信篇线程间通信框架 HandlerAsyncTaskHandlerThreadIntentService 进程间通信
Android 网络编程篇网络请求 Token & Session & Cookie 三者联系与区别数据解析[Json,XML]......
Android 数据持久化篇文件存储 key-value 存储[SharePreference,MMKV(腾讯)]数据库存储[SQL 语句,SQLite]序列化
Android 原生音视频图片开发[非 JNI]图片开发(Bitmap)视频开发[GsyPlayer,JiaoZiPlayer...]音频开发[MediaPlayer]
Android 特殊知识点【不知道如何分类的知识点】gradle 蓝牙定位 SDK 开发与接入 Drawable......
Android 必须掌握的轮子异步通信[EventBus,RxJava]图片加载[Glide,Picasso,Fresco]内存优化[LeackCanary,BlockCanary]依赖注入[ButterKnife,Dagger]数据库轮子[LitePal,GreenDao...]
项目架构篇 MVC & MVP & MVVM 组件化 JetPack
Android 高级进阶篇 UI 绘制过程一个 app 启动过程 Android 动画机制 View 事件分发热更新 & 插件化 Handler 源码分析......
Android 优化篇内存优化布局优化 UI 卡顿优化 UI 适配优化 apk 安全优化
Android 职业方向篇【这是笔者新加入的,对于 Andorid 开发者而言非常重要,要有自己的职业规划】资深 UI 工程师[自定义控件,源码方向]Android 底层开发工程师[C++音视频/图像算法/智能家居]Android 资深架构师[造得一手牛逼的好轮子,熟悉 Framework,Java 高级知识等等]全栈工程师(以 Android 为核心技术)
Android 工作工具篇 Git/SVN(代码版本控制)调试工作测试
Android 工作必备技能篇玩转 Gradle 打包 & 多渠道打包加固 & 混淆
Android 跨平台开发篇 WebView & 第三方内核 Flutter
Android 项目学习篇实战项目学习
Java 部分
基础部分
操作系统
八大基本数据类型 &引用类型
JDK&JRE&JVM 篇
面向过程 &面向对象篇
数组
NIO/BIO/AIO
Java 异常体系篇
集合篇
多线程篇
泛型篇
Java 注解篇
反射篇
Socket
Java 设计模式篇
高级部分
JVM
AOP
APT
多线程核心知识点
Kotlin 部分:
基础部分
基本数据类型
数组
集合
函数
类 & 接口
扩展方法
空类型安全
智能类型转换......
高级部分
泛型
反射
注解
协程
数据结构与算法部分
数据结构部分
时间复杂度 & 空间复杂度
数组
链表
堆
栈
队列
散列表
树
算法部分
排序(8 大排序)
查找
递归 & 回溯算法
贪心算法
计算机网络部分
五层网络模型
http[请求头,响应体,三次握手,四次挥手等]
https
DNS
Socket & WebSocket
浏览器访问一个 url 的过程
Android 技术应用【Andorid 中能运用的网络知识点】
Android 面试部分
Java 部分
Kotlin 部分
Android 部分
移动 UI 框架部分(Flutter 为主)
数据结构与算法部分
常用的开源库部分
计算机网络认识
最后
其实 Android 开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。
这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司 21 年的面试题。把技术点整理成了视频和 PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
网上学习 Android 的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
**本文已被[CODING 开源项目:《Android 学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](
)
收录**
最后自我介绍一下,小编 13 年上海交大毕业,曾经在小公司待过,也去过华为、OPPO 等大厂,18 年进入阿里一直到现在。
深知大多数初中级 Android 工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此也是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
评论