BestReview
争取做到史上最全Android面试题库
Android | Java | Kotlin | 计算机系统 | 算法 | 工具 | 产品 | 服务器 |
---|---|---|---|---|---|---|---|
😊 | 😍 | 😌 | 😜 | 😙 | 😦 | 😕 |
Android
Android基础
- Android onSaveInstanceState 实时保存数据
- Android DecorView浅析
- Android中两种序列化方式的比较Serializable和Parcelable
- Jvm、Dalvik和Art的区别
- compileSdkVersion,targetSdkVersion和minSdkVersion三者的关系
- 自定义View,有这一篇就够了
- Activity-Window-View三者的关系
- 深入理解Message, MessageQueue, Handler和Looper
- 简析Window、Activity、DecorView以及ViewRoot之间的错综关系
- 简化Parcelable的使用
- ActivityThread
- Android进程间通信的几种方式
- 通用网络请求实现之HttpURLConnection和OkHttp
- 两个 Activity 之间跳转时必然会执行的是哪几个方法?
- Android系统中的五种进程
- Handler、Thread、HandlerThread三者的区别
- Android ListView与RecyclerView对比浅析
- SurfaceView和普通view的区别及简单使用
Android进阶
- 浅谈移动端 View 的显示过程
- ANDROID自定义视图——onMeasure,MeasureSpec源码 流程 思路详解
- Android事件分发机制详解:史上最全面、最易懂
- Android热更新实现原理浅析
- Android中图片的三级缓存详解
- 【Android】APT
- AOP如何实现及其原理
- 插件化理解与实现 —— 加载 Activity「类加载篇」
- ARouter原理剖析和自己实现EasyRouter
- APK安装流程概述
- 一个APP从启动到主页面显示经历了哪些过程?
- Android UI刷新机制
- android签名机制
Android优化
- Android界面性能调优手册
- Android内存优化——常见内存泄露及优化方案
- Android性能优化之优化layout的层级
- 用ConstraintLayout来优化Android的XML布局的层级
- 设计师必须注意的Android开发者选项之GPU过度绘制
- Androud 如何有效减少重复代码
- (Android Studio 3.0)Android Profiler内存泄漏检查
- Android布局优化:include 、merge、ViewStub的详细总结
- Android图片优化指南
- Android APP终极瘦身指南
- Android中的.apk之zipalign优化
架构
规范
测试
开源框架
- EventBus原理详解
- LiveData是如何做到在合适的时机刷新的
- 如何绑定页面生命周期(一)-Glide实现
- RxJava基本原理解析(一)
- 网络库Retrofit2原理简析
- LruCache 实现原理分析
- OkHttp 源码解析
- 一篇文章让你搞懂ButterKnife使用和原理
Java
Java基础
- java反射(特别通俗易懂)
- Java之动态编译,静态编译简单理解和实例
- 浅谈Java中的hashcode方法
- Object类有哪些方法?各有什么作用?
- java中实现多态的机制是什么?
- final修饰符有什么特点
- 成员变量存在堆中,局部变量存在栈中的理解
- String str = new String("abc")究竟创建了几个对象?
- JAVA中数组扩容的三种方式
- 阻塞队列与非阻塞队列
- String类的equals()与“==”的区别
- String类中的equals方法总结
- Java自定义类加载器与双亲委派模型
- 深入了解双端队列Deque
- new instance和new有什么区别
Java进阶
- IOC,依赖倒置 (理解) Spring依赖注入的实现技术是:动态代理
- 老大难的 Java ClassLoader,到了该彻底理解它的时候了
- 让你彻底理解Synchronized
- 并发编程之ThreadLocal、Volatile、synchronized、Atomic关键字扫盲
- 深入分析 Java 中的中文编码问题
- java泛型的作用及实现原理
Java优化
Java数据结构
- java集合(list,set,map)
- SparseArray与HashMap相比优缺点
- HashMap实现原理及源码分析
- HashMap、Hashtable和ConcurrentHashMap底层实现原理和线程安全问题
- ConcurrentHashMap实现原理
- 图解LinkedHashMap原理
- 单链表反转的两种实现(Java)
Java线程、多线程、线程池、并发
- Java常见面试题之多线程和高并发详解
- 从多线程的三个特性理解多线程开发
- Java中的多线程你只要看这一篇就够了
- 有了进程为什么还要线程?
- Java多线程----线程的同步,锁和死锁,问题以及解决方法(例子说明)
- 多线程读写文件的安全
- Java Runnable与Callable区别
JVM
- 可能是把Java内存区域讲的最清楚的一篇文章
- 搞定JVM垃圾回收就是这么简单
- Java GC工作原理以及Minor GC、Major GC、Full GC、GC收集相关算法整理
- GC算法
- Javassist动态编程
Kotlin
计算机系统
- 编程范式:命令式编程(Imperative)、声明式编程(Declarative)和函数式编程(Functional)
- HTTP与HTTPS的区别
- HTTP、TCP、UDP,Socket,HTTPS(史上最强理解,没有之一)