## JVM方面
### java內存模型,五個部分,程序計數器、棧、本地棧、堆、方法區。
### 每個部分的概念、特點、作用。
### 類加載的過程,加載、驗證、準備、解析、初始化。每個部分詳細描述。
### 加載階段讀入.class文件,class文件時二進制嗎,為什么需要使用二進制的方式?
### 驗證過程是防止什么問題?驗證過程是怎樣的?加載和驗證的執行順序?符號引用的含義?
### 準備過程的靜態成員變量分配空間和設置初始值問題。
### 解析過程符號引用替代為直接引用細節相關。
### 初始化過程jvm的顯式初始化相關。
### 類卸載的過程及觸發條件。
### 三種類加載器,如何自定義一個類加載器?
### 雙親委派機制。
### JVM內存分配策略,優先放于eden區、動態對象年齡判斷、分配擔保策略等。
### JVM垃圾回收策略,怎樣判對象、類需要被回收?
### 四種垃圾回收算法標記-清除、復制、標記-整理、分代收集。
### JVM中的垃圾回收器,新生代回收器、老年代回收器、stop-the-world概念及解決方法。
### 四類引用及使用場景?
## 集合類
### hashmap實現的數據結構,數組、桶等。
### hashmap的哈希沖突解決方法:拉鏈法等。拉鏈法的優缺點。
### hashmap的參數及影響性能的關鍵參數:加載因子和初始容量。
### Resize操作的過程。
### hashmap容量為2次冪的原因。
### hashtable線程安全、synchronized加鎖。
### hashtable和hashmap異同。
### 為什么hashtable被棄用?
果斷將話題扯到concurrenthashmap,講了concurrenthashmap相比于hashtable做的優化、segment的概念、concurrenthashmap高效的原因。中間面試官問的問題:
### 容器類中fastfail的概念。
### concurrenthashmap的插入操作是直接操作數組中的鏈表嗎?
### 集合類相關over,由于都是自己主動在說,把握了主動權,相談甚歡。
- 空白目錄
- 自我介紹
- Android面試題
- Handler
- 網絡請求框架
- 圖片處理框架Picasso,Glide
- Android最佳性能實踐OOM
- 異步:RxJava,AsyncTask
- View,ViewGroup事件分發
- 消息傳遞:EventBus
- HTTPS和HTTP的區別
- 進程間通信的方式
- HttpClient與HttpUrlConnection的區別
- 性能優化
- Java多線程
- Fragment狀態保持和恢復
- 講解一下Context
- JNI
- java虛擬機和Dalvik虛擬機的區別
- 線程sleep和wait有什么區別
- 保存Activity狀態
- WebView與js交互(調用哪些API)
- 內存泄露檢測,內存性能優化
- 布局優化
- 自定義view和動畫
- 設計模式(單例,工廠,觀察者。作用,使用場景)
- String,Stringbuffer,Stringbuilder 區別
- 開源框架,為什么使用,與別的有什么區別
- Android大廠面試題
- 愛奇藝
- 小米
- 騰訊
- 阿里
- 今日頭條
- 共同問到的
- 其他問題
- 框架MVC、MVP、MVVM
- sleep和wait有什么區別
- React Native原理
- React Native面試題
- 數據結構
- Android開發
- 基礎知識
- Java基礎
- 數據結構
- 面向對象思想
- 設計模式
- 開發環境
- Android SDK
- Activity
- Service
- Broadcastreceiver
- Contentprovider
- ActionBar
- Fragment
- UI
- 通信
- 數據持久化
- 性能
- 調試
- 適配
- 測試
- 安全
- NDK
- 手機功能
- 第三方擴展
- 其他
- 2018 Java面試題
- Android(2017-2018)BAT面試題整理
- 2017下半年,一二線互聯網公司Android面試題匯總
- 2018阿里Android面試題
- 一面
- 二面
- 三面