java基础以及多个“比较”
1.Collections.sort排序内部原理
在Java 6中Arrays.sort()和Collections.sort()使用的是MergeSort,而在Java 7中,内部实现换成了TimSort,其对对象间比较的实现要求更加严格
2.hashMap原理,java8做的改变
从结构实现来讲,HashMap是数组+链表+红黑树(JDK1.8增加了红黑树部分)实现的。HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全。ConcurrentHashMap线程安全。解决碰撞:当出现冲突时,运用拉链法,将关键词为同义词的结点链接在一个单链表中,散列表长m,则定义一个由m个头指针组成的指针数组T,地址为i的结点插入以T(i)为头指针的单链表中。Java8中,冲突的元素超过限制(8),用红黑树替换链表。
3.String 和 StringBuilder 的区别
1)可变与不可变:String不可变,每一次执行“+”都会新生成一个新对象,所以频繁改变字符串的情况中不用String,以节省内存。
2)是否多线程安全:StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。StringBuffer和String均线程安全。
4.Vector 与 Array 的区别
1)ArrayList在内存不够时默认是扩展50% + 1个,Vector是默认扩展1倍。
2)Vector属于线程安全级别的,但是大多数情况下不使用Vector,因为线程安全需要更大的系统开销。
5.HashMap 与 Hashtable 的区别
1) 历史原因: Hashtable继承Dictonary类, HashMap继承自abstractMap
2) HashMap允许空的键值对, 但最多只有一个空对象,而HashTable不允许。
3) HashTable同步,而HashMap非同步,效率上比HashTable要高
面试题展示
1、JS中””与“=”的区别
2、final 在 java 中有什么作用?
3、java 中操作字符串都有哪些类?它们之间有什么区别?
4、对作用域上下文和this的理解。
5、Js中的prototype是什么?具体怎么用?
6、使用jquery如何找到所有的HTML select标签中的选中项。
7、Jquery.ajax()的异步请求与同步请求使用时有什么区别?
8、Ajax请求的时候get和post方式的区别?
9、CSS中margin、padding的作用、以及单参、双参、四参数在方向上的顺序。
10、mybatis 中 #{}和 ${}的区别是什么?
11、mybatis 有几种分页方式?
12、说一下 mybatis 的一级缓存和二级缓存?
13、mybatis 动态sql标签中循环标签中有哪些属性,各自的作用。
14、mybatis 动态sql中使用标签与直接写where关键字有什么区别?
15、请说明filter和inteceptor的区别。
16、Spring MVC中@requestMapping六个属性value\method\consumes\produces\params\headers的作用。
17、Spring mvc @ResponseBody什么时候使用、@PathVariable怎么用?
18、Spring @ Resource 和Autowired有什么区别?
19、Aop 中切面的切入时机有哪些、切点表达式的几种写法。
20、为什么要使用 spring?