2017下半年,一二線互聯(lián)網(wǎng)公司Android面試題匯總
阿里巴巴
LRUCache原理
圖片加載原理
模塊化實(shí)現(xiàn)(好處,原因)
JVM
視頻加密傳輸
統(tǒng)計(jì)啟動(dòng)時(shí)長,標(biāo)準(zhǔn)
凱子哥帶你學(xué)Framework Activity啟動(dòng)過程全解析
如何保持應(yīng)用的穩(wěn)定性
ThreadLocal 原理
任玉剛
Android的消息機(jī)制之ThreadLocal的工作原理
談?wù)刢lassloader
Android ClassLoader機(jī)制
Android動(dòng)態(tài)加載之ClassLoader詳解
Android動(dòng)態(tài)加載基礎(chǔ) ClassLoader工作機(jī)制
動(dòng)態(tài)布局
熱修復(fù),插件化
HashMap源碼,SpareArray原理
ArrayMap與SparseArray源碼分析
HashMap,ArrayMap,SparseArray源碼分析及性能對(duì)比
性能優(yōu)化,怎么保證應(yīng)用啟動(dòng)不卡頓
怎么去除重復(fù)代碼
SP是進(jìn)程同步的嗎?有什么方法做到同步
Android的SP存儲(chǔ),效率探究
介紹下SurfaceView
老羅的Android之旅
Android視圖SurfaceView的實(shí)現(xiàn)原理分析
HashMap實(shí)現(xiàn)原理,ConcurrentHashMap 的實(shí)現(xiàn)原理
BroadcastReceiver,LocalBroadcastReceiver 區(qū)別
Bundle 機(jī)制
Handler 機(jī)制
android 事件傳遞機(jī)制
線程間 操作 List
App啟動(dòng)流程,從點(diǎn)擊桌面開始
動(dòng)態(tài)加載
類加載器
OSGI
Https請(qǐng)求慢的解決辦法,DNS,攜帶數(shù)據(jù),直接訪問IP
GC回收策略
畫出 Android 的大體架構(gòu)圖
描述清點(diǎn)擊 Android Studio 的 build 按鈕后發(fā)生了什么
大體說清一個(gè)應(yīng)用程序安裝到手機(jī)上時(shí)發(fā)生了什么;
對(duì) Dalvik、ART 虛擬機(jī)有基本的了解;
Android 上的 Inter-Process-Communication 跨進(jìn)程通信時(shí)如何工作的;
App 是如何沙箱化,為什么要這么做;
權(quán)限管理系統(tǒng)(底層的權(quán)限是如何進(jìn)行 grant 的)
進(jìn)程和 Application 的生命周期;
系統(tǒng)啟動(dòng)流程 Zygote進(jìn)程 –> SystemServer進(jìn)程 –> 各種系統(tǒng)服務(wù) –> 應(yīng)用進(jìn)程
recycleview listview 的區(qū)別,性能
排序,快速排序的實(shí)現(xiàn)
樹:B+樹的介紹
圖:有向無環(huán)圖的解釋
TCP/UDP的區(qū)別
synchronized與Lock的區(qū)別
volatile
Java線程池
Java中對(duì)象的生命周期
類加載機(jī)制
雙親委派模型
Android事件分發(fā)機(jī)制
MVP模式
RxJava
抽象類和接口的區(qū)別
集合 Set實(shí)現(xiàn) Hash 怎么防止碰撞
JVM 內(nèi)存區(qū)域 開線程影響哪塊內(nèi)存
垃圾收集機(jī)制 對(duì)象創(chuàng)建,新生代與老年代
二叉樹 深度遍歷與廣度遍歷
B樹、B+樹
消息機(jī)制
進(jìn)程調(diào)度
進(jìn)程與線程
死鎖
進(jìn)程狀態(tài)
JVM內(nèi)存模型
并發(fā)集合了解哪些
ConCurrentHashMap實(shí)現(xiàn)
CAS介紹
開啟線程的三種方式,run()和start()方法區(qū)別
線程池
常用數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介
判斷環(huán)(猜測(cè)應(yīng)該是鏈表環(huán))
排序,堆排序?qū)崿F(xiàn)
鏈表反轉(zhuǎn)