Android高级程序员必备系列

外界都传Android凉了,这那的。但是我要说的是市场对安卓中高级的需求是一直不断的
鉴于此我整理了一个Android前端高级开发工程师应该具备的知识体系,可能不是很完善,但我会一直补充,后面这些东西都将变成可以点击的链接,我都会开专题去讲解,谢谢大家,需要的可以收藏起来,我不会让你们失望。

计算机基础

  1. 计算机操作系统
  2. 计算机网络原理
  3. 计算机系统结构
  4. 数据库系统原理
  5. C++程序设计
  6. 软件工程
  7. 加密

数据结构及算法

栈和队列
数组和链表,自定义一个动态数组
Hash表,及Hash冲突的解决
二叉树
基础排序算法:重点 快排、归并排序、堆排序(大根堆、小根堆)
快排的优化
二分查找与变种二分查找
经典问题:海量数据的处理 (10亿个数中找出最大的10000个数 TOP K问题)

java基础

  • 重写与重载
  • 反射机制
  • 抽象与接口
  • static final 关键字
  • collection类
  • 多线程(线程池,synchronized volatile)
  • 类加载机制
  • Jvm,内存管理,强弱软引用
  • 垃圾回收
  • 注解
  • java对象克隆
  • java对象的序列化
  • 异常处理机制
  • equals()和hashcode()
  • String、StringBuilder以及StringBuffer

Android 进阶

一些面试题

  • Application生命周期
  • 四大组件生命周期
  • Android Service、IntentService,Service和组件间通信
  • Activity的onNewIntent
  • Fragment的懒加载实现,参数传递与保存
  • ContentProvider实例详解
  • BroadcastReceiver使用总结
  • Android消息机制 Handler
  • Binder机制,共享内存实现原理
  • Android 事件分发机制
  • Android 多线程的实现:Thread、HandlerThread、AsyncTask、IntentService
  • ActivityThread工作原理
  • 启动模式
  • Activity 与Fragment Service交互
    嵌套滑动实现原理
    RecyclerView与ListView(缓存原理,区别联系,优缺点)
    View的绘制原理,自定义View,自定义ViewGroup
    View、SurfaceView 与 TextureView
    主线程Looper.loop为什么不会造成死循环
    ViewPager的缓存实现
    requestLayout,invalidate,postInvalidate区别与联系
    AndroidP新特性
    Android两种虚拟机
    ADB常用命令
    Asset目录与res目录的区别
    Android SQLite的使用入门

要掌握的一些深入点(进阶高级)
okHttp 源码,EventBus源码,Glide源码,Rxjava, Retrofit
Framework层,ActivityManagerService,PackageManagerService,WindowManagerService
Binder 启动流程 滑动冲突 事件分发 自定义View,ViewGroup 动画机制
内存优化,界面优化,性能优化,多进程通信 JNI Aidl messenger
各种原理,经典第三方库源码系列

自定义LayoutManager,RecyclerView中如何自定义LayoutManager
VLayout实现原理,即如何自定义LayoutManager
Glide加载原理,缓存方案,LRU算法
Retrofit的实现与原理
OKHttp3的使用,网络请求中的Intercept
EventBus实现原理
ButterKnife实现原理
RxJava实现原理

架构方面(架构师方向)
Dagger依赖注入
热修复实现原理,解决方案
项目结构上:组件化原理和解决方案,插件化
编码架构 :MVC,MVP ,MVVM
设计模式
程序设计六大原则

扩展(大前端方向)
flutter kotlin 音视频开发 微信小程序 phtyon server接口

接下来我会根据这个表单,逐一进行总结归纳,持续更新

你可能感兴趣的:(Android高级系列)