How the interviewer opens it
“Design product search for an e-commerce store. Customers need filters, sort options, and facets while prices, stock, and listings change.”
The prompt is vague on purpose. The first minutes are for you. Reduce the prompt to the core features and agree on the numbers before you draw.
What to clarify first
- Catalog size
- Traffic and read-to-write mix
- Search features and pages
- Products, variants, and prices
- Facet rules
- Freshness
- Latency
- Consistency and availability
- Durability
- Market and boundaries
The interviewer has the answers. In a SysRound round, Alex gives these answers, as a real interviewer does.
Scope of a strong answer
Core requirements
- Search products by keywords
- Filter products and sort the results
- Return facet values with product counts
- Reflect changes to listings, prices, and stock
Usually out of scope
- Checkout and stock reservations
- Recommendations and personal relevance
- Ads and sponsored products
- Merchant administration
What interviewers ask about
- Product matches and facet counts
- A product can have several variants, but one variant must satisfy all variant filters. Facet counts must count products without hiding other choices.
- Catalog update propagation
- Search receives duplicate and delayed changes while the catalog continues to change. An old update can restore a price or a removed listing.
- Search response time
- Broad queries require text matches, variant filters, exact facets, and sort across many products. Changes also affect the order of later pages.
- Search recovery
- A rebuild must copy the catalog while changes continue. A cutover can lose updates or restore removed products without a defined replay boundary.
Common mistakes
- Independent variant filters match attributes from different variants.
- Facet counts include variants or only the current page instead of distinct matching products.
- Separate catalog and index writes lose changes when one write fails.
- Old retries restore removed products or replace newer prices.
- Deep offsets cause high query cost and unstable pages.
- The design treats indexed price and stock as purchase guarantees.
The bar by level
- Senior (L5/E5)
- Preserves variant matches and exact facet counts. Handles revisions, retries, and removals. Defines stable pages and a measured latency and freshness budget.
- Staff (L6+/E6+)
- Defines safe rebuild boundaries, cutover, and rollback. Quantifies spare replay capacity and variant update cost. Defines service behavior during update delays, overload, and shard failure.