面试题分类
java面试题
设计模式
- 常用的设计模式有哪些,以及使用场景
- 举例说明Android中有哪些
mvvm、mvc、mvp
- 优缺点以及使用场景
多线程如何避免数据竞争
HashMap
- 它的 get 和 put 时间复杂度,最差情况呢
Java 的内存模型
- 简述内存模型定义?
- 说说看线程之间的通信机制有哪些呢?
- Java的并发采用的是哪种?
- 说说JMM定义了哪些操作来完成主内存和工作内存的交互操作?
- 说说对内存交互基本操作的三个特性的理解?
- 说说看volatile如何生效的?
- 说说看Java是如何保证有序性的?
- Java内存模型怎么通过happens-before原则来保证有序性?
- JMM的存在同时限制了重排序吗?
List< Object > 和 List < String > 是什么关系
GC
- gc算法有哪些以及原理
- 说说分代算法对象回收的过程
线程池
- 实现线程池有哪几种方式,优缺点?
- 简述线程池执行任务的原理?
多线程
- 并发编程三要素?
- 创建线程的有哪些方式?
- 实现可见性的方法有哪些?
- 多线程的价值?
- 创建线程的三种方式的对比?
- 线程的状态流转图
- 常用的并发工具类有哪些?
- CyclicBarrier和CountDownLatch的区别
- synchronized的作用?
- volatile关键字的作用?
- 什么是CAS?CAS有问题?
- 什么是Future?
- 什么是AQS?
- AQS支持两种同步方式?
- ReadWriteLock是什么?
- FutureTask是什么?
- synchronized和ReentrantLock的区别?
- 什么是乐观锁和悲观锁?
- 线程B怎么知道线程A修改了变量?
- synchronized、volatile、CAS比较?
- sleep方法和wait方法有什么区别?
- ThreadLocal是什么?有什么用?
- 为什么wait()方法和notify()/notifyAll()方法要在同步块中被调用
- 多线程同步有哪几种方法?
- 线程的调度策略?
- ConcurrentHashMap的并发度是什么
- Java死锁以及如何避免?
- 死锁的原因?
- 怎么唤醒一个阻塞的线程?
- 不可变对象对多线程有什么帮助?
- 什么是多线程的上下文切换
- 如果你提交任务时,线程池队列已满,这时会发生什么?
- Java中用到的线程调度算法是什么?
- 什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing)?
- 什么是自旋
- JavaConcurrency API中的Lock接口(Lockinterface)是什么?对比同步它有什么优势?
- 单例模式的线程安全性
- Semaphore有什么作用
- Executors类是什么?
- 线程类的构造方法、静态块是被哪个线程调用的
- 同步方法和同步块,哪个是更好的选择?
- Java线程数过多会造成什么异常?
android面试题
事件分发
- 事件分发中requestdissallow的有啥作用,代码层面会做些什么
jetpack
- LiveData 的 setValue 和 postValue 的区别
binder
- binder原理
Handler
- handler原理
- handler中消息时间用的是啥时间
- 没有消息的时候是怎么处理的,底层原理是啥?
- postdelay原理是啥
view绘制流程
事件分发
- TouchEvent事件分发机制
- KeyEvent事件分发机制
性能优化
Activity
- Activity间传递大量数据
SurfaceView和TextureView区别分析
动画
- 动画有哪些
ANR
- anr是什么?
- anr发生的原理是什么?
- 如何避免anr?
- anr和内存泄漏有啥关系
RecyclerView
- 有哪四级缓冲
- 四级缓冲原理
bitmap
- bitmap的内存存放在什么位置?哪些是在native哪些是在Java层
- 大图怎么加载?
- 大图加载到内存中大小的计算?
- glide加载一张网络图片到内存中,内存大小是多少,举例说明?
- bitmap分块加载的原理是啥?
kotlin面试题
- kotlin添加方法有哪几种方式
- kotlin高阶函数有哪些,用过哪些
- Kotlin 中的单例编译到 Java 中是什么样的?
计算机网路
HTTP 、HTTPS
- HTTP 和 HTTPS有什么区别
- 简述HTTPS加密过程
- HTTPS如何保证数据安全的
- 怎么保证客户端公钥是服务器的,而不是别人冒充的
第三方库
Rxjava
- rxjava切换线程的原理
Glide
- glide缓冲原理
- Lrucache原理
其他
- 跨平台方案有些,优缺点?
- aop是什么了解么?