時光如梭,畢業快六年了,我始終耕耘在Android領域內,不斷精進技術,拓展項目經驗,努力讓自己走得更高更遠。最近金九銀十想著找一個新的工作,前前后后花了一個多月的時間復習以及面試,最近基本上差不多了,把部分大廠的面試經驗分享給大家,祝想找工作的同學都能去自己心儀的公司!
Android面題總體上說,有如下幾種面試題型:
- 基礎知識
- 算法題
- 項目經歷
- 場景題
不同崗位、不同面試官的側重點都會有所不同。這里就給大家分享一份Android中高級面試題合集,其內涵阿里巴巴、百度、騰訊、京東等國內一二線互聯網大廠的最新總結的面試題,及大牛最優解析。
大家可下拉查看面試題+解析!
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-93Iusqie-1665468087029)(C:\Users\admin\Desktop\115.jpg)]
注:完整版Android大廠面試題合集可點擊文末卡片領取!
一、Android真題及答案
Android組件
- Activity 相關
啟動模式以及使用場景?
onNewIntent()和onConfigurationChanged()
onSaveInstanceState()和onRestoreInstanceState()
Activity 到底是如何啟動的
啟動模式以及使用場景
詳細的解釋場景并且以及一些坑
onSaveInstanceState以及onRestoreInstanceState使用 簡單通透
onConfigurationChanged使用以及問題解決 全面得描述了各種情況
Activity 啟動流程解析
- Service 相關
進程保活
Service的運行線程(生命周期方法全部在主線程)
Service啟動方式以及如何停止
ServiceConnection里面的回調方法運行在哪個線程?
startService 和 bingService區別 完整講解了它們之間得區別
進程保活一般套路 把進程保活手段都講了一遍
關于進程保活你需要知道的一切 10萬+ 關于進程保活得文章
Fragment
Fragment 生命周期和 Activity 對比
Fragment 之間如何進行通信
Fragment的startActivityForResult
Fragment重疊問題
Fragment 初探
Fragment 重疊, 如何通信
Fragment生命周期
Handler 相關知識,面試必問!
常問的點:
Handler Looper Message 關系是什么?
Messagequeue 的數據結構是什么?為什么要用這個數據結構?
如何在子線程中創建 Handler?
Handler post 方法原理?
Android消息機制的原理及源碼解析 源碼角度完整解析
Handler 都沒搞懂,拿什么去跳槽啊?
Android Handler 消息機制(解惑篇)
Android 消息機制 郭神的文章
Android布局優化
什么情況下使用 ViewStub、include、merge?他們的原理是什么?
ViewStub、include、merge概念解析
Android布局優化之ViewStub、include、merge使用與源碼分析
BroadcastReceiver 相關
注冊方式,優先級
廣播類型,區別
廣播的使用場景,原理
Android廣播動態靜態注冊 通俗易懂
常見使用以及流程解析
廣播源碼解析
AsyncTask相關
AsyncTask是串行還是并行執行?
AsyncTask隨著安卓版本的變遷
AsyncTask完全解析 郭神的文章 一篇足夠 從使用到源碼
串行還是并行
Android 事件分發機制
onTouch和onTouchEvent區別,調用順序
dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法順序以及使用場景
滑動沖突,如何解決
事件分發機制 郭神出品
事件分發解析 鴻洋出品
dispatchTouchEvent, onTouchEvent,
onInterceptTouchEvent方法的使用場景解析
Android View 繪制流程
簡述 View 繪制流程
onMeasure, onlayout, ondraw方法中需要注意的點
如何進行自定義 View
view 重繪機制
Android LayoutInflater原理分析,帶你一步步深入了解View(一)
Android視圖狀態及重繪流程分析,帶你一步步深入了解View(二)
Android視圖狀態及重繪流程分析,帶你一步步深入了解View(三)
Android自定義View的實現方法,帶你一步步深入了解View(四)
別問我為什么推薦這么多郭神的文章,因為我是看著郭神的文章長大的!
Android Window、Activity、DecorView以及ViewRoot
Window、Activity、DecorView以及ViewRoot之間的關系
Android 的核心 Binder 多進程 AIDL
常見的 IPC 機制以及使用場景
為什么安卓要用 binder 進行跨進程傳輸
多進程帶來的問題
AIDL 使用淺析
binder 原理解析 真的不錯
binder 最底層解析 很難理解,我看了幾遍還是了解一個大概
多進程通信方式以及帶來的問題
多進程通信方式對比
Android 高級必備 :AMS,WMS,PMS
這部分真的復雜!
AMS,WMS,PMS 創建過程
AMS,WMS,PMS全解析
AMS啟動流程
WindowManagerService啟動過程解析
PMS 啟動流程解析
Android ANR
為什么會發生 ANR?
如何定位 ANR?
如何避免 ANR?
什么是 ANR
如何避免以及分析方法
Android 性能優化之 ANR 詳解
注:完整版Android大廠面試題合集可點擊文末卡片領取!
Android 內存相關
注意:內存泄漏和內存溢出是 2 個概念
什么情況下會內存泄漏?
如何防止內存泄漏?
內存泄漏和溢出的區別
OOM 概念以及安卓內存管理機制
內存泄漏的可能性
防止內存泄漏的方法
Android 屏幕適配
屏幕適配相關名詞解析
現在流行的屏幕適配方式
Android 緩存機制
LruCache使用極其原理
Android 性能優化
如何進行 內存 cpu 耗電 的定位以及優化
性能優化經常使用的方法
如何避免 UI 卡頓
我正在看極客時間的Android開發高手課,里面的性能優化文章不錯
Android MVC、MVP、MVVM
Android 組件化與插件化
業務大了代碼多了會用到
為什么要用組件化?
組件之間如何通信?
組件之間如何跳轉?
二、常見非技術類問題
除了上面整理的安卓高級技術問題,還有一些面試官喜歡問的點,大家針對準備回答:
- 你在項目中有遇到那些難點?如何解決的?
- 最近做的 APP 是如何架構的?為什么要這樣架構?
- 平時如何自我學習、技術進階?
- 你覺得自己目前處于什么技術水平?
- 你的技術優勢是什么?
其次更重要的是有的時候面試官問你問題如果你不會也很正常,不可能所有的問題我們都懂,但是我們必須有必要的思考過程,解決問題的過程與方式在職場中才是最重要的,而不是結果!這也是面試官最喜歡考察的。
暫時就整理這么多了,主要的安卓技術問題 都比較完善,算法以及 java 基礎問題由于篇幅原因暫未列出,
需要的可以查看我的個人介紹!!!