Android面试指南
Java部分:
面向对象:
java中的四大特性是什么?
解释继承和多态?
java 支持多继承吗?如果不支持,如何实现?
方法重载和方法覆盖的区别?
基本知识:
java支持的基本类型有哪些?自动拆装箱是什么?
static和final的作用
什么是值传递和引用传递?
String 和StringBuffer,StringBuilder的区别
泛型:
java 的泛型以及泛型擦除是什么?
泛型中的非限定和限定泛型的区别
I/O:
熟悉常见的字节流和字符流类
反射:
什么是反射?反射机制是什么?
注解:
注解的概念以及元注解
容器:
常见的线程安全的容器有哪些?
HashMap和HashTable 的区别?
java中的hashMap的工作原理
并发:
进程和线程的区别?
创建线程的几种方法?有什么异同?
线程的几种状态间的转换
volatile和atomic有什么不同?
ThreadLocal 的原理
Thread类中的start和run 有什么区别
线程同步的方式
Callable和Runnable的区别
CurrentHashMap的工作原理
线程池的概念以及应用
原子性和可见性
死锁的必要条件
虚拟机:
java 中四种引用,以及应用场景
JVM内存分区,每个区的作用
java的垃圾回收机制和回收算法
java的类加载机制?和双亲委派模型
java的内存模型
Android部分:
四大组件:
Activity的生命周期
onSaveInstance和onRestoreInstanceState调用的时机和过程
onNewIntent 的调用
Activity 的四种启动模式
fragment的生命周期和Activity如何通信
广播的注册方式
View体系:
View 的绘制流程
touchEvent 的事件传递机制
自定义View 的流程,以及自己做过最复杂的View
消息传递机制:
Handler和Looper的使用和实现机制
HandlerThread的概念
进程间通信:
AIDL的工作流程
动画:
view动画和属性动画的区别
性能优化:
android 如何检查内存泄露
布局优化
数据存储:
数据库如何升级
网络请求:(xml,json)
框架源码分析:
Volley框架原理和源码分析
android动态加载框架原理
黑科技:
推送的实现?心跳包的实现
App如何防止被杀
混合开发:
html5和hybird的混合开发
新技术:
Rxjava是否用过
设计模式:
常用的设计模式?讲讲你最熟悉的
数据结构: