Design and implement a product recommendation system for an e-commerce platform.
Requirements:
- Recommend products based on user browsing history
- Consider purchase history
- Account for product categories
- Handle real-time updates
- Scale to millions of products and users
Discussion points:
- Algorithm choice (collaborative filtering vs content-based)
- Data storage and retrieval
- Performance optimization
- A/B testing approach