Pastebin
Problem Statement
Requirements
Functional Requirements
Non-Functional Requirements
Capacity Estimation
Traffic Estimates
Storage Estimates
Bandwidth Estimates
URL Key Size
API Design
1. Create Paste
2. Retrieve Paste
3. Delete Paste (Owner Only)
High-Level Design
Architecture Diagram
Detailed Component Design
1. Key Generation Service
Option A: Pre-generate Keys (Recommended)
Option B: Hash-based Generation
2. Database Schema
Metadata Table (PostgreSQL)
Why S3 for Content, Not DB?
3. Caching Strategy
4. Expiration & Cleanup
Lazy Deletion
Active Cleanup (Batch Job)
Read/Write Flow
Write Flow
Read Flow
Scalability & Optimization
1. Database Sharding
2. Read Replicas
3. CDN for Static Content
4. Rate Limiting
Security Considerations
1. Private Pastes
2. Input Validation
3. DDoS Protection
Trade-offs & Alternatives
Aspect
Choice
Alternative
Trade-off
Extensions
1. Syntax Highlighting
2. Paste History (User Accounts)
3. Analytics Dashboard
Interview Discussion Points
Last updated