立刻步入金九銀十了,是時候看一些面試題去鵝廠了,接下來我將分享一些面試題,天天總結一點點,但願對你們有所幫助!html
參考連接:前端
https://blog.csdn.net/shu_lance/article/details/79566189java
答案: 能夠沿着回收機制來回答。ListView採用的是RecyclerBin的回收機制在一些輕量級的List顯示時效率更高android
參考連接:面試
存儲時:他們會找到相同的bucket位置,發生碰撞,由於HashMap使用鏈表存儲對象(每一個Map.Entry都有一個next指針),這個Entry會存儲在鏈表中。sql
獲取時:會用hashCode找到bucket位置,而後調用key.equals()方法找到鏈表中正確的節點.最終找到要找的值對象.數據庫
減小碰撞:使用final修飾的對象、或不可變的對象做爲鍵,使用(Integer、String)(是不可變、final的,並且已經重寫了equals和hashCode方法)這樣的wrapper類做爲鍵是很是好的,(咱們可使用自定義的對象做爲鍵嗎?答:固然能夠,只要它遵照了equals和hashCode方法定義規則,而且當對象插入到Map中以後將不會再改變。)設計模式
參考連接:數組
串行
參考連接:
參考連接:
參考連接:
一、構造函數私有 二、含有一個該類的靜態私有對象 三、有一個靜態的公有的函數用於建立或獲取它自己的靜態私有對象 四、其次纔是考慮線程同步!
參考連接:
參考連接:
https://blog.csdn.net/wenzhi20102321/article/details/53214315
Handler機制
MVP
廣播(動態註冊和靜態註冊區別,有序廣播和標準廣播)
service生命週期
handler實現機制(不少細節須要關注:如線程如何創建和退出消息循環等等)
多線程(關於AsyncTask缺陷引起的思考)
數據庫數據遷移問題
設計模式相關(例如Android中哪裏使用了觀察者模式,單例模式相關)
x個蘋果,一天只能吃一個、兩個、或者三個,問多少天能夠吃完
TCP與UDP區別與應用(三次握手和四次揮手)涉及到部分細節(如client如何肯定本身發送的消息被server收到) HTTP相關 提到過Websocket 問了WebSocket相關以及與socket的區別
是否熟悉Android jni開發,jni如何調用java層代碼
進程間通訊的方式
java註解
計算一個view的嵌套層級
項目組件化的理解
多線程斷點續傳原理
Android系統爲何會設計ContentProvider,進程共享和線程安全問題
jvm相關
Android相關優化(如內存優化、網絡優化、佈局優化、電量優化、業務優化)
EventBus實現原理
static synchronized 方法的多線程訪問和做用,同一個類裏面兩個synchronized方法,兩個線程同時訪問的問題
內部類和靜態內部類和匿名內部類,以及項目中的應用
handler發消息給子線程,looper怎麼啓動
View事件傳遞
activity棧
封裝view的時候怎麼知道view的大小
arraylist和linkedlist的區別,以及應用場景
怎麼啓動service,service和activity怎麼進行數據交互
下拉狀態欄是否是影響activity的生命週期,若是在onStop的時候作了網絡請求,onResume的時候怎麼恢復
view渲染
數據結構中堆的概念,堆排序
死鎖的概念,怎麼避免死鎖
ReentrantLock 、synchronized和volatile(n面)
HashMap
singleTask啓動模式
用到的一些開源框架,介紹一個看過源碼的,內部實現過程。
消息機制實現
ReentrantLock的內部實現
App啓動崩潰異常捕捉
事件傳遞機制的介紹
ListView的優化
二叉樹,給出根節點和目標節點,找出從根節點到目標節點的路徑
模式MVP,MVC介紹
斷點續傳的實現
集合的接口和具體實現類,介紹
TreeMap具體實現
synchronized與ReentrantLock
手寫生產者/消費者模式
邏輯地址與物理地址,爲何使用邏輯地址
一個無序,不重複數組,輸出N個元素,使得N個元素的和相加爲M,給出時間複雜度、空間複雜度。手寫算法
.Android進程分類
前臺切換到後臺,而後再回到前臺,Activity生命週期回調方法。彈出Dialog,生命值週期回調方法。
Activity的啓動模式
RxJava的功能與原理實現
RecycleView的使用,原理,RecycleView優化
ANR的緣由
四大組件
Service的開啓方式
Activity與Service通訊的方式
Activity之間的通訊方式
HashMap的實現,與HashSet的區別
JVM內存模型,內存區域
Java中同步使用的關鍵字,死鎖
MVP模式
Java設計模式,觀察者模式
Activity與Fragment之間生命週期比較
廣播的使用場景
Bitmap 使用時候注意什麼?
Oom 是否能夠try catch ?
內存泄露如何產生?
適配器模式,裝飾者模式,外觀模式的異同?
ANR 如何產生?
String buffer 與string builder 的區別?
如何保證線程安全?
java四中引用
Jni 用過麼?
多進程場景碰見過麼?
關於handler,在任何地方new handler 都是什麼線程下
sqlite升級,增長字段的語句
bitmap recycler 相關
強引用置爲null,會不會被回收?
glide 使用什麼緩存?
Glide 內存緩存如何控制大小?
如何保證多線程讀寫文件的安全?
Activity啓動模式
廣播的使用方式,場景
App中喚醒其餘進程的實現方式
AndroidManifest的做用與理解
List,Set,Map的區別
HashSet與HashMap怎麼判斷集合元素重複
Java中內存區域與垃圾回收機制
EventBus做用,實現方式,代替EventBus的方式
Android中開啓攝像頭的主要步驟
concurrenthashmap
volatile
synchronized與Lock
Java線程池
wait/notify
NIO
垃圾收集器
Activity生命週期
AlertDialog,popupWindow,Activity區別
String 爲何要設計成不可變的?
fragment 各類狀況下的生命週期
Activity 上有 Dialog 的時候按 home 鍵時的生命週期
橫豎屏切換的時候,Activity 各類狀況下的生命週期
Application 和 Activity 的 context 對象的區別
序列化的做用,以及 Android 兩種序列化的區別。
List 和 Map 的實現方式以及存儲方式。
靜態內部類的設計意圖。
線程如何關閉,以及如何防止線程的內存泄漏
軟引用、弱引用區別
垃圾回收
多線程:怎麼用、有什麼問題要注意;Android線程有沒有上限,而後提到線程池的上限
JVM
鎖
OOM,內存泄漏
ANR怎麼分析解決
LinearLayout、RelativeLayout、FrameLayout的特性、使用場景
如何實現Fragment的滑動
ViewPager使用細節,如何設置成每次只初始化當前的Fragment,其餘的不初始化
ListView重用的是什麼
進程間通訊的機制
AIDL機制
AsyncTask機制
如何取消AsyncTask
序列化
Android爲何引入Parcelable
有沒有嘗試簡化Parcelable的使用
AIDL機制
項目:拉活怎麼作的
應用安裝過程
某海外直播公司
線程和進程的區別?
爲何要有線程,而不是僅僅用進程?
算法判斷單鏈表成環與否?
如何實現線程同步?
hashmap數據結構?
arraylist 與 linkedlist 異同?
object類的equal 和hashcode 方法重寫,爲何?
hashmap如何put數據(從hashmap源碼角度講解)?
簡述IPC?
fragment之間傳遞數據的方式?
簡述tcp四次揮手?
threadlocal原理
內存泄漏的可能緣由?
用IDE如何分析內存泄漏?
OOM的可能緣由?
線程死鎖的4個條件?
差值器&估值器
簡述消息機制相關
進程間通訊方式?
Binder相關?
觸摸事件的分發?
簡述Activity啓動所有過程?
okhttp源碼?
RxJava簡介及其源碼解讀?
性能優化如何分析systrace?
廣播的分類?
點擊事件被攔截,可是相傳到下面的view,如何操做?
Glide源碼?
ActicityThread相關?
volatile的原理
synchronize的原理
lock原理
翻轉一個單項鍊表
string to integer
合併多個單有序鏈表(假設都是遞增的)
Android中數據存儲方式
微信主頁面的實現方式
微信上消息小紅點的原理
兩個不重複的數組集合中,求共同的元素。
上一問擴展,海量數據,內存中放不下,怎麼求出。
Java中String的瞭解。
ArrayList與LinkedList區別
堆排序過程,時間複雜度,空間複雜度
快速排序的時間複雜度,空間複雜度
RxJava的做用,與平時使用的異步操做來比,優點
Android消息機制原理
Binder機制介紹
爲何不能在子線程更新UI
JVM內存模型
Android中進程內存的分配,能不能本身分配定額內存
垃圾回收機制與調用System.gc()區別
Android事件分發機制
斷點續傳的實現
RxJava的做用,優缺點