Question bankPricingSign in

Design a Distributed Lock Service

CoordinationMedium1:30

You have 90 seconds to verbally explain how you would design a distributed lock service for coordinating access to shared resources.

Your system should: - Provide mutual exclusion across processes/servers - Handle lock acquisition and release - Support lock timeouts to prevent deadlocks - Survive node failures - Be highly available

Explain your lock algorithm, storage backend, and failure handling.

How to approach it

  • Hint 1

    Use a consensus system like ZooKeeper, etcd, or Redis with Redlock algorithm

  • Hint 2

    Implement lock expiration with TTL (lease) to handle client crashes

  • Hint 3

    Consider fencing tokens to prevent stale lock holders from corrupting data

Ready to answer it out loud?

Record your answer in 1:30 and Preptile scores it 1–10 with specifics — what landed, what you skipped, and what to say next time.

Practising needs an invite code. Join the waitlist and we’ll send you one.