題庫匯總目錄 http://www.lxweimin.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的區別
編程
- 兩個線程同步打數字,一個打單數 一個打雙數
- 五個線程輪流打數字
- 四個線程,前三個線程完成后才能讓第四個線程執行,怎么實現。