Java面试必问

1. 图灵

1.1 聊聊哈希算法与HashMap

 1)一个优秀的哈希算法有什么特点?

快速、不可逆、敏感性、低碰撞性

2)自己写一个Hash算法

取模

3)Java中的Hash算法

HashMap,侧重点是速度

Object.hashCode,直接获取内存地址

Integer.hashCode,直接返回intValue

String.hashCode,根据字符串内存生成hashCode,字符串内容一样的hashCode也相同

4)其他场景中的Hash算法

MD4、MD5

SHA(SHA-1,SHA-224,SHA-256,SHA-384,SHA-512)

5)碰撞性及解决办法

md5在线解密

MD5碰撞案例

SHA1碰撞案例

再散列函数法

链地址法

 6)哈希算法的用途

哈希查找,哈希表

秒传

HashMap

加解密,MD5,SHA

Git

比特币、区块链

7)手写HashMap及源码分析

8)阅读HashMap源码

 

posted @ 2019-03-28 11:42  沙漏哟  阅读(231)  评论(0编辑  收藏