PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/TikTok

Choose tools for scalable distributed systems

Last updated: Mar 29, 2026

Quick Overview

This question evaluates proficiency in designing scalable distributed systems, testing requirement analysis (latency, throughput, durability, consistency, availability, cost, query patterns) and tool selection across caching, databases, queues, stream processing, concurrency control, sharding, and observability.

  • medium
  • TikTok
  • System Design
  • Software Engineer

Choose tools for scalable distributed systems

Company: TikTok

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

You are asked systems/design-concepts questions based on real product scenarios. For each scenario below: 1) Identify the *main requirements* (latency, throughput, durability, consistency, availability, cost, query patterns). 2) Choose an appropriate tool/architecture (DB/cache/queue/search/stream processing/etc.). 3) Justify trade-offs and list at least 2 risks/pitfalls. ## Scenarios ### A) Caching and read scalability You have a read-heavy service with hot keys and strict p99 latency. How would you use a cache (e.g., Redis) and what cache strategy would you pick (cache-aside, read-through, write-through, write-back)? How do you prevent cache stampede and handle invalidation? ### B) Concurrency control A user can place an order and you must avoid overselling inventory under high concurrency. - When is **optimistic locking** appropriate vs **pessimistic locking**? - If you use Redis for coordination, how would you implement a correct distributed lock? ### C) Asynchronous processing You need to process events (e.g., payments, notifications) reliably without slowing down the request path. When do you pick: - a message queue - a log-based streaming platform - a task scheduler / cron ### D) Storage selection Pick a primary storage solution and justify: - relational DB vs key-value store vs document store - when you would introduce sharding and what shard key you would choose ### E) Observability and performance What metrics and dashboards would you define to prove the system scales? How would you debug rising tail latency?

Quick Answer: This question evaluates proficiency in designing scalable distributed systems, testing requirement analysis (latency, throughput, durability, consistency, availability, cost, query patterns) and tool selection across caching, databases, queues, stream processing, concurrency control, sharding, and observability.

Related Interview Questions

  • Design a distributed key-value store - TikTok (medium)
  • Design a content moderation system - TikTok (medium)
  • Design low-latency large-scale hotel booking system - TikTok (medium)
  • Explain SRE architecture and troubleshooting scenarios - TikTok (hard)
  • Design tables from metrics - TikTok (hard)
TikTok logo
TikTok
Feb 11, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
3
0
Loading...

You are asked systems/design-concepts questions based on real product scenarios. For each scenario below:

  1. Identify the main requirements (latency, throughput, durability, consistency, availability, cost, query patterns).
  2. Choose an appropriate tool/architecture (DB/cache/queue/search/stream processing/etc.).
  3. Justify trade-offs and list at least 2 risks/pitfalls.

Scenarios

A) Caching and read scalability

You have a read-heavy service with hot keys and strict p99 latency. How would you use a cache (e.g., Redis) and what cache strategy would you pick (cache-aside, read-through, write-through, write-back)? How do you prevent cache stampede and handle invalidation?

B) Concurrency control

A user can place an order and you must avoid overselling inventory under high concurrency.

  • When is optimistic locking appropriate vs pessimistic locking ?
  • If you use Redis for coordination, how would you implement a correct distributed lock?

C) Asynchronous processing

You need to process events (e.g., payments, notifications) reliably without slowing down the request path. When do you pick:

  • a message queue
  • a log-based streaming platform
  • a task scheduler / cron

D) Storage selection

Pick a primary storage solution and justify:

  • relational DB vs key-value store vs document store
  • when you would introduce sharding and what shard key you would choose

E) Observability and performance

What metrics and dashboards would you define to prove the system scales? How would you debug rising tail latency?

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More TikTok•More Software Engineer•TikTok Software Engineer•TikTok System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ 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.