面试题答案
一键面试读操作处理
在渐进式rehash期间,读操作会同时检查新旧两个哈希表。如果在旧哈希表中找到对应的键值对,则直接返回。若未找到,则继续在新哈希表中查找。这样做能确保在rehash过程中,对已存在键的读取操作不受影响,保证数据读取的一致性和正确性。
写操作处理
- 新增键值对:新的键值对会直接被添加到新哈希表中,因为新哈希表才是未来使用的哈希表,这样能保证新数据的一致性和正确性。
- 更新键值对:如果要更新的键在旧哈希表中,会先将其从旧哈希表中删除,然后添加到新哈希表中。若键已在新哈希表中,则直接在新哈希表中更新,以此保证数据的一致性和正确性。
- 删除键值对:会同时在新旧两个哈希表中查找该键,若在旧哈希表中找到则删除,若在新哈希表中找到也删除,确保无论在哪个哈希表中都能正确删除,维护数据一致性。