题库汇总目录 https://www.jianshu.com/p/172d63e0744a
Android大厂高频面试题目,所有题目都是来自于一线大厂真题,题目还会继续填充,答案正在完善中....
一、Android基础篇
二、Java基础篇
三、数据结构篇
四、高并发篇
五、性能优化篇
六、计算机网络篇
七、设计模式篇
八、编程/算法篇
九、开源代码篇
十、其他技术篇
十一、项目篇
十二、开放性题目篇
十三、HR篇
高并发篇
- java锁有那些
- 轻量锁和重量锁区别
- synchronized和lock的区别
- reentrantlock和synchronized区别
- synchronized的类锁和对象锁的区别
- java锁膨胀过程
- AQS,CAS的原理
- 乐观锁的cas的原理
- 乐观锁aba的问题怎么解决
- 什么是可重入锁
- volatile的作用
- 指令重排的作用
- volatile 关键字什么情况下用
- java为什么要设计线程内存和主存
- wait和notify的使用注意
主要是要在锁代码中 - sleep和wait的区别
1.sleep是线程中的方法,但是wait是Object中的方法。
2.sleep方法不会释放lock,但是wait会释放,而且会加入到等待队列中。
3.sleep方法不依赖于同步器synchronized,但是wait需要依赖synchronized关键字。
4.sleep不需要被唤醒(休眠之后推出阻塞),但是wait需要(不指定时间需要被别人中断) - ThreadLocal的实现原理
- java中都哪些是原子操作
- AtomicXXX怎么实现的
- 线程安全的集合有哪些
- renderthread的解释,三缓存原理
- 线程池原理
- 线程池参数意义
- 线程池优点
1.控制线程数量,控制优先级,降低线程创建和销毁的消耗 - Runnable或Thread的区别
编程
- 两个线程同步打数字,一个打单数 一个打双数
- 五个线程轮流打数字
- 四个线程,前三个线程完成后才能让第四个线程执行,怎么实现。