本篇收錄了一些大廠面試中常常會遇到的經典面試題,而且我作好了整理分類。雖然今年的金九銀十已通過去了,可是能夠爲明年的金三銀四作準備啊,相信每個跳槽季都有不少的前端開發者蠢蠢欲動,經過對本篇知識的整理以及經驗的總結,但願能幫到更多的Android面試者。前端
好了,那我接下來就開始正文咯。android
1、Android 基礎
Activity
- 什麼是Activity?
- 請描述一下Activity 生命週期
- 常見的Activity類型有FragmentActivitiy,ListActivity,TabAcitivty等。請描述一下Activity 生命週期
- 如何保存Activity的狀態或者(Activiy 重啓怎麼保存數據?)
- 兩個Activity之間跳轉時必然會執行的是哪幾個方法?
- 橫豎屏切換時Activity的生命週期(★★★★)
- 如何將一個Activity設置成窗口的樣式
- 如何退出Activity?如何安全退出已調用多個Activity的Application?
- Activity的四種啓動模式,singletop和singletask區別是什麼?通常書籤的使用模式是singletop,那爲何不使用singletask?
- Android中的Context, Activity,Appliction有什麼區別?(★★)
- 兩個Activity之間傳遞數據,除了intent,廣播接收者,content provider還有啥?
- Context是什麼?,一個應用有多少個Context(2019.5.5)(★★)
- activity 之間還有 activity 和 service 之間如何傳值, 能夠傳圖片嗎?
因爲文章篇幅限制,不可能將全部面試題以文字形式展現出來,本篇爲你們精選了一些面試題,有須要的程序猿(媛)能夠點擊下方傳送門免費獲取題目+解析哦git
點擊免費領取題目+解析PDF
Service
- Service是否在main thread中執行, service裏面是否能執行耗時的操做?(★★)
- Activity怎麼和Service綁定,怎麼在Activity中啓動本身對應的Service?
- 請描述一下Service的生命週期(★★★)
- 什麼是IntentService?有何優勢?(★★★)
BroadcastReceiver 相關
- 註冊方式,優先級
- 廣播類型,區別
- 廣播的使用場景,原理
- Android廣播動態靜態註冊
- 廣播源碼解析 ……
ListView
- ListView如何提升其效率?
- 當ListView數據集改變後,如何更新ListView
- ListView如何實現分頁加載(★★★★★)
- ListView能夠顯示多種類型的條目嗎(★★)
- ListView如何定位到指定位置
- 如何在ScrollView中如何嵌入ListView(★★★★)
- ListView中如何優化圖片(★★)
- ListView中圖片錯位的問題是如何產生的(★★★)
- 如何刷新ListView中單個item的數據,不刷新整個ListView的數據?
Fragment
- Fragment跟Activity之間是如何傳值的
- 描述一下Fragment的生命週期
- Fragment的replace和add方法的區別
- Fragment如何實現相似Activity棧的壓棧和出棧效果的?
- Fragment在大家項目中的使用
- 如何切換fragement,不從新實例化
點擊免費領取題目+解析PDF
2、Android 高級
Android中的事件處理
- Handler Looper Message 關係是什麼?
- Messagequeue 的數據結構是什麼?
- Message 的存儲與管理
- 爲何要用Messagequeue?
- 如何在子線程中建立 Handler?
- Handler post 方法原理?
Android性能優化
- 如何對Android應用進行性能分析(★★★★)
- 性能穩定性是怎麼作的?
- 業務穩定性如何保障
- 若是發生了異常狀況,怎麼快速止損?
- 啓動優化是怎麼作的?
- 什麼狀況下會致使內存泄露(★★)
- 如何避免OOM異常(★★★★)
- Android中如何捕獲未捕獲的異常(★★★)
- ANR是什麼?怎樣避免和解決ANR(★★★★★)
- android應用對內存是如何限制的?咱們應該如何合理使用內存?(★★★★)
Android 組件化與插件化
- 爲何要用組件化?
- 組件之間如何通訊?
- 組件之間如何跳轉?
- Android 插件化和熱修復知識梳理
- 爲何要用組件化
Android屏幕適配
- 屏幕適配方式都有哪些(★★★★★)
- 屏幕適配的處理技巧都有哪些(★★★★)
- dp和px之間的關係(★★)
AsyncTask相關
- AsyncTask是串行仍是並行執行?
- 使用AsyncTask的規則
Android 事件分發機制
- onTouch和onTouchEvent區別,調用順序
- dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法順序以及使用場景滑動衝突,如何解決
- 事件分發機制
- 事件分發解析
- dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent方法的使用場景解析 …...
因爲文章篇幅限制,不可能將全部面試題以文字形式展現出來,本篇爲你們精選了一些面試題,有須要的程序猿(媛)能夠點擊下方傳送門免費獲取題目+解析哦github
點擊免費領取題目+解析PDF
3、其餘
Kotlin 相關
- 從原理分析 Kotlin 的延遲初始化: lateinit var 和 by lazy
- Kotlin 裏的 Extension Functions 實現原理分析
- Kotlin 系列之頂層函數和屬性
- Kotlin 兼容 Java 遇到的最大的 「坑」
- Kotlin 的協程
- Kotlin 協程「掛起」的本質
- 到底什麼是「非阻塞式」掛起?協程真的更輕量級嗎?
- 資源混淆是如何影響到 Kotlin 協程的
- 破解 Kotlin 協程
Flutter 相關
- Dart 當中的 「..」表示什麼意思?
- Dart 是否是單線程模型?是如何運行的?
- Dart 是如何實現多任務並行的?
- 說一下 Dart 異步編程中的 Future 關鍵字?
- 說一下 Dart 異步編程中的 Stream 數據流?
- Stream 有哪兩種訂閱模式?分別是怎麼調用的?
- await for 如何使用?
- 說一下 mixin 機制?
最後
學習和複習這件事情是須要堅持的,可是找準方向,正確的學習方法以及優質的資源都是很重要的。面試
先找準方向,搭建技術框架,填充,而後深刻鑽研,這樣堅持下去,成爲移動架構師不會只是夢。編程