面经与准备 如何做好面试题目准备,将面试成功率提高80% 面试前15个你最需要准备的问题,以及面试官背后隐藏的意思 Android 基础 Android 源码中的设计模式(你需要知道的设计模式全在这里) 全面了解Activity Service全面总结 IntentService使用详解和实例介绍 Fragment 全解析 ContentProvider实例详解 BroadcastReceiver使用总结 Android异步任务机制之AsycTask Android启动过程图解 Android 自定义View入门 Android 自定义ViewGroup入门实践 Android 缓存机制 Android 数据存储五种方式使用与总结 Android 异步消息处理机制源码解析 Android View事件分发机制源码分析 Android SQLite的使用入门 AIDL的使用情况和实例介绍 问题 Android5.0、6.0、7.0新特性 Android中弱引用与软引用的应用场景 Android长连接,怎么处理心跳机制 Asset目录与res目录的区别 Json优劣势 ListView优化 android中图片缓存 两类动画 五大布局易混淆知识 保证service不被杀死 加速启动activity 怎样退出终止App activity切换动画 Java 基础 ArrayList、LinkedList、Vector的区别 Excption与Error包结构,OOM和SOF HashMap和HashTable的区别 HashMap源码分析 Hashcode的作用 Map、Set、List、Queue、Stack的特点与用法 Object有哪些公用方法? Override和Overload的使用规则和区别 Switch能否用string做参数? ThreadLocal的使用规则和源码分析 ThreadPool用法与示例 equals与==的区别 try catch finally,try里有return,finally还执行么? 九种基本数据类型的大小,以及他们的封装类 从源码分析String、StringBuffer与StringBuilder区别和联系 多线程下生产者消费者问题的五种同步方法实现 实现多线程的两种方法 接口(Interface)与 抽象类 (Abstract)使用规则和区别 方法锁、对象锁和类锁的意义和区别 四种引用,强弱软虚,用到的场景 线程同步的方法:sychronized、lock、reentrantLock分析 集合框架的层次结构和使用规则梳理 面向对象的三个特征与含义 static的作用和意义 多态实现的JVM调用过程 wait()和sleep()的区别 git命令使用 算法 基础 二叉搜索树与双向链表 二叉树中 和为某值 的所有路径 二叉树的镜像 二维数组中的查找 二进制中1的个数 从上往下打印二叉树 从尾到头打印链表 判断二叉搜索树的后序遍历序列 判断栈的弹出序列 判断树B是不是树A的子结构 包含min函数的栈 反转链表 变态跳台阶 合并两个排序链表 复杂链表的复制 字符串中空格替换 字符串的顺序全排列 数组中出现次数超过一半的数字 斐波那契数列 旋转数组的最小数字 浮点数的整数次方 用两个栈实现队列 矩形覆盖 调整数组顺序使奇数位于偶数前面 跳台阶 重建二叉树 链表中倒数第k个结点 顺时针打印矩阵