## 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面试题
- 一面
- 二面
- 三面