立刻就是銀三銀四了,又到了你們爭一波加薪的好時機,怎樣在衆多大佬中爭取那個跳槽加薪的機會呢?程序員
這就須要咱們好好準備了,刷面試題是咱們程序員不能夠缺乏的準備工做,可是,不少朋友分享的面試題分散在不一樣的平臺,光查找就須要好久的時間面試
我也和你們同樣,有一顆跳槽的心,就根據19年的面試題,花了一個月的時間講面試題編成合集,其中包含了 算法與數據結構、Java 相關 、Android 相關 、Android Framework 、三方源碼、項目&HR 等各方面內容算法
問題和答案都有,能夠省去你們很多時間去搜集整理,提升面試準備效率。sql
Java 相關設計模式
1. 容器(HashMap、HashSet、LinkedList、ArrayList、數組等)數組
2. 內存模型緩存
3. 垃圾回收算法(JVM)性能優化
四、垃圾回收機制和調用 System.gc()的區別?數據結構
5. 類加載過程(須要多看看,重在理解,對於熱修復和插件化比較重要)多線程
6. 反射
7. 多線程和線程池
8. HTTP、HTTPS、TCP/IP、Socket通訊、三次握手四次揮手過程
9. 設計模式(六大基本原則、項目中經常使用的設計模式、手寫單例等)
10. Java 四大引用
11. Java 的泛型
12. final、finally、finalize 的區別
13. 接口、抽象類的區別
下載地址: https://shimo.im/docs/HpTCxjyGJHY3kdHT/
Android 相關
1. 自定義 View
2. 事件攔截分發
3. 解決過的一些性能問題,在項目中的實際運用
4. 性能優化工具
5. 性能優化 (講講你本身項目中作過的性能優化)
6. Http[s]請求慢的解決辦法(DNS、攜帶數據、直接訪問 IP)
7. 緩存本身如何實現(LRUCache 原理)
8. 圖形圖像相關:OpenGL ES 管線流程、EGL 的認識、Shader 相關
9. SurfaceView、TextureView、GLSurfaceView 區別及使用場景
10. 動畫、差值器、估值器(Android中的View動畫和屬性動畫 - 簡書、Android 動畫 介紹與使用)
11. MVC、MVP、MVVM
12. Handler、ThreadLocal、AsyncTask、IntentService 原理及應用
13. Gradle(Groovy 語法、Gradle 插件開發基礎)
14. 熱修復、插件化
15. 組件化架構思路
16. 系統打包流程
17. Android 有哪些存儲數據的方式。
18. SharedPrefrence 源碼和問題點;
19. sqlite 相關
20. 如何判斷一個 APP 在前臺仍是後臺?
21. 混合開發
下載地址: https://shimo.im/docs/HpTCxjyGJHY3kdHT/
Android Framework
1. AMS 、PMS
2. Activity 啓動流程,App 啓動流程
3. Binder 機制(IPC、AIDL 的使用)
4. 爲何使用 Parcelable,好處是什麼?
5. Android 圖像顯示相關流程,Vsync 信號等
下載地址: https://shimo.im/docs/HpTCxjyGJHY3kdHT/
三方源碼
1. Glide :加載、緩存、LRU 算法 (如何本身設計一個大圖加載框架) (LRUCache 原理)
2. EventBus
3. LeakCanary
4. ARouter
5. 插件化(不一樣插件化機制原理與流派,優缺點。侷限性)
6. 熱修復
7. RXJava (RxJava 的線程切換原理)
8. Retrofit (Retrofit 在 OkHttp 上作了哪些封裝?動態代理和靜態代理的區別,是怎麼實現的)
9. OkHttp
下載地址: https://shimo.im/docs/HpTCxjyGJHY3kdHT/
算法與數據結構
1. 單鏈表:反轉、插入、刪除
2. 雙鏈表:插入、刪除
3. 手寫常見排序、歸併排序、堆排序
4. 二叉樹前序、中序、後序遍歷
5. 最大 K 問題
6. 廣度、深度優先搜索算法
7. String 轉 int。核心算法就三行代碼,不過臨界條件不少,除了判空,還須要注意負數、Integer 的最大最小值邊界等;
8. 如何判斷一個單鏈表有環?
9. 鏈表翻轉;
10. 快排;
11. 100 億個單詞,找出出現頻率最高的單詞。要求幾種方案;
12. 鏈表每 k 位逆序;
13. 鏡像二叉樹;
14. 找出一個無序數組中出現超過一半次數的數字;
15. 計算二叉樹的最大深度,要求非遞歸算法。
16. String 方式計算加法。
下載地址: https://shimo.im/docs/HpTCxjyGJHY3kdHT/
1. 項目開發中遇到的最大的一個難題和挑戰,你是如何解決的。(95% 會問到)
2. 說說你開發最大的優點點(95% 會問到)
3. 你爲何會離開上家公司
4. 你的缺點是什麼?
5. 你能給公司帶來什麼效益?
6. 你對將來的職業規劃?