Android面試題集合 阿里+騰訊SNG+今日頭條+小米
今日頭條(一面)
頭條是我第一家面試的公司,準備的不夠好,問的問題很全面,回答的有點僵,最後給拒了T_T
- Activity正常和異常情況下的生命週期
- Activity的四種啟動模式
- app如何保證後臺服務不被殺死
- IntentService比Service好在哪
- 如何優雅的展示Bitmap大圖
- Retrofit使用的註解是哪種註解?以及,註解的底層實現是怎樣的
- Thread和HandlerThread區別
- 關於< include >< merge >< stub >三者的使用場景
- Java是值傳遞還是引用傳遞
- final和static關鍵字的區別
- HashSet和HashMap的區別
- 深拷貝和淺拷貝的區別
- clone()的預設實現是深拷貝還是淺拷貝?如何讓clone()實現深拷貝?
- 動態代理和靜態代理
- 演算法題:求二叉樹第n層節點數
- JVM的記憶體分佈及垃圾回收機制
騰訊SNG(一二面)
一面很簡單,二面問的特別深,而且面試官好凶Orz
- 對Android訊息機制的理解
- Java有哪幾種建立新執行緒的方法及區別
- static修飾的方法可以被子類重寫嗎?為什麼?
- 如何優化一個ListView?
- 哪些情況會導致OOM?
- 如何監測記憶體洩露?有哪些工具?
- 用leak工具監測記憶體洩露的原理是什麼?
小米(一二面)
一面問的很詳細,二面也很深入,面試官態度也超好~
- ThreadLocal的理解
- HashMap HashSet HashTable的區別?
- 如何讓HashMap可以執行緒安全?
- Android對HashMap做了優化後推出的新的容器類是什麼?
- Java多執行緒之間如何通訊
- 執行緒池的實現機制
- RxJava中map和flatmap操作符的區別及底層實現
- 對訊息機制中Looper的理解 )
- Integer類對int的優化
- 單例模式有哪些實現方式
- 通過靜態內部類實現單例模式有哪些優點
- synchronized volatile關鍵字有什麼區別?以及還有哪些同樣功能的關鍵字
- 演算法題:兩個有序連結串列合併
- 介面卡頓的原因有哪些?
- 造成OOM/ANR 的原因?
- Activity與Fragment生命週期有何聯絡
- Activity與Fragment之間如何進行通訊?
- RecyclerView與ListView快取機制的不同
阿里
- 作業系統程序間通訊有哪些方法
- 談談對Socket的理解
- 不同架構的機器有何不同(如x86等)
- TCP/UDP比較
- 什麼時候會發生死鎖
- 作業系統層面上,執行緒可以加哪些鎖
- 演算法題:求無序陣列中的中位數
- 二叉樹深度演算法
- android什麼情況下會發生記憶體洩露
- 棧在系統中的方向是怎樣的?為什麼?
關於這些面試題的詳解,以及更多不同水平階段,不同專題的面試題加答案,我這裡都有整理分類的文件。並且還有系統的進階學習視訊資料,免費分享給大家。希望能幫助到你面試前的複習,且找到一個好的工作,也節省大家在網上搜索資料的時間來學習。有需求的可以私信我或直接加入我們技術交流群:936903570 期待你的加入