Android 題庫(kù)整理

一.圖片

1恒傻、圖片庫(kù)對(duì)比

2、LRUCache原理

3建邓、圖片加載原理

4盈厘、自己去實(shí)現(xiàn)圖片庫(kù),怎么做官边?

5沸手、Glide源碼解析

6外遇、Glide使用什么緩存?

7契吉、Glide內(nèi)存緩存如何控制大刑隆?

二.網(wǎng)絡(luò)和安全機(jī)制

1.網(wǎng)絡(luò)框架對(duì)比和源碼分析

2.自己去設(shè)計(jì)網(wǎng)絡(luò)請(qǐng)求框架栅隐,怎么做塔嬉?

3.網(wǎng)絡(luò)請(qǐng)求緩存處理,okhttp如何處理網(wǎng)絡(luò)緩存的租悄;

4.從網(wǎng)絡(luò)加載一個(gè)10M的圖片谨究,說(shuō)下注意事項(xiàng)

5.TCP的3次握手和四次揮手

6.TCP與UDP的區(qū)別

7.TCP與UDP的應(yīng)用

8.HTTP協(xié)議

9.HTTP1.0與2.0的區(qū)別

10.HTTP報(bào)文結(jié)構(gòu)

11.HTTP與HTTPS的區(qū)別以及如何實(shí)現(xiàn)安全性

12.如何驗(yàn)證證書(shū)的合法性?

13.https中哪里用了對(duì)稱加密,哪里用了非對(duì)稱加密泣棋,對(duì)加密算法(如RSA)等是否有了解?

14.client如何確定自己發(fā)送的消息被server收到?

15.談?wù)勀銓?duì)WebSocket的理解

16.WebSocket與socket的區(qū)別

17.談?wù)勀銓?duì)安卓簽名的理解。

18.請(qǐng)解釋安卓為啥要加簽名機(jī)制?

19.視頻加密傳輸

20.App 是如何沙箱化鸯屿,為什么要這么做寄摆?

21.權(quán)限管理系統(tǒng)(底層的權(quán)限是如何進(jìn)行 grant 的)修赞?

三.數(shù)據(jù)庫(kù)

1.sqlite升級(jí)柏副,增加字段的語(yǔ)句

2.數(shù)據(jù)庫(kù)框架對(duì)比和源碼分析

3.數(shù)據(jù)庫(kù)的優(yōu)化

4.數(shù)據(jù)庫(kù)數(shù)據(jù)遷移問(wèn)題

四.算法

1.排序算法有哪些括享?

2.最快的排序算法是哪個(gè)捞烟?

3.手寫(xiě)一個(gè)冒泡排序

4.手寫(xiě)快速排序代碼

5.快速排序的過(guò)程板驳、時(shí)間復(fù)雜度裁着、空間復(fù)雜度

6.手寫(xiě)堆排序

7.堆排序過(guò)程英古、時(shí)間復(fù)雜度及空間復(fù)雜度

8.寫(xiě)出你所知道的排序算法及時(shí)空復(fù)雜度换可,穩(wěn)定性

9.二叉樹(shù)給出根節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn),找出從根節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路徑

10給阿里2萬(wàn)多名員工按年齡排序應(yīng)該選擇哪個(gè)算法沾鳄?

11.GC算法(各種算法的優(yōu)缺點(diǎn)以及應(yīng)用場(chǎng)景)

12.蟻群算法與蒙特卡洛算法

13.子串包含問(wèn)題(KMP 算法)寫(xiě)代碼實(shí)現(xiàn)

14一個(gè)無(wú)序,不重復(fù)數(shù)組,輸出N個(gè)元素休弃,使得N個(gè)元素的和相加為M,給出時(shí)間復(fù)雜度塔猾、.空間復(fù)雜度。手寫(xiě)算法

15.萬(wàn)億級(jí)別的兩個(gè)URL文件A和B丈甸,如何求出A和B的差集C(提示:Bit映射->hash分組->多文件讀寫(xiě)效率->磁盤尋址以及應(yīng)用層面對(duì)尋址的優(yōu)化)

16.百度POI中如何試下查找最近的商家功能(提示:坐標(biāo)鏡像+R樹(shù))。

17.兩個(gè)不重復(fù)的數(shù)組集合中睦擂,求共同的元素。

18.兩個(gè)不重復(fù)的數(shù)組集合中杖玲,這兩個(gè)集合都是海量數(shù)據(jù),內(nèi)存中放不下摆马,怎么求共同的元素?

19.一個(gè)文件中有100萬(wàn)個(gè)整數(shù)囤采,由空格分開(kāi),在程序中判斷用戶輸入的整數(shù)是否在此文件中蕉毯。說(shuō)出最優(yōu)的方法

20.一張Bitmap所占內(nèi)存以及內(nèi)存占用的計(jì)算

