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.