第1章 系統(tǒng)服務相關面試問題
本章重點講解系統(tǒng)核心進程鉴逞,以及一些關鍵的系統(tǒng)服務的啟動原理和工作原理相關的面試內容。
1 談談對zygote的理解
2 說說Android系統(tǒng)的啟動
3 你知道怎么添加一個系統(tǒng)服務嗎品追?
4 系統(tǒng)服務和bind的應用服務有什么區(qū)別?
5 ServiceManager啟動和工作原理是怎樣的绊起?
6 談談對AMS的理解
第2章 應用進程相關面試問題
本章主要講解應用進程的啟動芍阎,以及伴隨進程啟動過程中的一些重要機制的初始化原理叫编,比如binder機制辖佣,Application,以及Context等方面的面試問題搓逾。
1 你知道應用進程是怎么啟動的嗎卷谈?
2 應用是怎么啟用Binder機制的?
3 談談你對Application的理解
4 談談你對Context的理解
5 冷啟動App
第3章 Activity組件相關面試問題
這一章主要講解Activity相關的機制霞篡,包括Activity的啟動流程世蔗,顯示原理等相關面試問題,通過本章的學習朗兵,我們不但能熟悉它污淋,更能深入了解它。
1 說說Activity的啟動流程
2 說說Activity的顯示原理
3 應用的UI線程是怎么啟動的
第4章 其它應用組件相關面試問題
本章主要講除了Activity之外的應用組件相關面試問題余掖,包括service的啟動和綁定原理寸爆,靜態(tài)廣播和動態(tài)廣播的注冊和收發(fā)原理,provider的啟動和數(shù)據(jù)傳輸原理等等。
1 說說service的啟動原理
2 說說service的綁定原理-1
3 說說service的綁定原理-2
4 說說動態(tài)廣播的注冊和收發(fā)原理
5 說說靜態(tài)廣播的注冊和收發(fā)原理
6 說說Provider的啟動原理
第5章 UI體系相關面試問題
本章主要講UI體系相關面試問題赁豆,包括UI刷新機制仅醇,涉及到vsync和choreographer原理。另外還會講到surface的相關原理魔种,涉及到應用和WMS析二、surfaceFlinger通信。
1 說說屏幕刷新的機制-1
2 說說屏幕刷新的機制-2
3 surface跨進程傳遞原理
4 surface的繪制原理
5 你對vsync機制有了解嗎节预?
6 SurfaceView & View的區(qū)別叶摄,底層原理有何不同
第6章 進程通信相關面試問題
本章主要講進程通信相關面試問題,包括binder的整體架構和通信原理心铃,oneway機制准谚,binder對象的傳遞等等。
1 Android Framework用到了哪些跨進程通信方式
2 談談你對Binder的理解
3 一次完整的ipc通信流程是怎樣的
4 binder對象跨進程傳遞原理是怎么樣的
5 說一說binder的oneway機制
第7章 線程通信相關面試問題
本章主要講線程通信原理相關面試問題去扣,包括消息隊列的創(chuàng)建柱衔,消息循環(huán)機制,消息延時愉棱,同步和異步消息唆铐,消息屏障等等內容。
1 線程的消息隊列是怎么創(chuàng)建的奔滑?
2 說說android線程間消息傳遞機制
3 handler的消息延時是怎么實現(xiàn)的艾岂?
4 說說idleHandler的原理
5 主線程進入loop循環(huán)了為什么沒有ANR?
6 聽說過消息屏障么朋其?
7 多線程間通信和多進程之間通信有什么不同王浴,分別怎么實現(xiàn)?
第8章 技巧梅猿,心得相關
除了上面章節(jié)之外的所有問題氓辣,都會放在本章講到,除了原理之外袱蚓,還會分享一些代碼技巧钞啸。
1 怎么跨進程傳遞大圖片
2 說說threadLocal的原理
3 來說說looper的副業(yè)
4 怎么檢查線程有耗時任務
5 怎么同步處理消息
6 主線程&ApplicationThread
第9章 綜合性面試問題
本章主要是討論一些綜合性較強的面試題,這類題目不會問到具體某一塊原理喇潘,需要充分結合自己的思考和積累体斩,沒有唯一的答案。本章我們就來討論這些開放的題目該怎么答颖低,有哪些思路可以借鑒的絮吵。
1 你去了解framework是為了解決一個什么樣的問題,怎么解決的
2 Android Framework用到了哪些設計模式
3 Framework中有什么你覺得設計的很巧妙的地方忱屑,請舉例說明-1
4 Framework中有什么你覺得設計的很巧妙的地方源武,請舉例說明-2