Design distributed parallel job processing
LinkedInSoftware Engineer · Technical ScreenLast updated
This question evaluates understanding of distributed systems architecture, parallel job scheduling, fault tolerance, coordination and concurrency control, API and data model design, idempotency, observability, and capacity planning for multi-tenant, heterogeneous workloads.
Design a distributed system to execute many independent jobs in parallel across a cluster. Specify the job model and APIs, task partitioning/sharding strategy, scheduler and worker architecture, coordination (e.g., leases or heartbeats), fault tolerance and retries with backoff, idempotency and deduplication, progress tracking and result aggregation, scaling and resource management, backpressure and prioritization, and ordering guarantees. Discuss consistency trade-offs (at-least-once vs exactly-once), monitoring, and capacity planning.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.