中等
技术面试0 次浏览在华为的云服务业务中,需要实现一个简单的缓存系统。请设计一个缓存类,支持缓存数据的添加、获取和过期淘汰功能。
华为后端工程师
缓存系统Python数据结构
答题要点
使用面向对象设计的答题框架。关键要点:一是类的设计,定义一个缓存类,包含必要的属性和方法,如存储数据的字典、记录过期时间的字典等。二是添加功能,实现添加数据到缓存的方法,同时记录数据的过期时间。三是获取功能,实现从缓存中获取数据的方法,检查数据是否过期,若过期则删除并返回 None。四是过期淘汰,可在每次添加或获取数据时检查过期数据并删除,也可定期清理。示例思路:定义一个 Cache 类,有一个字典存储数据,另一个字典存储过期时间。添加数据时记录过期时间,获取数据时检查是否过期。如:class Cache: def __init__(self): self.data = {} self.expire = {}。