Whenever you're ready, walk me through how you'd approach this.
Explain how you would handle locking and multi-threading in a distributed environment.
Cover the distinction between in-process thread synchronization and coordination across hosts, including lock ownership, leases, failures, and safe updates. Explain how your design prevents concurrent workers from corrupting shared state and what happens during pauses, crashes, retries, and network partitions.
Scope: discuss practical service-side design, storage coordination, and concurrency hazards rather than a specific programming language.