21.2000萬(wàn)個(gè)整數(shù),找出第五十大的數(shù)字恕刘?

22.燒一根不均勻的繩抒倚,從頭燒到尾總共需要1個(gè)小時(shí)。現(xiàn)在有若干條材質(zhì)相同的繩子托呕,問(wèn)如何用燒繩的方法來(lái)計(jì)時(shí)一個(gè)小時(shí)十五分鐘呢?

23.求1000以內(nèi)的水仙花數(shù)以及40億以內(nèi)的水仙花數(shù)

24.5枚硬幣项郊,2正3反如何劃分為兩堆然后通過(guò)翻轉(zhuǎn)讓兩堆中正面向上的硬8幣和反面向上的硬幣個(gè)數(shù)相同

25.時(shí)針走一圈,時(shí)針?lè)轴樦睾蠋状?/p>

26.N*N的方格紙,里面有多少個(gè)正方形

27.x個(gè)蘋(píng)果着降,一天只能吃一個(gè)、兩個(gè)、或者三個(gè)蓄喇,問(wèn)多少天可以吃完?

五.插件化妆偏、模塊化、組件化钱骂、熱修復(fù)、增量更新见秽、Gradle

1.對(duì)熱修復(fù)和插件化的理解

2.插件化原理分析

3.模塊化實(shí)現(xiàn)(好處,原因)

4.熱修復(fù),插件化

5.項(xiàng)目組件化的理解

6.描述清點(diǎn)擊 Android Studio 的 build 按鈕后發(fā)生了什么

六.架構(gòu)設(shè)計(jì)和設(shè)計(jì)模式

1.談?wù)勀銓?duì)Android設(shè)計(jì)模式的理解

2.MVC MVP MVVM原理和區(qū)別

3.你所知道的設(shè)計(jì)模式有哪些张吉?

4.項(xiàng)目中常用的設(shè)計(jì)模式

5.手寫(xiě)生產(chǎn)者/消費(fèi)者模式

6.寫(xiě)出觀察者模式的代碼

7.適配器模式,裝飾者模式肮蛹,外觀模式的異同?

8.用到的一些開(kāi)源框架伦忠,介紹一個(gè)看過(guò)源碼的省核,內(nèi)部實(shí)現(xiàn)過(guò)程气忠。

9.談?wù)剬?duì)RxJava的理解

10.Rxjava發(fā)送事件步驟

11.RxJava的作用,與平時(shí)使用的異步操作來(lái)比的優(yōu)缺點(diǎn)

12.說(shuō)說(shuō)EventBus作用旧噪,實(shí)現(xiàn)方式,代替EventBus的方式

13.從0設(shè)計(jì)一款A(yù)pp整體架構(gòu)淘钟,如何去做?

14.說(shuō)一款你認(rèn)為當(dāng)前比較火的應(yīng)用并設(shè)計(jì)(比如:直播APP米母,P2P金融,小視頻等)

15.談?wù)剬?duì)java狀態(tài)機(jī)理解

16.Fragment如果在Adapter中使用應(yīng)該如何解耦毡琉?

17.Binder機(jī)制及底層實(shí)現(xiàn)

18.對(duì)于應(yīng)用更新這塊是如何做的?(解答:灰度桅滋,強(qiáng)制更新,分區(qū)域更新)?

19.實(shí)現(xiàn)一個(gè)Json解析器(可以通過(guò)正則提高速度)

20.統(tǒng)計(jì)啟動(dòng)時(shí)長(zhǎng),標(biāo)準(zhǔn)

七.性能優(yōu)化

1.如何對(duì)Android 應(yīng)用進(jìn)行性能分析以及優(yōu)化?

2.ddms 和 traceView

3.性能優(yōu)化如何分析systrace栅表?

4.用IDE如何分析內(nèi)存泄漏?

5.Java多線程引發(fā)的性能問(wèn)題怪瓶,怎么解決?

6.啟動(dòng)頁(yè)白屏及黑屏解決洗贰?

7.啟動(dòng)太慢怎么解決陨倡?

8.怎么保證應(yīng)用啟動(dòng)不卡頓敛滋?

9.App啟動(dòng)崩潰異常捕捉

10自定義View注意事項(xiàng)

11.現(xiàn)在下載速度很慢,試從網(wǎng)絡(luò)協(xié)議的角度分析原因,并優(yōu)化(提示:網(wǎng)絡(luò)的5層都可以涉及)兴革。

12.Https請(qǐng)求慢的解決辦法(提示:DNS,攜帶數(shù)據(jù)杂曲,直接訪問(wèn)IP)

13.如何保持應(yīng)用的穩(wěn)定性

14.RecyclerView和ListView的性能對(duì)比

15.ListView的優(yōu)化

16.RecycleView優(yōu)化

17.View渲染

