前些天参加了阿里巴巴信息平台事业部的面试,将自己以及和别人交流的到的面试题做一个总结,方便以后查阅:
1. hash碰撞冲突是什么?如何解决碰撞问题!
原因: 在我们对对象进行hash运算时,会调用hashcode()方法,他会返回一个hash值,当两个对象
计算值一样时,这就发生了碰撞冲突。
解决方法:
a. 开放地址法
当发生冲突时,按照某种方法继续探测hash表中其他存储单元,直到找到
空为止。
b. 拉链法
主要两步骤:1 通过hashcode找到数组中的某一元素 2 通过key的equals方法在链表中找到对应的value.
c. 再哈希法
有多个不同的hash函数,当发生冲突时,使用第二个,第三个,直到无冲突。
d. 建立公共溢出区
这个较复杂,没能理解。
2. mybatis 如何自动生成crud操作?