Android進階面試題大全
- 網絡協定
-
- tcp/ip協定的分層
- http的包結構
- http的連接配接池
- http的三次握手,四次揮手
- https的介紹
- https的連接配接過程
- Java基礎
-
- JVM結構
- 基礎類型的記憶體占位
- gc的記憶體回收機制
- 堆和棧的概念
- 新生态和老年态
- 強,軟,弱,虛引用
- Collection的子集分布
- HashMap的存儲過程
- HashMap和HashTab的差別
- 多線程安全
- Android基礎
-
- App的啟動流程
- Activity的生命周期與Fragment的生命周期
- Service的啟動方式以及差別
- 廣播的分類以及實作原理
- Binder如何實作跨程序通信
- Handler的實作
- ActivityManagerService的了解
- WindowManagerService的了解
- View的繪制流程
- ViewGroup的事件傳遞和滑動沖突
- NesedScrollView的源碼說明
- 頁面優化
- Android的記憶體管理機制
- 記憶體洩露的說明和常見情況處理
- ANR的說明以及原理
- OOM常見原因和解決方案
- 熱更新技術與ClassLoader
- 多屏适配的方案及原理
- Android常見的存儲方式
- 著名開源架構原理
-
- Okhttp
- Retrofit
- Rxjava
- Glide
- ButterKnife
- EventBus
- 自動化建構以及Gradle
-
- gradle的生命周期
- 自定義task
- 設計模式
-
- MVC
- MVP
- MVVM
- 單例
- 觀察者
- 工廠模式
- Builder模式
- adapter
- Kotlin以及Jetpack
我将之前碰到的所有面試題總結出來,也是對自己知識體系的系統性總結:
網絡協定
tcp/ip協定的分層
TCP/IP 是一類協定系統,它是用于網絡通信的一套協定集合。
傳統上來說 TCP/IP 被認為是一個四層協定
-
網絡接口層:
主要是指實體層次的一些接口,比如電纜等。
-
網絡層:
提供獨立于硬體的邏輯尋址,實作實體位址與邏輯位址的轉換。
在 TCP / IP 協定族中,網絡層協定包括 IP 協定(網際協定),ICMP 協定( Internet 網際網路控制封包協定),以及 IGMP 協定( Internet 組管理協定)。
-
傳輸層:
為網絡提供了流量控制,錯誤控制和确認服務。
在 TCP / IP 協定族中有兩個互不相同的傳輸協定: TCP(傳輸控制協定)和 UDP(使用者資料報協定)。
-
應用層:
為網絡排錯,檔案傳輸,遠端控制和 Internet 操作提供具體的應用程式。
http的包結構
http的連接配接池
http的三次握手,四次揮手
https的介紹
https的連接配接過程
Java基礎
JVM結構
JVM被分為三個主要的子系統:
(1)類加載器子系統(2)運作時資料區(3)執行引擎
類加載器:啟動類加載器 (BootStrap class Loader)、擴充類加載器(Extension class Loader)和應用程式類加載器(Application class Loader) 這三種類加載器幫助完成類的加載。