一.算法
1.单链表翻转
https://blog.csdn.net/Ego_Bai/article/details/80567958?utm_source=blogkpcl11
二.java
1.值传递和引用传递的区别?
2. static的作用和使用方法?
3. HashMap和Hashtable的区别?以及ConCurrentHashMap,区别原理?
4. 抽象类和接口的区别?
5. 多线程的实现方式?Volatile和ThreadLocal的理解及其作用?
6. JAVA异常处理机制
7. 多态怎么体现的
8. map是怎么实现的?
https://segmentfault.com/a/1190000011351123
9. map与hash_map的区别?
https://zhidao.baidu.com/question/1899979592235797100.html
10.hashmap与hashtable与hashset的区别
HashSet HashTable HashMap的区别 及其Java集合介绍:http://www.cnblogs.com/ywl925/p/3865269.html
11.hashmap基本原理
数据结构采用数组加链表的结构,Hashmap是hash table的。
如何线程安全的使用HashMap:
http://www.importnew.com/21396.html
Hashtable
ConcurrentHashMap
Synchronized Map
三.多线程
四、怎么检测死锁
1.资源分配图
每个进程、每个资源制定唯一编号
设定一张资源分配表,记录各进程与占用资源之间的关系
设置一张进程等待表,记录各进程与要申请资源之间的关系
2.死锁定理
3.死锁检测中的数据结构