All Levels15 min readยท Topic 13.3

Mock interview questions bank

Tier 1-4 questions from beginner to AI-era, plus whiteboard rubric for self-evaluation

๐Ÿ“Key Takeaways

  • 1
    Tier 1 (Beginner): URL shortener, paste bin, rate limiter โ€” focus on fundamental concepts
  • 2
    Tier 2 (Intermediate): Chat system, news feed, notification system โ€” multi-component designs
  • 3
    Tier 3 (Advanced): Distributed KV store, Google Docs, Uber โ€” deep distributed systems knowledge
  • 4
    Tier 4 (Staff+): Design Kafka, design a CRDT system, design ML feature store โ€” novel system design

Practice Questions by Difficulty

The best way to prepare for system design interviews is to practice with a wide range of questions at increasing difficulty. For each question, time yourself (45 minutes), use the RESHADED framework, and self-evaluate using the rubric below.

Question Tiers

1. Design a URL Shortener (TinyURL) โ€” hashing, KV store, redirection

2. Design a Paste Bin โ€” text storage, expiration, share links

3. Design a Rate Limiter โ€” token bucket, sliding window, distributed state

4. Design a Key-Value Store โ€” in-memory with persistence, replication

5. Design a Task Queue โ€” producer-consumer, retry, dead letter queue

Focus: core concepts, single-service design, basic data flow

โœ…Self-Evaluation Rubric
After each practice: (1) Did I clarify requirements before designing? (2) Did I estimate scale? (3) Did I draw a clear high-level architecture? (4) Did I explain trade-offs for every decision? (5) Did I go deep on 2-3 critical components? (6) Did I identify and address bottlenecks? Score 1-5 on each. Aim for 4+ on all six.

Advantages

  • โ€ขTiered questions build skills progressively
  • โ€ขSelf-evaluation rubric provides objective feedback
  • โ€ขPracticing with time pressure simulates real interviews

Disadvantages

  • โ€ขSelf-practice lacks interviewer feedback
  • โ€ขQuestions alone don't teach โ€” study the underlying concepts first
  • โ€ขOver-practicing specific questions creates false confidence

๐Ÿงช Test Your Understanding

Knowledge Check1/1

What should you always do before starting to design in an interview?