# 一面 ## 开闭原则 ## 简单工厂和工厂模式的区别 ## MySQL的隔离级别 ## MySQL的索引,原理 ## MySQL幻读和脏读的区别 ## Hashmap是不是线程安全的。 ## Hashmap的底层机制。除了拉链法,还有哪些解决冲突的方法。 ## static的用法 ## sleep和wait的区别 sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。 在调用sleep()方法的过程中,线程不会释放对象锁。 而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备 获取对象锁进入运行状态。 ## notify和notifyAll的区别 这个问题的主要考点在于锁池和等待池 http://blog.csdn.net/emailed/article/details/4689220 ## spring的底层思想是什么 ## 为什么会有GC? ## JVM的垃圾收集算法,以及年轻代、年老代是如何选择垃圾收集算法 新生代 复制算法 Eden、Survivor 老年代 标记整理/标记清除 ## HTTP是哪一层的? ## GET和POST的区别 ## 类加载的流程 ## 一次浏览器到服务器端的HTTP请求是怎么样的。 https://www.zhihu.com/question/34873227 ## 怎么加快HTTP请求的速度?