写点什么

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 工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此也是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

用户头像

还未添加个人签名 2021.10.19 加入

还未添加个人简介

评论

发布
暂无评论
2021年Android程序员职业规划,查缺补漏