PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/System Design/Instacart

Design product catalog service

Last updated: May 6, 2026

Quick Overview

This question evaluates a candidate's competence in large-scale system design, relational data modeling, API design, search and indexing, caching strategies, and consistency management for a read-heavy e-commerce product catalog.

  • hard
  • Instacart
  • System Design
  • Software Engineer

Design product catalog service

Company: Instacart

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

##### Question Design a product catalog service for an e-commerce platform: define high-level API endpoints (CRUD, search, bulk import), relational schema (including a self-join to model category hierarchies), and discuss scalability, caching, and consistency.

Quick Answer: This question evaluates a candidate's competence in large-scale system design, relational data modeling, API design, search and indexing, caching strategies, and consistency management for a read-heavy e-commerce product catalog.

Related Interview Questions

  • Design an inventory management system - Instacart (medium)
  • Design cloud storage with quotas and compression - Instacart (hard)
  • Design an e-commerce catalog - Instacart (medium)
  • Design scalable inventory system and avoid races - Instacart (hard)
  • Design an inventory system - Instacart (medium)
Instacart logo
Instacart
Aug 4, 2025, 10:55 AM
Software Engineer
Onsite
System Design
39
0

System Design: Product Catalog Service for an E-commerce Platform

Context

You are designing the product catalog service for a large consumer e-commerce platform with millions of SKUs and a hierarchical category tree (e.g., Grocery > Produce > Berries). The system is read-heavy, supports frequent merchant updates and bulk imports, and powers product detail pages, category browsing, and search.

Requirements

  1. APIs
    • CRUD for products, categories, and variants/SKUs.
    • Full-text search with filtering, sorting, pagination, and faceting.
    • Bulk import (asynchronous), with job tracking and idempotency.
  2. Data Model
    • Relational schema as the source of truth (PostgreSQL/MySQL).
    • Category hierarchy modeled via a self-join.
    • Many-to-many product–category mapping, support for variants, attributes, media, and brands.
  3. Non-Functional
    • Scalability for high read QPS and periodic write spikes (e.g., bulk imports, price updates).
    • Caching strategy (object cache, edge cache, search engine) and invalidation.
    • Consistency across the relational DB, cache, and search index; read-your-writes for admins.

Deliverables:

  • Define high-level API endpoints (CRUD, search, bulk import) with request/response examples.
  • Propose a relational schema including a self-join for category hierarchies.
  • Discuss scalability, caching, and consistency strategies.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Instacart•More Software Engineer•Instacart Software Engineer•Instacart System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.