Design an E-Commerce Recommendation System from Browsing History
Company: Oracle
Role: Software Engineer
Category: ML System Design
Difficulty: medium
Interview Round: Onsite
# Design an E-Commerce Recommendation System from Browsing History
Design a large-scale recommendation system that uses users' browsing histories to rank products.
### Constraints & Assumptions
- Recommendations must respect availability and policy at serving time.
- Impression data is required to interpret clicks.
### Clarifying Questions to Ask
- Which surface and business metric matter?
- What latency, freshness, and cold-start requirements apply?
### What a Strong Answer Covers
- Event collection, candidates, ranking, features, feedback bias, evaluation, and serving.
- Fresh inventory filtering, fallbacks, diversity, and monitoring.
### Follow-up Questions
- How would anonymous sessions work?
- How would exploration be introduced safely?
Quick Answer: Design a large-scale recommendation system that uses users' browsing histories to rank products. Connect data and model choices to serving architecture, latency and throughput, evaluation, monitoring, failure modes, and iteration.