12 Algorithms for System Design Interviews
Bloom Filter: Check if a requested item is in the cache before performing disk operations.Geohash: Used to build location-based services.HyperLogLog: Counting unique queries performed by users in a search.Consistent Hashing: Used for efficient data distribution between the cluster’s nodes.Merkle Tree: Used to detect inconsistencies between data replicas across multiple nodes.Raft Algorithm: Used to achieve consensus on log replication.Lossy Count: Network traffic analysis, web analytics, and identifying heavy hitters.QuadTree: Used to build location-based services.Operational Transformation: Used to support collaborative editing systems.Leaky Bucket: Used for rate limitingRsync: Synchronizing files and directories between two different systems.Ray Casting: Used for geospatial analysis, collision detection in video games, and computer graphics.
