java面试准备个人笔记
仅用于本人面试前做一些梳理,逐步完善
准备内容:Java基础、Spring 、JVM、多线程、mysql及优化、数据结构与算法、其他
java基础
1.集合源码、原理及要点
- ArrayList
- LinkedList
- HashMap
- Hashtable
- ConcurrentHashMap
- HashSet
- LinkedHashMap
- LinkedHashSet
- TreeMap
参考文献: http://blog.csdn.net/qq_25868207/article/details/55259978
2.基础类型、包装类、Obejct、原子类
3.IO/NIO
Spring
- IOC(依赖注入):http://blog.csdn.net/taijianyu/article/details/2338311/
- Spring Core
- Spring Context
- Spring DAO
- Spring ORM
- Spring AOP
- Spring Web
- Spring Web MVC
JVM
- 1.java内存结构 http://blog.csdn.net/lengyuhong/article/details/5953544
- 2.垃圾回收 http://jbutton.iteye.com/blog/1569746
- 3.类加载器 https://blog.csdn.net/justloveyou_/article/details/72466105
- 4.高效并发
- 5.字节码
- 6.编码优化
- 7.调优实战 http://www.cnblogs.com/jackyrong/archive/2010/01/21/1653163.html 、http://blog.csdn.net/cutesource/article/details/5907418
参考:《深入理解java虚拟机·JVM高级特性与最佳实践》
多线程
- synchronized、ReetrantLock(对象锁、类锁、显式锁)
- 生产/消费模式
- volatile、Atomic类(可见性、原子性)
- 主内存、工作内存、ThreadLocal
- Executor、线程池 、阻塞队列
- Callable和Future
mysql优化
- 结构优化与索引优化:https://study.163.com/course/introduction/1003746011.htm
- 锁:http://blog.csdn.net/puhaiyang/article/details/72284702、
······https://www.cnblogs.com/luyucheng/p/6297752.html - 事务:https://www.cnblogs.com/otomedaybreak/archive/2012/01/27/2330008.html
数据结构与算法
1.数据结构
链表、堆栈、队列、树、图
树:http://www.cnblogs.com/maybe2030/p/4732377.html#_labelTop
2.算法
排序、查找、算法题:https://www.nowcoder.com/ta/coding-interviews?page=1
其他
- git
- Linux
- 网络原理
- 做过的项目
- MyBatis和Hibernate的优缺点对比:https://www.cnblogs.com/javacatalina/p/6590321.html
- 负载均衡、session同步、会话保持:https://www.cnblogs.com/panning/p/5859439.html
- redis数据结构、分布式锁、一致性哈希:http://www.yiibai.com/redis/redis_quick_guide.html
- 跨域(cors):http://www.ruanyifeng.com/blog/2016/04/cors.html
- 海量数据的处理
Bit-map、分而治之、hash映射、分布式处理(Hadoop)、Trie树、双层桶排序等