超经典,百度最爱考的安卓Android百题
?這個(gè)系列計(jì)劃收集幾百份朋友和讀者的面經(jīng),作者合集方便查看,各位有面經(jīng)屯著可以聯(lián)系我哦
本系列歷史文章:
超經(jīng)典,阿里巴巴歷年高頻面試題匯總:前端崗
阿里巴巴歷年經(jīng)典面試題匯總:Java崗
學(xué)姐百度實(shí)習(xí)面經(jīng)
學(xué)姐,來挑戰(zhàn)字節(jié)最牛部門
最強(qiáng)阿里巴巴歷年經(jīng)典面試題匯總:C++研發(fā)崗
關(guān)于我的那些面經(jīng)——百度后端(附答案)
《關(guān)于我的那些面經(jīng)》滴滴Java崗(附答案)
朋友面神策數(shù)據(jù)庫,第五個(gè)問題不會(huì),直接再見
美女學(xué)姐面了美團(tuán)阿里京東,這些經(jīng)驗(yàn)實(shí)在太真實(shí)了
學(xué)姐騰訊產(chǎn)品面經(jīng)
學(xué)姐總結(jié)奇安信18k常問面試題
?
(1)、MVP模式的優(yōu)缺點(diǎn)
 (2)、圖片壓縮怎么做
 (3)、圖片緩存怎么做,解釋LruCache算法
 (4)、http協(xié)議?
 (5)、常用的排序算法,時(shí)間、空間復(fù)雜度
 (6)、java中多態(tài)的表現(xiàn)
 (7)、抽象類和接口的異同
 (8)、android 7.0和android N分別新增了什么內(nèi)容?
 (9)、算法題:字符串?dāng)?shù)組(可能很大)按字典序排序,不能用現(xiàn)有的類庫
 (10)、自定義控件的基本流程,每一步具體做什么
 (11)、介紹http協(xié)議,http的常用請(qǐng)求頭,OkHttp的優(yōu)點(diǎn)在哪?
 (12)、android中多線程怎么處理,handler機(jī)制
 (13)、多線程下載文件;多個(gè)線程寫同一個(gè)文件和多個(gè)線程分別寫單獨(dú)的文件然后最后合并這兩種做法的區(qū)別在哪?那種性能好?有什么更優(yōu)的方法嗎?
 (14)、斷點(diǎn)續(xù)傳文件怎么做?
 (15)、android中的性能優(yōu)化,布局、內(nèi)存等
 (16)、android中出現(xiàn)內(nèi)存泄漏的原因,怎么發(fā)現(xiàn)?
 (17)、解釋OOM的原因,如果當(dāng)前應(yīng)用可用內(nèi)存為20MB,而目前只用了10MB,請(qǐng)問這種情況有可能會(huì)發(fā)生OOM嗎?
 (18)、android中的跨進(jìn)程方式,binder原理,數(shù)據(jù)要拷貝幾次?android為什么要設(shè)計(jì)跨進(jìn)程?
 (19)、sleep()和wait()的區(qū)別
 (20)、為什么要使用設(shè)計(jì)模式?
 (21)、多線程訪問單例(雙重鎖寫法)會(huì)存在什么問題?怎么解決?
 (22)、使用SharedPreferences的get和put方法讀寫數(shù)據(jù)會(huì)面臨什么問題,IO性能方面怎么解決?
 (23)、一個(gè)應(yīng)用如何發(fā)現(xiàn)當(dāng)前局域網(wǎng)中別的也開啟了這個(gè)應(yīng)用的設(shè)備?
 (24)、android中CRASH和ANR的區(qū)別在哪?
 (25)、android中ANR是怎么發(fā)生的?系統(tǒng)又是如何發(fā)現(xiàn)有應(yīng)用ANR的?
 (26)、普通for循環(huán)和增強(qiáng)for循環(huán)的區(qū)別,以及使用的場(chǎng)景
 (27)、http2.0新增了什么內(nèi)容?
 (28)、當(dāng)需要加載一個(gè)類時(shí),在當(dāng)前classLoader中沒有找到該類會(huì)怎么樣?(雙親委派)如果最后也沒找到呢?(拋出異常ClassNotFound)拋出異常后又會(huì)怎么樣?
 (29)、解釋AtomicReference和compareAndSet。
 (30)、Apk如何瘦身,如何寫腳本去掉多余的資源,內(nèi)存如何優(yōu)化
 (31)、protobuffer 和json什么區(qū)別 分別適用于什么場(chǎng)景,自己設(shè)計(jì)一套通訊協(xié)議,如果盡量壓縮每個(gè)key?
 (32)、UI View渲染流程
 (33)、activity幾種啟動(dòng)模式
 (34)、手寫一個(gè)快排算法
 (35)、tcp三次握手 sack是什么
 (36)、服務(wù)器如何實(shí)現(xiàn)秒傳文件
 (37)、過度繪制怎么解決,如何發(fā)現(xiàn)內(nèi)存泄漏。
 (38)、final 有哪些用法。
 (39)、static哪些用法
 (40)、volatile什么用法
 (41)、select,epoll區(qū)別,epoll實(shí)現(xiàn)源碼(紅黑樹+就緒隊(duì)列),為什么用紅黑樹實(shí)現(xiàn),有哪些好處
 (42)、值類型和非值類型的理解。
 (43)、鎖有幾種
 (44)、synchronized 如果加到一個(gè)方法,另一個(gè)線程想訪問類中的其他方法行不行,如果兩個(gè)方法都加sync關(guān)鍵字,又是怎樣的訪問權(quán)限
 (45)、public 和默認(rèn)的 什么關(guān)鍵字都不加有什么區(qū)別
 (46)、進(jìn)程、線程、golang的協(xié)程的理解
 (47)、android service 和廣播的理解
 (48)、如果我們的應(yīng)用關(guān)閉了,或者根本沒打開過 還怎么收到推送
 (49)、了解過哪些開源框架
 (50)、android開發(fā)時(shí)候有沒用過什么框架或者什么設(shè)計(jì)模式
 (51)、app里面是否經(jīng)常用http和tcp
 (52)、http,tcp,https的連接過程
 (53)、linux異步和同步i/o是怎么實(shí)現(xiàn)的
 (54)、二叉樹的非遞歸實(shí)現(xiàn)(前序、中序、后序)
 (55)、給一個(gè)N*N的矩陣,找出2*2矩陣的和的最大值,時(shí)間復(fù)雜度?最優(yōu)?
 (56)、android藍(lán)牙連接(傳統(tǒng)藍(lán)牙,BLE藍(lán)牙),如何連接?
 (57)、JVM內(nèi)存分區(qū)(每部分異常會(huì)報(bào)什么錯(cuò)誤?)
 (58)、JVM垃圾回收算法(詳細(xì)介紹)
 (59)、https連接過程,握手過程
 (60)、對(duì)稱加密,非對(duì)稱加密
 (61)、android消息機(jī)制
 (62)、android事件分發(fā)機(jī)制?
 (63)、Volley框架機(jī)制說下,你能抽取出(學(xué)到)幾個(gè)技術(shù)點(diǎn)?
 (64)、binder實(shí)現(xiàn)機(jī)制。
 (65)、AIDL文件的用處,aidl生成的類有什么用?講下這個(gè)類做的事情和原理
 (66)、進(jìn)程之間是相互隔離的,那么從A進(jìn)程到B進(jìn)程使用binder進(jìn)行通訊,那么猜想下到底是怎樣做的呢?
 (67)、View的消息機(jī)制,對(duì)于ViewGroup和View有什么不一樣?
 (68)、事件攔截的話,可不可以從子View來進(jìn)行操作?。
 (69)、listView加上一個(gè)header實(shí)現(xiàn)下拉刷新的功能,要怎樣去實(shí)現(xiàn)?
 (70)、listView和header屬于不同的view,相互為兄弟View,外部套一個(gè)大的viewGroup,如何進(jìn)行事件分發(fā)?從初始態(tài)到用戶拉下出現(xiàn)header的過程來依次分析
 (71)、listView和header屬于同一個(gè)view層,那么下拉刷新又該如何實(shí)現(xiàn)?事件攔截又該如何去做?
 (72)、為什么java是要求是只能單一繼承?卻可以實(shí)現(xiàn)多個(gè)接口?
 (73)、抽象類屬性中什么場(chǎng)景下是優(yōu)點(diǎn)?什么場(chǎng)景下優(yōu)點(diǎn)又變成了缺點(diǎn)?
 (74)、使用接口什么場(chǎng)景下是優(yōu)點(diǎn)?什么場(chǎng)景下優(yōu)點(diǎn)又變成了缺點(diǎn)?
 (75)、網(wǎng)絡(luò)分層?7層,5層,4層,具體每層做什么
 (76)、ip是哪一層協(xié)議
 (77)、post與get的區(qū)別,get有長(zhǎng)度限制么?
 (78)、為什么要使用ip協(xié)議?直接使用mac地址連接不可以么?
 (79)、全球這么多廠商,生產(chǎn)的設(shè)備如果有重復(fù)的mac地址,你如何解決這個(gè)問題?網(wǎng)絡(luò)數(shù)據(jù)包傳輸會(huì)有什么問題
 (80)、你是網(wǎng)絡(luò)管理員,從英國(guó)的一臺(tái)電腦要打開中國(guó)的一個(gè)網(wǎng)頁,現(xiàn)在就是連接不上(dns正常可以解析到正確IP),你能考慮到哪些問題?
 (81)、你是衡水的手機(jī)號(hào),現(xiàn)在你在湖北,那么北京的手機(jī)號(hào)打你的手機(jī)為什么你可以接到電話?
 (82)、快排時(shí)間復(fù)雜度是多少?最差?平均?為什么時(shí)間復(fù)雜度是O(N*logN)?怎樣推導(dǎo)出來的?
 (83)、你對(duì)app推送有什么了解?如果是你來實(shí)現(xiàn)的話,你能怎么做?
 (84)、中國(guó)有13億人,對(duì)全國(guó)身份證號(hào)進(jìn)行排序,你會(huì)怎樣去做
 (85)、你上級(jí)讓你去安排一個(gè)日子來舉辦活動(dòng),要求這一天一定不能是周六或者周日,一定要在周一到周五之間,你如何判斷一年里面有哪些日子是合適的?
 ?
總結(jié)
以上是生活随笔為你收集整理的超经典,百度最爱考的安卓Android百题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        