主要是博主最近在面試,正好把面到的問題記錄一下,作爲筆記,下次複習的時候進行鍼對性複習
Android複習資料點這裏
面試題
1.你接觸的跨進程通信是什麼
博主答:目前接觸的比較多的是aidl,廣播,文件存儲這種
2.內存中如果加載一張500*500的png高清圖片.應該是佔用多少的內存
3.handler原理中的messageQueue的原理說一下
4.如果你自己寫一個垃圾回收算法,專門回收圖片,你會如何使用.
5.圖片的三級緩存中,圖片加載到內存中,如果內存快爆了,會發生什麼
按照java中的介紹,如果當內存不足的時候,會將前面所使用的對象進行回收.
6.圖片的壓縮你採用的有什麼
7.v3簽名key和v2還有v1有什麼區別
8.android9.0新特性有什麼
9.對於服務.如何去理解
10.系統架構,如果目前有一個項目,要求你來架構,你會如何設計
11.android中binder機制講解一下.
12.網絡數據存儲和用戶操作記錄存儲,你會用數據庫還是文件.爲什麼
13.如果加載圖片,android內存快滿了,你會如何去處理
15.android中fragment和activity.相比,fragment生命週期多了很多,有人說不好,有人說好,說說你的理解
16.android中.如果去將viewgroup的onTouchEvent事件攔截了,那麼view的onTouch還會走到嗎
17.實際開發中.8.0對通知做了什麼改變
18.intentservice一般用來做什麼
19.如果對相機的鏡頭做改造.要求你加上一些裝飾.你會怎麼做
20.mvp設計模式,如果項目龐大,v層和p層都很龐大.要怎麼做才能精簡,讓項目看起來舒服點
21.多線程中,讓你做一個單例,你會怎麼做
22.裝飾設計模式中,有門面設計,和代理模式,裝飾模式.詳細解釋一下
23.廣播的形式有幾種.分別應用場景有什麼
24.listview和recycleview的區別.
25.內存優化的方式.
26.單例有幾種,如果出現多線程,單例應該怎麼寫
27.線程同步的方式有幾種
28.多線程下載時如何完成的.
29.靜態內部類爲什麼會被回收
30.接口和抽象類的區別
31.接口是否繼承自object
32.枚舉類繼承object嗎
33.hashmap的key是如何精準定位到這一步的
34.looper對象是否能創建多個
35.looper原理
36.view的繪製流程
37.android的四種啓動方式,以及應用場景
38.android的啓動流程
39.android的加載流程
40.介紹一個你最熟悉的框架,以及單一activity和多fragment的優點.爲什麼不用view來代替fragment
Android-日常記錄-單Activity多Fragment的優點.
41.binder機制的原理講解一下
42.android原生的數據庫類名是什麼?如何更新
43.android的觸摸事件.viewpage和recycleview衝突解決,橫向recycleview和縱向recycleview事件衝突解決
44.單列數據結構和雙列數據結構的區別.
45.map的幾個實現類
46.hashmap和treemap的區別.
47.set和list的區別
48.hashmap的底層數組是如何確定其位置的.以及hashcode是否能夠重複
49.多線程初始化的方式有哪些
50.觸摸事件返回值是通過down事件還是move事件還是up事件來確定是否攔截的
51.內存溢出和內存泄漏
52.mvp中你的p層是如何回收
53.簡單說一下,socket和websocket以及socket.io的區別
53.mvc和mvp的優缺點
54.tcp和udp的原理
55.view如何控制viewgroup不攔截觸摸事件,的兩種實現方式
56.瞭解哪些Activity啓動模式的標記位?
57.手寫冒泡排序,並且在不考慮性能的情況下.用雙層for循環完成雙向冒泡排序.
58.手寫json文件解析,並且指出開發時應該注意點
59.android中全局異常如何抓取.
60.封裝p層之後.如果p層數據過大,如何解決
61.說一下原生數據庫的升級方式
62.如何進行斷點續傳,兩種方式
63.說一下最近的屏幕適配方案