18.Bitmap如何處理大圖,如一張30M的大圖咱揍,如何預(yù)防OOM

19.java中的四種引用的區(qū)別以及使用場(chǎng)景

20.強(qiáng)引用置為null,會(huì)不會(huì)被回收煤裙?

八.NDK、jni噪漾、Binder、AIDL欣硼、進(jìn)程通信有關(guān)

1.請(qǐng)介紹一下NDK

2.什么是NDK庫(kù)?

3.jni用過(guò)嗎?

4.如何在jni中注冊(cè)native函數(shù)分别,有幾種注冊(cè)方式?

5.Java如何調(diào)用c存淫、c++語(yǔ)言?

6.jni如何調(diào)用java層代碼桅咆?

7.進(jìn)程間通信的方式?

8.Binder機(jī)制

9.簡(jiǎn)述IPC?

10.什么是AIDL薛夜?

11.AIDL解決了什么問(wèn)題?

12.AIDL如何使用梯澜?

13.Android 上的 Inter-Process-Communication 跨進(jìn)程通信時(shí)如何工作的?

14.多進(jìn)程場(chǎng)景遇見(jiàn)過(guò)么渴析?

15.Android進(jìn)程分類?

16.進(jìn)程和 Application 的生命周期俭茧?

17.進(jìn)程調(diào)度

18.談?wù)剬?duì)進(jìn)程共享和線程安全的認(rèn)識(shí)

19談?wù)剬?duì)多進(jìn)程開(kāi)發(fā)的理解以及多進(jìn)程應(yīng)用場(chǎng)景

20.什么是協(xié)程?

九.framework層午磁、ROM定制、Ubuntu迅皇、Linux之類的問(wèn)題

1.java虛擬機(jī)的特性

2.談?wù)剬?duì)jvm的理解

3.JVM內(nèi)存區(qū)域,開(kāi)線程影響哪塊內(nèi)存

4.對(duì)Dalvik漏隐、ART虛擬機(jī)有什么了解?

5.Art和Dalvik對(duì)比

6.虛擬機(jī)原理青责,如何自己設(shè)計(jì)一個(gè)虛擬機(jī)(內(nèi)存管理,類加載脖隶,雙親委派)

7.談?wù)勀銓?duì)雙親委派模型理解

8.JVM內(nèi)存模型,內(nèi)存區(qū)域

9.類加載機(jī)制

10.談?wù)剬?duì)ClassLoader(類加載器)的理解

11.談?wù)剬?duì)動(dòng)態(tài)加載(OSGI)的理解

12.內(nèi)存對(duì)象的循環(huán)引用及避免

13.內(nèi)存回收機(jī)制产阱、GC回收策略、GC原理時(shí)機(jī)以及GC對(duì)象

14.垃圾回收機(jī)制與調(diào)用System.gc()區(qū)別

15.Ubuntu編譯安卓系統(tǒng)

16.系統(tǒng)啟動(dòng)流程是什么构蹬?(提示:Zygote進(jìn)程 –> SystemServer進(jìn)程 –> 各種系統(tǒng)服務(wù) –> 應(yīng)用進(jìn)程)

17.大體說(shuō)清一個(gè)應(yīng)用程序安裝到手機(jī)上時(shí)發(fā)生了什么

18.簡(jiǎn)述Activity啟動(dòng)全部過(guò)程

19.App啟動(dòng)流程,從點(diǎn)擊桌面開(kāi)始

20.邏輯地址與物理地址庄敛,為什么使用邏輯地址俗壹?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绷雏,一起剝皮案震驚了整個(gè)濱河市头滔,隨后出現(xiàn)的幾起案子涎显,更是在濱河造成了極大的恐慌,老刑警劉巖期吓,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異缺前,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)衅码,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門脊岳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)逝段,“玉大人割捅,你說(shuō)我怎么就攤上這事∴谇” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵儡蔓,是天一觀的道長(zhǎng)疼邀。 經(jīng)常有香客問(wèn)我喂江,道長(zhǎng)旁振,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任吉嚣,我火速辦了婚禮蹬铺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘丛塌。我一直安慰自己较解,他們只是感情好赴邻,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著奸焙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪与帆。 梳的紋絲不亂的頭發(fā)上墨榄,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音袄秩,去河邊找鬼。 笑死之剧,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的背稼。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蟹肘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了疆前?” 一聲冷哼從身側(cè)響起寒跳,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤童太,失蹤者是張志新(化名)和其女友劉穎胸完,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體赊窥,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡爆惧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年扯再,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熄阻。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖秃殉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钾军,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布拗小,位于F島的核電站,受9級(jí)特大地震影響砸泛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜唇礁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望围俘。 院中可真熱鬧,春花似錦界牡、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至平绩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捏雌,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工纬傲, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留满败,地道東北人叹括。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像领猾,于是被迫代替她去往敵國(guó)和親骇扇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351