Android高級面經[詳解]
絕對乾貨,每一篇都是Yim精心製作,相比晦澀難懂的技術文檔,以下文章都是Yim用簡單易懂的方式爲大家闡述,因爲小一覺得一篇讀不懂的blog是在浪費大家的時間,寫blog主要目的是爲了讓大家都能夠理解,能夠爲大家在工作中帶來一些啓發,而不是一味的寫一些看似高x格的blog來彰顯自己的技術有多牛x。
未完待續。。。大家也可以通過評論將一些大家遇到的問題向我提問。
Java基礎(JVM)
- String、StringBuffer、StringBuilder 的區別?String爲什麼是不可變的?
- Vector、ArrayList、LinkedList的原理和區別?
- HashTable、HashMap、TreeMap原理和區別?
- 常見編碼方式?utf-8編碼中的中文佔幾個字節?int型幾個字節?
- JVM(Java虛擬機)
- ThreadLocal 原理
- synchronize和volatile (Java併發編程:volatile關鍵字解析)
- 線程及線程池
數據結構/算法
- 棧 Stack
- 隊列 Queue
- 鏈表 Linked List
- 數組 Array
- 哈希表 Hash Table
- 二叉樹 Binary Tree
- 堆 Heap
- 並查集 Union Find
- 字典樹 Trie
- 二分搜索 Binary Search
- 分治 Divide Conquer
- 寬度優先搜索 Breadth First Search
- 深度優先搜索 Depth First Search
- 回溯法 Backtracking
- 雙指針 Two Pointers
- 動態規劃 Dynamic Programming
- 掃描線 Scan-line algorithm
- 快排 Quick Sort
計算機網絡
- 簡述TCP/IP體系?
- TCP與UDP區別與應用?
- GET,POST區別(計算機底層實現的區別)?
- Https 理論基礎及Https在Android中的應用(HTTPS 理論基礎及其在 Android 中的最佳實踐 , 淺談https\ssl\數字證書)
操作系統基礎—-視頻—–試題
linux系統—-視頻—–試題
Gityuan
Android基礎
系統相關
- Android系統啓動流程 ?
- Jvm、Art 和 Dalvik對比?
- 點擊 Android Studio 的 build 按鈕後發生了什麼?
- Android應用安裝到手機上時發生了什麼?
- Android應用啓動流程?
- Android進程和 Application 的生命週期及保活方案?
- Android的 Inter-Process-Communication (IPC)跨進程通信?
- Binder 機制?
- Handler 機制?
- Activity、Service、Fragment的生命週期和啓動模式?
- SP是進程同步的嗎?有什麼方法做到同步;
- SpareArray原理?
- App啓動流程
- 應用程序安裝到手機上時發生了什麼?
- 點擊 android Studio 的 build 按鈕後發生了什麼?
- Activty的加載過程?
- Android系統啓動流程 ?
- Art和Dalvik對比
- Android的 Inter-Process-Communication (IPC)跨進程通信;
- App是如何沙箱化,爲什麼要這麼做;
- 權限管理系統(底層的權限是如何進行管理 的);
- 進程和Application 的生命週期;
- 進程保活
架構相關
- 組件化
- 插件化
- 熱修復
- 換膚原理
View相關
- View工作原理?
- View的事件體系?
- SurfaceView和TextureView的區別?
- SurfaceView和TextureView的區別
- View繪製機制和加載過程
- Android事件分發機制,
- Recycleview/ Listview的區別,性能
- BroadcastReceiver,LocalBroadcastReceiver 區別
- Service、Fragment、Activity生命週期
- Bundle 機制
- Handler 機制
- HashMap源碼,SpareArray原理
- SP是進程同步的嗎?有什麼方法做到同步;
圖片加載相關
- Bitmap的加載原理?
- Android中的緩存策略?
- LruCache 底層原理?
- 圖片三級緩存
- 圖片加載原理;
- Bitmap的處理;
優化相關
- 內存回收機制與GC算法(各種算法的優缺點以及應用場景);
- 內存泄露場景及避免和解決方法
- Android性能優化
- Android網絡優化
- GC原理時機以及GC對象;
網絡相關
- TCP與UDP區別與應用;
- Https在Android中的應用;
開源庫
- Glide源碼解析
- Okhttp源碼解析
Android源碼—-羅昇陽(學習源碼思想)
Gityuan
六大原則和設計模式—android中的設計模式
- 單一職責原則
- 開閉原則
- 里氏替換原則
- 依賴倒置原則
- 接口隔離原則
- 迪米特原則
- 單例模式
- Builder模式
- 原型模式
- 工廠方法模式
- 抽象工廠模式
- 策略模式
- 狀態模式
- 責任鏈模式
- 解釋器模式
- 命令模式
- 觀察者模式
- 備忘錄模式
- 迭代器模式
- 模板方法模式
- 訪問者模式
- 中介者模式
- 代理模式
- 組合模式
- 適配器模式
- 裝飾漆器模式
- 享元模式
- 外觀模式
- 橋接模式
- MVC、MVP、MVVM 模式