Android面试知识点总结分析(一)面试知识点图谱

java部分

1.collection

Map

  1. HashMap的实现原理,优化原理,扩容原理
  2. HashTable,和HashMap的区别,线程同步
  3. LinkedHashMap
  4. ConcurrentHashMap,为什么线程安全
  5. SparseArray

Set

  1. HashSet
  2. TreeSet
  3. 平衡树,红黑树,二叉树

List

  1. ArrayList 实现原理,扩容
  2. LinkedList实现原理
  3. Vecter
  4. Stack,手动实现

Queue

  1. LinkedQueue
  2. Deque 特点,应用场景

2.java内存模型和内存管理

  1. 内存的划分
  2. 内存泄漏
  3. 内存溢出
  4. 缓存区的数值判断

3.线程

  1. 什么是线程
  2. 线程启动的几种方式
  3. 线程的几种状态
  4. 线程与进程之间的关系,区别
  5. 锁的种类 乐观锁cas,公平锁,非公平锁,重入锁,偏向锁
  6. 死锁是什么?什么情况,怎么避免
  7. cas算法
  8. 消费者生产者模式(三种写法)
  9. 原子性,可见性,数据一致性
  10. 线程池
  11. ThreadLocal
  12. sleep和wait的区别
  13. join和yeild
  14. io密集型和运算密集型的区别和线程池的使用
  15. volitail的特点和原理

4.jvm

  1. 类的的加载机制,原理
  2. 四种引用类型
  3. 垃圾回收的原理和算法
  4. 双亲委派机制

Android部分

android系统层面

  1. 开机过程
  2. apk的生成过程
  3. apk的安装过程
  4. app启动过程
  5. Activity的启动过程

四大组件

Application

  1. Context和ApplicationContext
  2. 能否弹出Dialog

1.Activity

  1. 生命周期以及回调时机
  2. 启动模式和TaskAffinity
  3. 各种模式下跳转的案例
  4. 横竖屏切换
  5. Activity的启动流程

2.Service

  1. 生命周期
  2. 启动模式,start,bind

3.BroadcastReceiver

  1. 静态注册,动态注册,区别,动态在application启动和静态有什么区别
  2. 有序广播-优先级

4.ContentProvider

  1. 常见的增删改查,实现方式
  2. ContentObserve的实现
  3. 怎么定义一个ContentProvider

其他,Intent,Fragment

常用组件

  1. Fragment-生命周期、懒加载、Fragment之间的通信
  2. WebView-首屏加速,安全,离线包,原生之间的交互
  3. RecyclerView-缓存机制,瀑布流,和ListView的区别

View

常用布局

  1. 五种常用的布局
  2. LinearLayout和RelativeLayout的效率比较
  3. LinearLayout是怎么实现的
  4. Weight是怎么计算的

View的工作原理

  1. View树的遍历
  2. View和view的关系
  3. View的绘制流程
  4. 自定义View
  5. View的事件传递,冲突处理
  6. 子线程是否可以更新View怎么做
  7. sp、dp、px的区别,为什么这么设定
  8. 屏幕适配的方案

动画

视图动画

  • 补间动画
  • 帧动画

属性动画

  • 插值器Interolater
  • 估值器TypeEvaluator

常见源码分析

  1. Handler消息机制
  2. ThreadLocal
  3. AsyncTask
  4. IntentService
  5. 线程池

图片缓存机制

  1. 内存缓存
  2. 磁盘缓存
  3. 网络缓存
  4. 图片占用内存计算
  5. 内存缓存算法

网络

  1. Tcp-Udp的区别,三次握手,四次挥手
  2. Http协议组成,版本区别,特点
  3. 状态码
  4. Https的区别,特点,端口443
  5. ssl tsl
  6. 断点下载,多线程下载
  7. 防劫持 dns,Https
  8. 防封禁

进程

  1. 进程间的通信
  2. Binder机制
  3. AMS,WMS,PMS
  4. AIDL
  5. 进程间通信的比较

框架源码分析

  1. butterknife
  2. leakcanary
  3. retrofit
  4. okhttp
  5. glide
  6. eventbus
  7. ijkplayer

常考算法

  1. 单链表反转
  2. 快排
  3. 最大子串
  4. 最大回文子串
  5. 二叉树三序遍历
  6. 字符串处理
  7. 各进制转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值