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.