Build a distributed caching system similar to Redis or Memcached that provides high-speed key-value storage across multiple nodes.
Design the sharding strategy for distributing data across nodes. Consider consistent hashing, virtual nodes, and how to handle hot keys.