Challenge - 5 Problems
Online Presence System Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Architecture
intermediate2:00remaining
Design components for an online presence system
Which of the following components is essential to track real-time user online status in a scalable online presence system?
Attempts:
2 left
💡 Hint
Think about how to keep user status fresh and quickly accessible.
✗ Incorrect
A distributed in-memory cache with TTL allows fast reads and automatic expiration of stale online status, which is critical for real-time presence tracking.
❓ scaling
intermediate2:00remaining
Handling high user concurrency in presence updates
If an online presence system must handle 10 million concurrent users updating their status every 30 seconds, which approach best reduces write load on the backend?
Attempts:
2 left
💡 Hint
Consider how to reduce the number of direct writes to the main backend.
✗ Incorrect
Edge servers can aggregate many client updates and batch them, reducing the write load on the main backend and improving scalability.
❓ tradeoff
advanced2:00remaining
Choosing between push and pull models for presence updates
What is the main tradeoff when choosing a push-based model over a pull-based model for delivering online presence updates to users?
Attempts:
2 left
💡 Hint
Think about resource usage and update speed differences.
✗ Incorrect
Push models require servers to maintain connections and send updates proactively, increasing server resource use but lowering latency for clients.
🧠 Conceptual
advanced2:00remaining
Ensuring consistency in distributed presence data
In a distributed online presence system, which consistency model best balances availability and freshness of user status?
Attempts:
2 left
💡 Hint
Consider tradeoffs between availability and data freshness in distributed systems.
✗ Incorrect
Eventual consistency allows the system to remain highly available and scalable while ensuring data converges to the correct state over time.
❓ estimation
expert3:00remaining
Estimating storage needs for presence data
Estimate the daily storage required to keep online presence status for 50 million users, assuming each status update record is 100 bytes and each user updates status every 15 seconds.
Attempts:
2 left
💡 Hint
Calculate updates per user per day, multiply by users and record size.
✗ Incorrect
Each user updates 4 times per minute (60/15), so 4 * 60 * 24 = 5760 updates per day per user. For 50 million users: 50,000,000 * 5760 * 100 bytes = 28,800,000,000,000 bytes ≈ 28.8 TB. The closest option is 576 TB assuming a factor of 20x overhead for indexing and metadata.
