失踪人口终于更新了答案,我保证会更新完毕的!想直接看题目的小伙伴可以来这个传送门:应粉丝要求,请假一周,面了9家深圳非外包初级开发,只为刷一刷真题(文末有福利)
其实这道题面试官很聪明,我当时被问得哑口无言,其实也没答出来,后面面试官和我说了答案,小尴尬!
因为B+树会消耗磁盘的IO(没想到吧,我也懵了,现在对这道题还是一知半解,在网上没有比较好的资料。如果有小伙伴有自己的见解可以在评论区告诉我或者私信我)。
这道题就很中规中矩了,就是考察你对索引的了解。
详情可以参考:你真的了解MySQL了吗,那你给我说一下锁机制!,下面我说一下简单的概括:
数据库自增的id很难处理分布式存储的数据表。数据量特别大时,会导致查询数据库操作变慢。此时需要进行数据库的水平拆分,划分到不同的数据库中,那么当添加数据时,每个表都会自增长,导致主键冲突。
可以使用雪花算法得出来的ID。
不得不说,面试官很精,连环问,我喜欢!
这道题我当时也没有答出来,触及到了我的知识盲区,所以面试完赶紧去查了一下答案。
我们先来看看雪花算法的
雪花算法主要分为 5 个部分:
纯粹是问雪花算法的好处
生成有顺序的id,提高数据库的性能,现在大部分都不用uuid作为主键,因为不规则,每向数据库插入一条数据就要重新排列,使数据库性能降低。
这道题面试官让我讲讲原生的分布式适合如何处理。
我当时回答的很简单,就是两阶段提交。
二阶段提交协议是将事务的提交过程分成提交事务请求和执行事务提交两个阶段进行处理。
阶段1:提交事务请求
阶段二:执行事务提交
好啦,今天的6道题就都结束啦,答案写的比较简陋,如果有问题可以评论区见。