Design an E-commerce Platform
Build an online shopping platform similar to Amazon that handles product catalog, cart, checkout, and order fulfillment.
Functional Requirements
- Browse and search product catalog
- Add items to cart and wishlist
- Checkout with multiple payment options
- Order tracking and history
- Inventory management
- Product reviews and ratings
Non-Functional Requirements
- Handle Black Friday traffic spikes (100x normal)
- Cart persistence across sessions
- Consistent inventory (no overselling)
- Sub-second product page loads
Questions to Consider
- How do you handle inventory consistency at scale?
- What caching strategy for the product catalog?
- How do you design the checkout for reliability?