android面試注意點

  • Java 基礎知識

    • 面向對象的基本思想前端

    • Object類相關:Object類的幾個關鍵函數、String涉及到的常量池概念,序列化 & 反序列化。算法

    • 重要關鍵字:final、static。數據庫

    • 內部類:內部類的分類、應用場景、內部類編譯成class後是怎麼樣的。編程

    • 抽象類 & 接口:區別、應用場景。設計模式

    • 編碼:編碼的目的、分類。緩存

    • 異常:異常體系、自定義異常。性能優化

    • 註解:註解的基本概念、分類、編譯時註解 & 運行時註解。微信

    • 容器:重要容器的內部實現、容器間的對比。網絡

    • 內存模型。多線程

    • 垃圾回收。

    • 類加載的過程。

    • 泛型:分類、通配符 & 上下邊界、泛型擦除。

    • 反射:使用。

  • Android 基礎知識

    • Dalvik、Art虛擬機

    • Activity:生命週期、launchMode。

    • Fragment:生命週期、懶加載、兩種Adapter之間的區別。

    • BroadcastReceiver:基本概念、廣播分類、權限。

    • Service:生命週期、onStartCommand的返回值、startService和bindService的區別、相同進程 & 不一樣進程的交互、IntentService實現原理。

    • 重要的工具類 & 源碼實現:AsyncTask、HandlerThread、Handler、IntentService、LruCache、LinkedHashMap、SparseArray。

    • RecyclerView:緩存原理、和ListView的對比、Adapter如何適配多種layout。

    • 存儲:數據庫升級 & 優化、ContentProvider,SharePreference。

    • SDK版本升級的兼容問題。

    • Android的權限管理機制。

  • 圖片

    • Bitmap相關:Bitmap的大小計算、質量、inJustDecodeBounds、inBitmap。

    • 幾種圖片格式的對比、壓縮。

    • 大圖加載:BitmapRegionDecoder

  • 算法

    • 別無捷徑,刷題,可是刷題的時候,要按照題的類型去總結。

  • 開源框架

    • RxJava:操做符的應用場景、重點操做符的內部實現、和RxJava的對比。

    • Glide:流程、緩存相關的實現。

    • Retrofit:流程、動態代理 & 註解解析。

    • OkHttp:流程、隊列實現、緩存實現。

  • 性能

    • 性能優化技巧:啓動速度優化、佈局優化、內存優化、電量優化、APK大小優化、列表滑動優化。

    • 性能優化工具:TraceView、Systrace、調試GPU過分繪製 & GPU呈現模式分析、Hierarchy Viewer、MAT、Memory Monitor & Heap Viewer & Allocation Tracker、LeakCanary、Lint。

    • ANR:ANR原理 & 源碼分析、舉一個處理ANR的例子。

    • 性能實踐:解決過的性能問題,從 遇到問題、分析問題、解決問題、結果 四個點進行闡述。

  • View

    • 繪製流程:measure、layout、draw三個關鍵流程。

    • 事件分發:事件分發的原理、處理過的滑動衝突問題。

    • 自定義View:Canvas & Path,實現過的比較複雜的自定義View。

  • 架構

    • MVP:MVP的思想 & 優劣勢、在項目中的應用、

  • 源碼

    • AMS

    • WMS

    • Binder

    • 應用打包流程

    • 應用啓動流程

    • 應用安裝流程

  • 網絡

    • 基礎知識:看一下對於 <<計算機網絡>> ,重點是網絡分層模型、TCP/UDP、HTTP/HTTPS。

  • 設計模式

按照23種網絡模型、三個分類進行總結,每種設計模式包含如下三個方面,至少要準備經常使用的幾個:

  • 基本概念:UML圖、簡單例子、應用場景、優點 & 劣勢。

  • Android源碼中的實現

  • 項目中的應用

  • 多線程

    • 看併發編程的藝術,這本書的目錄就是多線程最好的知識體系。

    • 遇到過的多線程問題、怎麼解決的。

  • Gradle

    • 經常使用配置。

    • 多渠道打包。

  • 插件化

    • 插件化的核心思想。

    • 幾種插件化框架實現的原理。

  • 組件化

    • 組件化的優點。

    • Arouter:使用方式、實現原理。

  • Kotlin

    • 有用到的能夠看看。

  • 多媒體

    • 音頻、視頻播放。

  • 大前端

    • ReactNative、Flutter:沒學過的能夠了解一下思想。

  • JNI

    • 調用實現方式

  • 此內容是摘抄郭大爺的微信公衆號內容。
相關文章
相關標籤/搜索