面试总结
这段时间面试算是明白了自己太水了!
感慨归感慨,还是需要好好的总结一下方向,毕竟后面还有一个阿里的面试,希望不会太惨!面试的内容主要两个方面,java基础和项目经验:前者是必问的,主要包括java集合框架、IO(NIO)、数据结构和算法、多线程、GC、JVM以及不同JDK版本之间的区别。后者主要包括在用的开源框架及数据库的原理及运用场景,比如Spring的IOC及AOP(惭愧,两年前面试也是在准备这个方面的内容,当时几乎没有一点项目经验,现在对于这块的理解依然是很少,这两年不知道咋瞎混过去的)。后面针对分类总结一下这些问题然后给出解答。
java基础篇
1.集合框架
- HashMap的实现方式与HashTable的区别 http://www.importnew.com/24822.html CurrentHashMap及TreeMap之间的区别
 
这里主要对Hash这种具体实现的考察,JDK中对此的实现是Entry 数组,对于相同的的Hash 采用链表的形式解决,所谓的“拉链法”
- ArrayList 与LinkList的区别,这两个其实没啥好说的,前者查询效率高,后者插入删除效率高,当然这两者都可以自动扩容,里面的机制值得注意一下
 - vecter
 
总的来说对于集合需要掌握具体的实现方式及涉及到的线程同步问题
2.数据结构与算法
- 快速排序的实现方式
 - 常见数据结构
 
3.IO/NIO
框架篇
1.SpringMVC
- SpringlMVC 是否是线程安全的?
 
- SpringMVC与Struts2 的区别?参考http://www.cnblogs.com/AmbitiousMice/p/5955700.html
 
这两个问题其实都是在考察对框架原理的理解。具体解答可以参照网友的详细文章。
2.Spring
- IOC (Inversion of Control)
 - AOP (Aspect Orient Programming )
 - 创建的实例是否都为单例?如果要创建多例该如何设置?这个涉及到springbean 的scope 属性问题 默认singleton ,可设置为 prototype多例
 - 里面用到的设计模式有哪些?
 - Spring的事务处理
 
3.Mybatis
数据库篇
1.Mysql 及Oracle 中关于分页查询的的语法,前者注意limit关键字,后者注意rownum及子查询的使用 参见 Oracle之分页查询
                    
                
                
            
        
浙公网安备 33010602011771号