版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhou906767220/article/details/82346372
Java部分
基础
- String buffer 与string builder 的区别?
- hashmap数据结构?
- arraylist 与 linkedlist 异同?
- object类的equal 和hashcode 方法重写,为什么?
- hashmap如何put数据(从hashmap源码角度讲解)?
线程问题
- 线程死锁的4个条件?
- Integer类是不是线程安全的,为什么
- 不使用同步锁如何实现线程安全
- 如何保证线程安全?
- 如何保证多线程读写文件的安全?
- 线程和进程的区别?
- 为什么要有线程,而不是仅仅用进程?
- 如何实现线程同步?
内存问题
- Java四种引用
- 强引用置为null,会不会被回收?
网络问题
- http 的session&cookie的区别
- 简述tcp四次挥手?
原理
- 差值器&估值器
- 处理有序数组为什么比无序数组更快
- volatile的原理
- synchronize的原理
- lock原理
- threadlocal原理
Android 基础
- 事件分发流程
- View的渲染机制
- 动画的原理,底层如何给上层信号
- 编译打包的过程
- Android有多个资源文件夹,应用在不同分辨率下是如何查找对应文件夹下的资源的,描述整个过程
- ANR的原理(回答主线程5秒阻塞是不行的,要读源码)
ANR 如何产生?
Jni 用过么?
多进程场景遇见过么?
关于handler,在任何地方new handler 都是什么线程下
bitmap recycler 相关
简述IPC?
fragment之间传递数据的方式?
简述消息机制相关
进程间通信方式?
Binder相关?
触摸事件的分发?
广播的分类?
点击事件被拦截,但是相传到下面的view,如何操作?
自定义view重写哪几个方法?
简述工作线程更新UI的方法
滑动卡顿如何解决(不同原因及对应处理方式)
自定义view实战
Actvity相关问题
Activity生命周期简述
Actvity启动模式简述
简述Activity启动全部过程?
内存问题
- 内存泄漏的可能原因?
- 用IDE如何分析内存泄漏?
- OOM的可能原因?
- 内存泄漏的常见场景
怎么发现&分析内存泄漏
常见内存泄漏情景及避免内存泄漏的措施
应用最多占多少内存
内存泄露如何产生?
Bitmap 使用时候注意什么?
Oom 是否可以try catch ?
数据库问题
Sqlite 怎么增加一个字段
XX项目中是怎么创建数据库的
Sqlite 怎么删除一个字段
sqlite升级,增加字段的语句
设计模式
- 适配器模式,装饰者模式,外观模式的异同?
- 简绘观察者设计模式UML图
第三方库
glide 使用什么缓存?
Glide 内存缓存如何控制大小?
Glide源码?
okhttp源码?
RxJava简介及其源码解读?
为什么用Retrofit(一个开源库)
Retrofit与之前的网络库有什么优势
算法
算法判断单链表成环与否?
翻转一个单项链表 1->2->3->4->5->null =====> 5->4->3->2->1->null
string to integer
合并多个单有序链表(假设都是递增的)
算法,求公共子序列(或者是子串,记不清了)
性能优化
性能优化如何分析systrace?
新技术
热修复与插件化相关