一个后端的问题:当在某一时刻产生了大量请求,如何为这些请求标识唯一的ID呢?(所谓大量在理论上来说是趋近于无穷的)
我的回答:
1、hash编码,最长可以到达32位,因为之前的时候在用SSM框架做项目的时候曾经用过这种方法来生成主键ID;面试官表示虽然是个不错的办法,但是生成的ID过于杂乱无章。
2、根据第一种方法的提示,又想到了时间戳的思路,精确到毫秒级的时间戳;面试官表示,这种方法存在一定局限性,如果在该毫秒内也有很多条并发的数据,这样是行不通的。PS:忘了说纳秒。
3、第二种方法配合random,但是存在小数点问题,而且上限也不好控制。
事后搜了一下,这两篇博客还是推荐大家去看的,毕竟后端这块,个人还是有些薄弱的:
https://blog.csdn.net/dream_coder_21/article/details/45198555
https://www.cnblogs.com/yelongsan/p/6306418.html
PS:2020-09-20 SF 前端