馬上就是銀三銀四了,又到了大家爭一波加薪的好時機,怎樣在眾多大佬中爭取那個跳槽加薪的機會呢?
這就需要我們好好準備了,刷面試題是我們程式設計師不可以缺少的準備工作,但是,很多朋友分享的面試題分散在不同的平臺,光查詢就需要很久的時間
我也和大家一樣,有一顆跳槽的心,就根據19年的面試題,花了一個月的時間講面試題編成合集,其中包含了 演算法與資料結構、Java 相關 、Android 相關 、Android Framework 、三方原始碼、專案&HR 等各方面內容
問題和答案都有,可以省去大家不少時間去搜集整理,提高面試準備效率。
Java 相關
1. 容器(HashMap、HashSet、LinkedList、ArrayList、陣列等)
2. 記憶體模型
3. 垃圾回收演算法(JVM)
4、垃圾回收機制和呼叫 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/
演算法與資料結構
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/
專案&HR1. 專案開發中遇到的最大的一個難題和挑戰,你是如何解決的。(95% 會問到)
2. 說說你開發最大的優勢點(95% 會問到)
3. 你為什麼會離開上家公司
4. 你的缺點是什麼?
5. 你能給公司帶來什麼效益?
6. 你對未來的職業規劃?
- Android程式設計師現狀:沒有架構師的命,卻得了架構師的病
- 神一樣的操作,真的牛逼了!Android Jetpack Compose 最全上手指南
- 蘋果警告微信,沒有「黑暗模式」就下架?微信:已與蘋果達成合作
- 一天入手Flutter,一週完成一個APP,附教程
- Android app反除錯與程式碼保護的一些基本方案
- Android面試官:你究竟有多大的勇氣,在簡歷上寫了“精通”?
- 中年程式設計師的焦慮:985名校畢業,揹著兩百萬的房貸壓力頗大
- Android開發未來該怎麼走?阿里8年開發經驗程式設計師這麼說的!
- Android開發者必知的記憶體、效能優化細節
- 多少程式設計師的夢想職位,成為阿里P7真的就這麼難嗎?學會這些就夠了