Design a Product Search System
MicrosoftMachine Learning Engineer · OnsiteLast updated
This question evaluates skills in designing scalable, low-latency product search systems, covering information retrieval, ranking model design, feature generation, data ingestion and indexing pipelines, and serving infrastructure.
Design a product search system for a large e-commerce marketplace.
Users enter free-text queries such as wireless headphones, apply filters such as price, brand, rating, and availability, and expect a ranked list of relevant products. The system should support frequent catalog updates, inventory and price changes, typo tolerance, synonyms, personalization, and relevance ranking.
Address the following:
- Functional requirements and non-functional requirements.
- Query-time flow from user request to ranked results.
- Product ingestion, indexing, and update pipelines.
- Retrieval strategy, including lexical and semantic retrieval.
- Ranking model design and feature generation.
- Online serving architecture, caching, scalability, and reliability.
- Offline and online evaluation metrics.
- Trade-offs you would make for latency, freshness, relevance, and cost.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.