数据结构与算法
- 写一下二叉树反转,不使用递归
- 实现一个二分查找
- HashMap的实现原理,数据插入过程
- ConcurrentHashMap的实现原理,与HashTable的区别
设计模式
- 都了解过哪些设计模式
- 实现一个线程安全的单例,你还知道其他实现方式吗,哪个更好?
- 实现一个观察者模式
(附加考察点:内存泄漏,多线程) - 工厂模式使用场景
- 桥接模式使用场景
- 动态代理和静态代理的区别
网络相关
- get、post有什么区别
- http、https有什么区别
- https为什么安全
Java 相关
- int类型占用多少字节,boolean类型占用多少字节
- String、StringBuilder、StringBuffer区别及实现原理
- 四种引用都有什么,有什么区别?
- 抽象类和接口的区别
- 构造函数可以继承吗
- 序列化与反序列化的两种方式是什么,有什么区别?
- 说说对注解的理解
- 说说对volatile关键字的理解
- 对JVM内存模型了解
- 对JVM GC的了解
- Java锁有哪几种
Android 相关
- Activity生命周期
- Activity启动模式
- Fragment生命周期
- Fragment与Activity之间如何传值
- 有哪些场景会内存泄漏,怎么处理
- MVC、MVP有什么区别
- 事件分发机制
- View绘制机制
- 做过哪些性能优化
- Dalvik虚拟机与ART虚拟机的区别
- 插件化方案了解过哪些,原理是什么
- 热修复方案了解过哪些,方案是什么
- Android版本之间的差别
- Cursor实现原理