Katkat

Design a Product Search System

MicrosoftMachine Learning Engineer · Onsite

Last 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.