学习进阶

Android 框架原理和源码流程
1.app启动流程
2.activity启动流程
3.view绘制机制
4.view事件分发
5.view事件拦截(内部,外部)
6.handler机制
7.binder机制

Android 基本知识点
1.activity生命周期
2.activity启动模式
3.service生命周期,启动方式。
4.序列化的区别,原理(Parcelable与Serializable 具体实现,优缺点,Parcelable怎么使用,具体内部实现方法)。
5.LRU缓存原理 LinkhashMap ===》 hashmap的基础上,加了个链表 (处理先后顺序的)
6.横竖屏切换生命周期
7.fragment使用方式,生命周期,影响到的activity的生命周期(viewpager配合 懒加载)
8.android和js交互
9.APT(注解)
10.xml解析

java基础
1.基本数据类型 字节大小
2.GC垃圾回收(算法)
3.JVM(模型)
4.多线程(线程池)
5.反射
6.类加载机制

设计模式
1.单例模式
2.动态代理
3.享元模式
4.责任链
5.门面模式(外观模式)
6.建造者模式(bulider 参数5个及以上,而且不是都是必须的)
7.工厂模式

性能优化(使用场景)
1.ARN
2.卡顿处理
3.电量优化
4.网络优化
5.启动优化
6.包减小
7.webview优化
8.布局优化
9.绘制优化

第三方框架源码原理
1.glide 缓存 显示gif (使用了弱引用,LRU)
2.recycleView 缓存机制 mcachView 大小2 缓存池好像是5
3.retrofit 封装 设计模式
4.okhttp 责任链 (底层实现原理的)
5.viewmodel 怎么存储,让数据只有一份(存到activityrecorder里面)
6.livedate
7.rxjava
8.ARouter
9.leakcanary 弱引用 四大引用定义,区别,使用场景 特别是软引用--很少使用
10.头条的屏幕适配方案原理
11.换肤的原理
12.BlockCanary(检测应用卡顿耗时的三方库)

框架设计:
1.mvc
2.mvp
3.mvvm
4.组件化
5.插件化
6.热更新

kotlin
1.基础
2.高级
3.协程是重点(使用)
4.泛型 (?extends Object 上界限制 和 out Object 一致 只读 ,不可写 消费者 协变)
(?super Object 下界限制 和 in object 一致 只写,不可读 生产者 逆变)

网络
1.http
2.https 证书 验证原理
3.三次握手,四次挥手,他们传输的报文(ack,sny)

小知识点
1.clipChildren 子组件跑出父组件实现 默认值是true。禁止出去。 TouchDelegate(事件区域扩展的)
2.TouchDelegate (扩大点击区域)
3.android屏幕刷新机制(丢帧,画面撕裂等)
4.onWindowFocusChanged 是Activity真正可见时间
5.JobScheduler
6.大文件多线程下载(RandomAccessFile 这个对象比较重要)
7.ThreadLocal机制(怎么获取Thread的Looper? 这个机制其他还有哪里使用(Choreographer ,主要是来保持主线程单列)
8.HandlerThread (原理,使用)
9.IntentService(原理,使用场景。内部有个HandlerThread )
10.ReflectASM(ASM库)

面试有关的
1.简历修改
2.自我介绍
3.项目内容丰满
4.遇到的问题,怎么解决

问题
context(aplication,activity,service,contentprovide ) 的context创建时机
阅读源码工具:sourceinsight

你可能感兴趣的:(学习进阶)