System Design

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/13

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

14 Terms

1
New cards

What does Chime expect you to consider under reliability?

  • Retries

  • Handling data loss

    • Component failure tolerance

2
New cards

What does availability mean in Chime’s rubric?

  • System should stay up and responsive

  • Use load balancing to route traffic across instances

3
New cards

What is Chime looking for when they mention exception handling?

  • How you gracefully handle errors and failures

  • Avoid crashes or user-facing disruptions

4
New cards

Why does Chime want you to consider logging and alerting?

  • Logging: track system behavior and events

  • Alerting: notify engineers when something breaks

5
New cards

What does Chime mean by horizontal scalability?

  • Add more machines to scale out

  • Useful for read-heavy or write-heavy systems under high load

6
New cards

When should you choose asynchronous processing at Chime?

  • To reduce latency for the user

  • When the operation doesn’t need to be immediate (e.g. check deposit backend confirmation)

7
New cards

How does caching help in Chime’s system design expectations?

  • Reduce latency or repeated reads

  • Offload database pressure

8
New cards

What is data redundancy, and why does Chime care?

  • Duplicate important data across regions or services

  • Helps with durability and disaster recovery

9
New cards

What is meant by capacity planning in a Chime interview?

Estimate system needs (RPS, data size, traffic spikes)

10
New cards

What’s the difference between synchronous and asynchronous processing?

Synchronous: caller waits for the result (e.g. login auth)

Asynchronous: caller doesn’t wait - result handled later (e.g. email send, background job)

11
New cards

When should you use asynchronous processing in system design?

  • For long-running or non-urgent tasks

  • To reduce latency for the user

  • To decouple components and improve system resilience

12
New cards

How do you implement data redundancy in system design?

  • Primary + replica databases

  • Cross-region replication

  • Event logs + eventual consistency

  • Cloud provider redundancy (e.g., AWS multi-AZ)

13
New cards

What inputs do you need for capacity planning?

  • Expected daily/monthly active users

  • Read/write request ratio

  • Peak vs average traffic

  • Latency requirements

  • Headroom for spikes

14
New cards

Why is capacity planning important?

  • Prevents bottlenecks and downtime

  • Ensures components are correctly sized

  • Guides autoscaling and resource allocation