金三銀四:請收好這份《中高級Android面試指南》
年前的你:

Java部分

第一節(jié) Java 基礎(chǔ)部分
“equals”與“==”、“hashCode”的區(qū)別和使用場景

談一談Java成員變量,局部變量和靜態(tài)變量的創(chuàng)建和回收時機?

第二節(jié) Java 集合
談?wù)凩ist,Set,Map的區(qū)別?

HashMap 的實現(xiàn)原理?

第三節(jié) Java 多線程
Java 中使用多線程的方式有哪些?

如何保證線程安全?

第四節(jié) Java 虛擬機
談一談JAVA垃圾回收機制?

簡述JVM中類的加載機制與加載過程?

Android部分

第一節(jié) Android 四大組件相關(guān)
Activity 與 Fragment 之間常見的幾種通信方式?
簡單介紹下ContentProvider是如何實現(xiàn)數(shù)據(jù)共享的?
Activity中onNewIntent方法的調(diào)用時機和使用場景?
?Intent傳輸數(shù)據(jù)的大小有限制嗎?如何解決?

第二節(jié) Android 異步任務(wù)和消息機制
?HandlerThread 的使用場景和用法?
AsyncTask的優(yōu)點和缺點?
子線程能否更新UI?為什么?
試從源碼角度分析Handler的post和sendMessage方法的區(qū)別和應(yīng)用場景?
第三節(jié) Android UI 繪制相關(guān)
談?wù)凙ndroid的事件分發(fā)機制?
談?wù)勛远xView的流程?
談一談Fragment懶加載?
談一談Activity,View,Window三者的關(guān)系?
請談?wù)凢ragment的生命周期?

第四節(jié) Android 性能調(diào)優(yōu)相關(guān)
談?wù)勀銓ndroid性能優(yōu)化方面的了解?
一般什么情況下會導(dǎo)致內(nèi)存泄漏問題?
哪些情況下會導(dǎo)致oom問題?
談?wù)勀闶侨绾蝺?yōu)化App啟動過程的?
談?wù)勅绾螌ebView進行優(yōu)化?

第五節(jié) Android 中的 IPC
請回答一下Android進程間的通信方式?
請談?wù)勀銓inder機制的理解?
談?wù)?AIDL?
第六節(jié) Android 系統(tǒng) SDK 相關(guān)
請簡要談?wù)凙ndroid系統(tǒng)的架構(gòu)組成?
什么是Lifecycle?請分析其內(nèi)部原理和使用場景?
請簡述Apk的安裝過程?
第七節(jié) 第三方框架分析
談一談LeakCanray的工作原理?
談一談RxJava背壓原理?

第八節(jié) 綜合技術(shù)
請談?wù)勀銓?MVC 和 MVP 的理解?
簡述下熱修復(fù)的原理?
什么是MVVM?你是如何將其應(yīng)用于具體項目中的?
第九節(jié) 數(shù)據(jù)結(jié)構(gòu)方面
什么是冒泡排序?如何優(yōu)化?
什么是紅黑樹?為什么要用紅黑樹?
第十節(jié) 設(shè)計模式
什么是代理模式?如何使用?Android源碼中的代理模式?
談一談單例模式,建造者模式,工廠模式的使用場景?如何合理選擇?
第十一節(jié) 計算機網(wǎng)絡(luò)方面
請簡述 Http 與 Https 的區(qū)別?
請簡述一次http網(wǎng)絡(luò)請求的過程?
為什么說Http是可靠的數(shù)據(jù)傳輸協(xié)議?
第十二節(jié) Kotlin方面
請簡述一下什么是 Kotlin?它有哪些特性?

Kotlin 中注解 @JvmOverloads 的作用?
在Kotlin中,何為解構(gòu)?該如何使用?
請談?wù)凨otlin中的Coroutines,它與線程有什么區(qū)別?有哪些優(yōu)點?
Kotlin中集合遍歷有哪幾種方式?
......

掃碼即可領(lǐng)取
