这是一份很是适合收藏的Android进阶/面试重难点整理!

写在前面

记得我大二时“游手好闲”地自学Android并跟了老师作项目,到大三开始在目前的公司实习,至今毕业已有几年多,学习Android已经六、7年多了!但总感受知识点很零散,而且不够深刻,遇到瓶颈,因此有了这文章。面试

本文是我对自身的Android编程技能的总结、思考和检讨,意在系统地、深刻地学习Android的重难点,使本身的能力上一个台阶。下面我将会罗列Android知识体系中比较高频、重要或难懂的知识点,并将来会基于此文章列出的知识点一个一个学习研究,并写成一系列的文章,当作本身的学习总结笔记,也但愿童鞋们和我一块儿学习和交流~算法

说明:本文不是面试经验谈,而是自我总结。我也不打算像网上不少文章那样只列出点,说出结果,而没说缘由,而后死记硬背,知其因此然而不知其然。而我是打算对下面的知识点深刻学习,并对每一个知识点从源码或举例来写成文章,从而即知其然又知其因此然。我也不知可否作到,但我会坚持努力,看成立个flag吧~

正文 Android进阶重难点

Java

  • 集合:使用场景、源码阅读
  • GC机制
  • 虚拟机
  • 对象内存分配

要学好Android,必需要有扎实的Java基础(固然,如今还有Kotlin)。这里只列出了四点,但Java的体系很是庞大,重难点固然不仅这些,列出来的是在实际项目和面试中经常使用或常见的。编程

Android经常使用/重要类

  • Activity
  • Handler
  • HandlerThread
  • AsyncTask
  • Binder

Android这几个类在编程时是比较高频使用的,因此我打算细读下这几个类的源码。而这几个类也是面试常常被问到的,如Activity启动流程、Binder通讯原理等等,因此很是有阅读价值!后端

Android基础技术和高频面试知识点

  • View事件传递
  • View绘制流程
  • SurfaceView的使用
  • IntentService替换Service的场景
  • Service保活
  • Android序列化方式和区别

这些知识点算是比较基础的,但也很重要!惋惜在实际项目中不多用到,因此常常会忘了这些知识。因此打算把其写成文章,加深本身印象。数据结构

NDK和JNI

提及这个我就头疼,相信不少人跟我同样,若是只是调用C层接口还好,若是要写C的代码,就很尴尬了。但咱们不能老是逃避困难,而是迎难而上!因此我下定决心来跨过内心的这道坎了!架构

算法与数据结构

  • 队列、栈、链表、有向图
  • 排序
  • 查找
  • 红黑树

在家的几本算法书都尽是灰了... 罗列的点不难,算是须要基本掌握的吧,但我老是看了忘了,忘了又看,仍是记不得... 因此也打算写文章加强记忆。另外,若是作应用级别的开发,掌握这几个知识点基本是够用的了,毕竟Java的集合也提供了排序接口。但仍是须要掌握下,毕竟不一样算法使用到不一样场景。ide

插件化/热修复

做为Android进阶必掌握的技能,这个不会都很差意思说本身的Android开发的。以前看了一个月RePlugin的源码,感受道行还不够。不少代码的处理或适配看得似懂非懂,如Binder的机制等。因此这个须要大量的知识做为支撑才能完成看懂,将来再战!工具

第三方优秀开源库

  • RxJava
  • Glide
  • OKHttp

“RTFSC (Read The F**king Source Code )”。每一个人都有本身的编程风格,若是不借鉴、不参考下别人的代码,眼界永远这么小,难以进一步提高编程境界。因此阅读他人优秀的代码是很是有必要的!学习

Android常见的架构模式

  • MVC
  • MVP
  • MVVM

解耦!解耦!Android的架构模式的使用重中之重无非就是解耦了。开发代码不难,维护代码才是最难的。若是代码都不少的解耦,把维护成本下降,工做效率天然提升。测试

Gradle和Groovy

相信如今大多数人都用Android Studio开发了,Gradle做为构建工具真是很是强大,我的以为它完成能够取代Java的编译期注解,有过之而无不及。由于连文件也能在编译期做修改,很是强大,因此也很是值得学习。

通用技能

  • TCP/HTTP
  • SQL
  • 自动化测试
  • 抓包

除了Android的知识点意外,还须要掌握一些通用的技能。毕竟懂多点才有底气跟后端怼嘛哈哈。

写在最后

因为本文罗列的知识点是根据我自身总结出来的,而且因为本人水平有限,没法所有说起,欢迎大神们能补充~

未来我会对上面的知识点一个一个深刻学习,也但愿有童鞋跟我一块儿学习,一块儿进阶。

提高架构认知不是一蹴而就的,它离不开刻意学习和思考

这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给你们梳理了多年的架构经验,筹备近1个月最新录制的,相信这份视频能给你带来不同的启发、收获。

image.png

领取方式:获取免费架构视频资料请加群:1018342383

最近还在整理并复习一些Android基础知识点,有问题但愿你们够指出,谢谢。

但愿读到这的您能转发分享和关注一下我,之后还会更新技术干货,谢谢您的支持!

转发+点赞+关注,第一时间获取最新知识点

Android架构师之路很漫长,一块儿共勉吧!

相关文章
相关标签/搜索