第一部分:
Android部分
开源框架
热修复实战之AndFix | LeakCanary原理解析 | Rxjava | Bugly让热修复变得如此简单 | OkHttp相关问题 |
Retrofit源码分析 | Glide全方位 |
DesignPattern(设计模式)
面向对象六大原则 | 单例模式 | Builder模式 | Android异步处理技术 | 观察者模式 |
访问者模式 | 原型模式 | 简单工厂 | 工厂方法模式 | 抽象工厂模式 |
静态代理和动态代理 |
Android性能优化
第二部分
JavaSE(Java基础)
JVM(Java虚拟机)
JVM基础知识 | JVM类加载机制 | Java内存区域与内存溢出 | 垃圾回收算法 |
JavaConcurrent(Java并发)
Java并发基础知识 | 生产者和消费者问题 | Thread和Runnable实现多线程的区别 | 线程中断 | 守护线程与阻塞线程 |
synchronized | 多线程环境中安全使用集合API | 实现内存可见的两种方法比较:加锁和volatile变量 | 死锁 | |
可重入内置锁 | java线程生命周期和多线程间通信wait(),notify(),notifyAll() | NIO | 线程池 | 线程安全 |
第三部分
DataStructure(数据结构)
数组 | 链表 | 栈和队列 | 字符串 | 树 |
二叉树的遍历 | java单链表 | java双向链表 |
Algorithm(算法)
排序 | java找出一个数组中出现次数最多的那个元素 |
查找
顺序查找 | 折半查找 |
剑指Offer
面试题2:实现Singleton模式 | 面试题6:重建二叉树 | 面试题11:数值的整数次方 | 面试题44:扑克牌的顺子 | 面试题45:圆圈中最后剩下的数字 |
第四部分
Network(网络)
TCP/UDP | HTTP | Socket | https认证过程 | HTTP 和 HTTPS 的区别 |
TCP/IP协议与Http协议的区别 |
OperatingSystem(操作系统)
Linux系统的IPC |
其他部分
Qt 5.9 与 Matlab 2017b 混合编程 | 前端概括 | C++概括 |