2020Android高級開發面試題以及答案整理,持續更新中~

本篇收錄了一些大廠面試中常常會遇到的經典面試題,而且我作好了整理分類。雖然今年的金九銀十已通過去了,可是能夠爲明年的金三銀四作準備啊,相信每個跳槽季都有不少的前端開發者蠢蠢欲動,經過對本篇知識的整理以及經驗的總結,但願能幫到更多的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 機制?

最後

學習和複習這件事情是須要堅持的,可是找準方向,正確的學習方法以及優質的資源都是很重要的。面試

先找準方向,搭建技術框架,填充,而後深刻鑽研,這樣堅持下去,成爲移動架構師不會只是夢。編程

上文中的面試題所有免費分享,已上傳至開源項目 【GitHub】,須要的朋友自取。

相關文章
相關標籤/搜索