PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/LinkedIn

Scale a Distributed Randomized Multiset

Last updated: Apr 6, 2026

Quick Overview

This question evaluates expertise in designing scalable distributed data structures, focusing on competencies such as data partitioning, request routing, fault-tolerant rebalancing, and achieving globally uniform random sampling across shards.

  • medium
  • LinkedIn
  • System Design
  • Software Engineer

Scale a Distributed Randomized Multiset

Company: LinkedIn

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

After designing the randomized multiset on a single machine, explain how you would scale it across multiple servers. The distributed system should support the same logical operations: - `insert(val)` - `remove(val)` - `getRandom()` Discuss how requests are routed to the correct server, how data is partitioned, how to rebalance data when servers are added or removed, and how to implement `getRandom()` so that the returned element is globally random across all stored occurrences, not just within one shard.

Quick Answer: This question evaluates expertise in designing scalable distributed data structures, focusing on competencies such as data partitioning, request routing, fault-tolerant rebalancing, and achieving globally uniform random sampling across shards.

Related Interview Questions

  • Review a Web Application Architecture - LinkedIn (easy)
  • Design a Top-K Ranking Service - LinkedIn (easy)
  • Design a Global Calendar Service - LinkedIn (medium)
  • Design a malicious-URL checking service using an isMalicious API - LinkedIn (medium)
  • Design a metrics platform without alerting - LinkedIn (medium)
LinkedIn logo
LinkedIn
Apr 2, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
11
0

After designing the randomized multiset on a single machine, explain how you would scale it across multiple servers.

The distributed system should support the same logical operations:

  • insert(val)
  • remove(val)
  • getRandom()

Discuss how requests are routed to the correct server, how data is partitioned, how to rebalance data when servers are added or removed, and how to implement getRandom() so that the returned element is globally random across all stored occurrences, not just within one shard.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More LinkedIn•More Software Engineer•LinkedIn Software Engineer•LinkedIn System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.