GitHub 标星 3(1),腾讯 Android 开发面试记录
- 图 
- [散列查找 
- 排序 
- 海量数据处理 
[](
)算法
- 剑指 offer 
- LeetCode 
[](
)设计模式
- 创建型模式 
- 结构型模式 
- 行为型模式 
[](
)计算机网络
- TCP/IP 
- HTTP 
- HTTPS 
[](
)操作系统
- 概述 
- 进程与线程 
- 内存管理 
[](
)数据库
- SQL 语句 
[](
)面试题解析
========================================================================
[](
)第一章
[](
)Java 基础
- Java 集合框架 
- Java 集合——ArrayList 
- Java 集合——LinkedList 
- Java 集合——HashMap 
- Java 集合——TreeMap 
- Java 集合——LinkedHashMap 
- Java 泛型 
- Java 反射(一) 
- Java 反射(二) 
- Java 反射(三) 
- Java 注解 
- Java IO(一) 
- Java IO(二) 
- RandomAccessFile 
- Java NIO 
- Java 异常详解 
- Java 抽象类和接口的区别 
- Java 深拷贝和浅拷贝 
- Java transient 关键字 
- Java finally 与 return 执行顺序 
- Java 8 新特性 
 
 [](
)Java 并发
- Java 创建线程的三种方式 
- Java 线程池 
- 死锁 
- Synchronized/ReentrantLock 
- 生产者/消费者模式 
- volatile 关键字 
- CAS 原子操作 
- AbstractQueuedSynchronizer 详解 
- 深入理解 ReentrantLock 
- Java 并发集合——ArrayBlockingQueue 
- Java 并发集合——LinkedBlockingQueue 
- Java 并发集合——ConcurrentHashMap 
[](
)Java 虚拟机
- 对象的创建、内存布局和访问定位 
- Java 内存区域与内存模型 
- Java 类加载机制及类加载器详解 
- JVM 中垃圾收集算法及垃圾收集器详解 
- JVM 怎么判断对象是否已死? 
[](
)第二章 Android
[](
)Android 基础
- Activity 全方位解析 
- Service 全方位解析 
- BroadcastRecei 
ver 全方位解析
- ContentProvider 全方位解析 
- Fragment 详解 
- Android 消息机制 
- Android 事件分发机制 
- AsyncTask 详解 
- HandlerThread 详解 
- IntentService 详解 
- LruCache 原理解析 
- Window、Activity、DecorView 以及 ViewRoot 之间的关系 
- View 测量、布局及绘制原理 
- Android 虚拟机及编译过程 
- Android 进程间通信方式 
- Android Bitmap 压缩策略 
- Android 动画总结 
- Android 进程优先级 
- Android Context 详解 
 
 [](
)Android 进阶
- Android 多线程断点续传 
- Android 全局异常处理 
- Android MVP 模式详解 
- Android Binder 机制及 AIDL 使用 
- Android Parcelable 和 Serializable 的区别 
- 一个 APP 从启动到主页面显示经历了哪些过程? 
- Android 性能优化总结 
- Android 内存泄漏总结 
- Android 布局优化之 include、merge、ViewStub 的使用 
- Android 权限处理 
- Android 热修复原理 
- Android 插件化入门指南 
- VirtualApk 解析 
- Android 推送技术解析 
- Android Apk 安装过程] 
- PopupWindow 和 Dialog 区别 
 
 [](
)开源框架
- OkHttp 解析 
- Retrofit 解析 
- EventBus 解析 
 
 [](
)第三章 数据结构
- 线性表 
- 栈和队 
- 树 
- 树的基础 
- 其他常见的树 
- 并查集 
- B-树,B+树,B*树] 
- 图 
- 图的基础 
- 拓扑排序 
- Kruskal 算法 
- Prim 算法 
- Dijkstra 算法 
- Floyd 算法 
- 散列查找 
- 排序 
- 海量数据处理 
 
 [](
)第四章 算法
- 剑指 offer 
- 01.二维数组中的查找 
- 02.替换空格 
- 03.从尾到头打印链表 
- 04.重建二叉树 
- 05.用两个栈实现队列 
- 06.旋转数组的最小数字 
- 07.斐波那契数列 
- 08.二进制中 1 的个数 
- 09.打印 1 到最大的 n 位数 
- 10.在 O(1)时间删除链表节点 
- 11.调整数组顺序使奇数位于偶数前面 
- 12.链表中倒数第 K 个节点 
- 13.反转链表 
- 14.合并两个排序的链表 
- 15.树的子结构 
- 16.二叉树的镜像 
- 17.顺时针打印矩阵 
- 18.包含 min 函数的栈 
- 19.栈的压入、弹出序列 
- 20.从上往下打印二叉树 
- 21.二叉搜索树的后序遍历序列 
- 22.二叉树中和为某一值得路径 
- 23.复杂链表的复制 
- 24.二叉搜索树与双向链表 
- 25.字符串的排列 
- 26.数组中出现次数超过一半的数字 
- 27.最小的 k 个数 
- 28.连续子数组的最大和 
- 29.求从 1 到 n 的整数中 1 出现的次数 
- 30.把数组排成最小的数 
- 31.丑数 
- 32.第一个只出现一次的字符 
- 33.数组中的逆序对 
- 34.两个链表的第一个公共结点 
- 35.在排序数组中出现的次数 
- 36.二叉树的深度 
- 37.判断平衡二叉树 
- 38.数组中只出现一次的数字 
- 39.和为 s 的两个数字 
- 40.和为 s 的连续正数序列 
- 41.翻转单词顺序 
- 42.左旋转字符串 
- 43.n 个骰子的点数 
- 44.扑克牌的顺子 











 
    
评论