← eBay Interview Insights

eBay·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
May 2026

Summary

System design round at eBay for a software engineer role. The whole session was basically one giant question about building a marketplace backend, and they just kept pulling on threads until something unraveled.

Questions Asked (10)

Q1

Design the core APIs and data model for an online marketplace where users can list items and others can buy them.

System DesignData ModelingAPI & Integrations
Author's notes

I started with the listing entity and worked outward.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scope and requirements (e.g., scale, consistency needs, search functionality) before diving into the design. Then, propose a high-level architecture, define the core entities and their relationships, and design RESTful APIs for listing and purchasing items. Finally, discuss trade-offs and potential optimizations.

Pro tip: Emphasize idempotency and concurrency control in the purchase flow to prevent double-selling, and mention how you'd handle search and recommendations, as these are critical for eBay's marketplace.

1. Clarify Requirements

Ask questions to understand scale, consistency, latency, and features like search, bidding, and payments. This shows you can tailor the design to real-world constraints.

2. Define Data Model

Identify core entities (User, Item, Order, etc.) and their relationships. Choose appropriate database technologies (e.g., SQL for transactions, NoSQL for scale) and discuss indexing for search.

3. Design APIs

Define RESTful endpoints for listing items, searching, purchasing, and managing orders. Include request/response schemas, status codes, and authentication/authorization.

4. Address Key Challenges

Discuss concurrency (e.g., preventing double-selling), idempotency, scalability (sharding, caching), and consistency (e.g., eventual consistency for search).

5. Summarize and Trade-offs

Recap the design, highlight trade-offs made, and suggest potential improvements or extensions (e.g., microservices, event-driven architecture).

Key Points to Mention

  • Database choices: SQL for transactions (orders, payments) and NoSQL for product catalog and search (e.g., Elasticsearch).
  • API design principles: RESTful endpoints, versioning, pagination, and proper HTTP status codes.
  • Concurrency control: optimistic locking or transactions to prevent double-selling.
  • Idempotency: ensuring duplicate purchase requests don't result in multiple charges.
  • Scalability: sharding, caching, and read replicas for high traffic.
  • Search and recommendations: integration with search engines and personalized ranking.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

How would you design search and filtering for marketplace listings at scale?

System DesignTechnical Trade-offs
Author's notes

Talked about Elasticsearch as the search layer with a separate write path syncing from the primary DB.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale (e.g., QPS, data volume, latency SLOs), then propose a high-level architecture that separates write and read paths, using an inverted index for search and a columnar store for filtering. Discuss trade-offs between consistency, latency, and cost, and how to evolve the design as scale grows.

Pro tip: Emphasize the importance of a two-phase retrieval: first use an inverted index to get a candidate set, then apply filters and ranking. This avoids expensive full scans and is key to scaling.

1. Clarify Requirements and Scale

Ask about expected QPS, data size, latency requirements, consistency needs, and query types (keyword, filters, facets). This ensures the design meets actual needs.

2. High-Level Architecture

Propose a system with separate indexing pipeline (for writes) and query service (for reads). Use a distributed search engine (e.g., Elasticsearch) for text search and a columnar database (e.g., Cassandra, BigQuery) for filters.

3. Indexing and Data Modeling

Design the index schema: inverted index for text, doc values for filters, and denormalized fields for sorting. Discuss sharding, replication, and refresh strategies.

4. Query Execution and Optimization

Explain how queries are processed: parse, rewrite, retrieve candidates from index, apply filters, rank, and paginate. Mention caching, query planning, and avoiding deep pagination.

5. Trade-offs and Scaling

Discuss trade-offs: consistency vs. latency, index freshness vs. throughput, cost vs. performance. Cover scaling strategies: horizontal scaling, tiered storage, and read replicas.

Key Points to Mention

  • Inverted index for full-text search and its limitations for range/filter queries
  • Columnar storage for efficient filtering and aggregation
  • Sharding and replication strategies for horizontal scalability
  • Caching layers (e.g., Redis) for hot queries and results
  • Consistency models: eventual consistency for search vs. strong consistency for inventory
  • Ranking and relevance: combining text score with business signals (e.g., price, seller rating)

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Walk through your approach to image handling for user-uploaded listing photos.

System DesignTechnical Trade-offs
Author's notes

CDN plus object storage, resize on upload, generate multiple resolutions.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Structure your answer around the end-to-end lifecycle of an image: ingestion, processing, storage, delivery, and lifecycle management. Emphasize trade-offs at each stage, such as synchronous vs. asynchronous processing, storage tiers, and CDN strategies, while tying decisions back to eBay's scale and user experience.

Pro tip: Proactively discuss failure modes and cost implications—e.g., what happens if image processing fails, or how to optimize storage costs without sacrificing performance. This shows you think beyond the happy path and understand production realities.

1. Client-side validation and upload

Describe how to validate images on the client (file type, size, dimensions) to reduce server load, and choose an upload method (direct-to-S3 with pre-signed URLs vs. through API) based on security and scalability needs.

2. Asynchronous processing pipeline

Explain how to decouple upload from processing using a queue (e.g., Kafka, SQS) to handle resizing, format conversion, and thumbnail generation asynchronously, ensuring the user gets a fast response.

3. Storage and metadata management

Discuss storing original and processed images in object storage (e.g., S3) with appropriate tiers (hot vs. cold), and maintaining a metadata database (e.g., DynamoDB) for quick lookups and associations with listings.

4. Delivery and caching

Cover serving images via a CDN with cache-control headers, using responsive image techniques (srcset, WebP) to optimize for different devices, and implementing on-the-fly resizing or pre-generated variants.

5. Lifecycle and monitoring

Mention policies for deleting or archiving images when listings are removed, and monitoring pipeline health (e.g., queue depth, processing latency) to ensure reliability and cost efficiency.

Key Points to Mention

  • Trade-offs between synchronous and asynchronous processing (latency vs. complexity)
  • Use of pre-signed URLs for secure direct uploads to object storage
  • Image optimization techniques: compression, format selection (WebP/AVIF), and responsive resizing
  • CDN integration and cache invalidation strategies for fast global delivery
  • Storage tiering (hot vs. cold) and lifecycle policies to manage costs
  • Failure handling and retries in the processing pipeline to ensure reliability

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

How would you design a payments and escrow system for the marketplace?

System DesignTechnical Trade-offs
Author's notes

This one tripped me up more than I expected.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then design a high-level architecture that separates payment processing from escrow management, using idempotent operations and a ledger for consistency. Focus on trade-offs between consistency, availability, and latency, and explain how you would handle failures and reconciliation.

Pro tip: Emphasize idempotency and exactly-once processing for payment operations, as duplicate charges or missed payments are critical issues in marketplaces. Also, mention the importance of a double-entry ledger for auditability and reconciliation.

1. Clarify Requirements and Scale

Ask questions to understand expected transaction volume, supported payment methods, regulatory constraints, and escrow duration. This ensures the design meets business needs and scales appropriately.

2. High-Level Architecture

Outline core components: payment service, escrow service, ledger, and notification service. Explain how they interact and the data flow for a transaction.

3. Data Model and Consistency

Design a double-entry ledger for financial accuracy and discuss consistency models (e.g., strong consistency for balances, eventual consistency for notifications). Address idempotency keys to prevent duplicate operations.

4. Handling Failures and Edge Cases

Describe strategies for handling network failures, timeouts, and partial failures, including retries with exponential backoff, dead-letter queues, and reconciliation jobs.

5. Trade-offs and Scalability

Discuss trade-offs between consistency and availability (e.g., CAP theorem), and how to scale horizontally. Consider using a distributed transaction pattern like Saga for escrow release.

Key Points to Mention

  • Idempotency and exactly-once processing to avoid duplicate charges
  • Double-entry ledger for auditability and reconciliation
  • Escrow state machine (e.g., pending, held, released, refunded)
  • Integration with external payment providers (e.g., Stripe, PayPal) and handling their failures
  • Security considerations: PCI compliance, encryption, fraud detection
  • Monitoring, alerting, and reconciliation processes for financial systems

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q5

How do you manage inventory and item availability to prevent overselling?

System DesignData Modeling
Author's notes

Talked about atomic decrement in the DB with a check-and-set pattern, and mentioned distributed locks as an alternative if inventory lived across services.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scale and consistency requirements, then propose a layered architecture that combines strong consistency for inventory decrements with caching and asynchronous processing for high read throughput. Emphasize how you prevent overselling through atomic operations, reservations, and idempotency, while maintaining availability and performance.

Pro tip: Mention that overselling is often a business trade-off—sometimes allowing limited overselling with compensation (e.g., backorders) is acceptable, but for high-value items you need strict consistency. Show you understand the difference between preventing overselling and handling it gracefully.

1. Clarify Requirements and Constraints

Ask about scale (e.g., millions of items, high concurrency), consistency needs (strong vs eventual), and latency requirements. This shows you tailor the solution to the problem.

2. Design Data Model and Storage

Propose a schema that tracks inventory counts, reservations, and versioning. Consider using a relational database with ACID transactions for critical updates, or a distributed store with conditional writes.

3. Implement Atomic Decrement and Reservation

Describe how to atomically decrement stock using optimistic locking (version numbers) or pessimistic locking, and how to create time-bound reservations to hold items during checkout.

4. Handle Concurrency and Idempotency

Explain techniques like idempotency keys for order operations, distributed locks, and queue-based processing to serialize updates and avoid race conditions.

5. Ensure Scalability and Fault Tolerance

Discuss caching strategies (e.g., read replicas, Redis for hot items), sharding by item ID, and fallback mechanisms like eventual consistency with reconciliation to handle failures.

Key Points to Mention

  • Atomic operations (e.g., compare-and-swap, conditional updates) to prevent race conditions
  • Optimistic vs pessimistic locking and their trade-offs
  • Reservation systems with TTL to hold inventory during checkout
  • Idempotency to handle retries without double-decrementing
  • Caching and read replicas for high read throughput while ensuring cache coherence
  • Sharding and partitioning strategies to scale horizontally

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q6

What's your approach to fraud and abuse prevention in a marketplace?

System DesignTechnical Trade-offs
Author's notes

I covered the basics: velocity checks, device fingerprinting, flagging accounts with unusual listing patterns.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing fraud prevention as a risk management problem that requires balancing security with user experience and business goals. Then walk through a layered, data-driven system design that detects and mitigates fraud in real-time, and discuss key trade-offs such as false positives vs. false negatives and latency vs. accuracy.

Pro tip: Emphasize that fraud prevention is an adversarial problem: attackers constantly adapt, so your system must continuously learn and evolve. Mention the importance of feedback loops and human-in-the-loop review to improve models over time.

1. Understand the threat landscape

Identify common fraud types in marketplaces (e.g., fake listings, payment fraud, account takeover) and the actors involved. Clarify business impact and risk tolerance.

2. Design a layered defense system

Propose multiple layers: prevention (e.g., verification, rate limiting), detection (e.g., ML models, rules), and mitigation (e.g., holds, manual review). Explain how they work together.

3. Leverage data and signals

Describe key data sources (user behavior, transaction history, device fingerprints) and how to engineer features for real-time scoring. Mention the need for both batch and stream processing.

4. Address trade-offs and metrics

Discuss trade-offs like false positives vs. false negatives, latency vs. accuracy, and automation vs. manual review. Define success metrics (e.g., fraud rate, precision/recall, user friction).

5. Iterate and adapt

Explain how to build feedback loops, monitor model performance, and update rules/models to counter evolving threats. Highlight the importance of A/B testing and human review.

Key Points to Mention

  • Real-time scoring and decisioning with low latency (e.g., using streaming data and in-memory databases)
  • Machine learning models (supervised and unsupervised) for anomaly detection and classification
  • Rule-based systems for known fraud patterns and quick response to new threats
  • User behavior analytics and device fingerprinting to detect account takeover
  • Trade-offs: false positives (blocking legitimate users) vs. false negatives (allowing fraud), and how to tune thresholds
  • Feedback loops: incorporating manual review outcomes and user reports to retrain models
  • Scalability: handling high transaction volumes and ensuring system reliability
  • Privacy and compliance considerations (e.g., GDPR, PCI) when handling user data

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q7

How would you implement rate limiting across the marketplace APIs?

System DesignAPI & Integrations
Author's notes

Token bucket at the API gateway, keyed by user ID and IP.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements such as scale, API types, and rate limit policies. Then propose a distributed rate limiting solution using a centralized store like Redis, and discuss algorithms like token bucket or sliding window. Finally, cover implementation details including middleware, monitoring, and failure handling.

Pro tip: Emphasize the importance of graceful degradation and clear communication with API consumers through headers like X-RateLimit-Remaining and Retry-After. Also, mention the need for dynamic configuration to adjust limits without redeploying.

1. Clarify Requirements

Ask about the scale (requests per second), types of APIs (public, internal, partner), and desired rate limit policies (per user, per IP, per API key). Understand the consequences of exceeding limits and the need for different tiers.

2. Choose a Rate Limiting Strategy

Select an algorithm such as token bucket, leaky bucket, fixed window, or sliding window. Consider trade-offs between accuracy, memory usage, and burst handling. For eBay's scale, a distributed approach with Redis and sliding window or token bucket is suitable.

3. Design the Distributed Architecture

Use a centralized data store like Redis to maintain counters across multiple API servers. Implement atomic operations (e.g., Lua scripts) to avoid race conditions. Consider sharding or clustering for high availability and scalability.

4. Implement Middleware and Enforcement

Integrate rate limiting as middleware in the API gateway or application layer. Extract identifiers (API key, user ID, IP) and check against limits. Return 429 Too Many Requests with appropriate headers when limits are exceeded.

5. Monitor, Alert, and Iterate

Set up monitoring for rate limit hits, latency, and Redis performance. Use metrics to adjust limits and identify abuse. Implement logging and alerting for anomalies. Ensure the system can degrade gracefully if Redis is unavailable.

Key Points to Mention

  • Distributed rate limiting using Redis with atomic operations (Lua scripts)
  • Choice of algorithm (e.g., token bucket for burst handling, sliding window for accuracy)
  • Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After) for client awareness
  • Handling of different identifiers (API key, user ID, IP) and tiers (free vs. paid)
  • Graceful degradation and fallback strategies if the rate limiter fails
  • Dynamic configuration and monitoring to adjust limits in real-time

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q8

Describe your observability strategy for this system, covering metrics, logging, and alerting.

System DesignProduct Analytics & Metrics
Author's notes

Went through the standard triad: structured logs, distributed traces, and metrics with percentile latency alerts.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing observability around the system's key user journeys and SLOs, then describe how metrics, logs, and alerts work together to detect and diagnose issues. Emphasize a layered approach: metrics for detection, logs for diagnosis, and alerts for actionable response, tailored to eBay's scale and e-commerce criticality.

Pro tip: Tie every metric and alert to a user-facing SLO and explicitly discuss reducing alert noise through aggregation and intelligent thresholds—this shows you understand production maturity beyond just tooling.

1. Define SLOs and Critical User Journeys

Identify the most important user flows (e.g., search, checkout) and set measurable SLOs for latency, error rate, and availability. This anchors all observability decisions.

2. Instrument Metrics with the Four Golden Signals

Collect latency, traffic, errors, and saturation metrics at every layer (service, host, dependency). Use histograms for latency and counters for errors to enable percentile analysis.

3. Implement Structured Logging with Correlation IDs

Emit structured logs (JSON) with consistent fields and propagate a request ID across services. This enables fast root-cause analysis and trace reconstruction.

4. Design Actionable Alerts Based on SLO Burn Rates

Alert on symptoms (e.g., SLO violation) rather than causes, using multi-window burn-rate alerts to balance sensitivity and noise. Route alerts to the right on-call teams with runbooks.

5. Close the Loop with Dashboards and Postmortems

Create dashboards for real-time monitoring and trend analysis, and use incident postmortems to refine metrics, logs, and alert thresholds continuously.

Key Points to Mention

  • SLOs and error budgets as the foundation for alerting and prioritization
  • The four golden signals: latency, traffic, errors, and saturation
  • Structured logging with correlation IDs for distributed tracing
  • Alerting on burn rates and symptoms, not causes, to reduce noise
  • Use of open-source tools like Prometheus, Grafana, and ELK stack, and how they integrate
  • Scalability considerations for high-volume e-commerce traffic (e.g., sampling, aggregation)

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q9

How would you scale this system using partitioning, indexing, caching, and a CDN?

System DesignTechnical Trade-offs
Author's notes

Partitioned the orders table by user ID, talked through hot partition problems with power sellers, and suggested a hash-range hybrid.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the system's requirements and current bottlenecks, then systematically address each scaling technique (partitioning, indexing, caching, CDN) with trade-offs and eBay-specific considerations. Conclude by discussing how these techniques work together and potential challenges in implementation.

Pro tip: At eBay, emphasize how partitioning and caching can handle the massive scale of listings and bids, and mention real-world constraints like data consistency and cost. Show awareness of eBay's specific architecture, such as their use of sharding and CDN for static assets.

1. Clarify Requirements and Bottlenecks

Ask about the system's scale, read/write ratio, latency requirements, and current pain points to tailor your answer. This shows you don't jump to solutions without understanding the problem.

2. Partitioning Strategy

Explain how you would partition data (e.g., by user ID, item category, or geographic region) to distribute load. Discuss trade-offs like hotspotting and rebalancing.

3. Indexing Approach

Describe indexing strategies for efficient queries, such as composite indexes, covering indexes, and avoiding over-indexing. Mention how indexing interacts with partitioning.

4. Caching Layers

Outline caching at multiple levels (client, CDN, application, database) with appropriate eviction policies and consistency considerations. Highlight cache invalidation challenges.

5. CDN Integration

Explain how a CDN can offload static and dynamic content, reduce latency, and handle traffic spikes. Discuss cache headers, edge logic, and invalidation.

Key Points to Mention

  • Horizontal vs vertical partitioning, sharding keys, and consistent hashing
  • Index types (B-tree, hash, full-text) and their impact on write performance
  • Cache strategies (write-through, write-behind, read-through) and TTLs
  • CDN for static assets (images, CSS, JS) and dynamic content acceleration
  • Trade-offs: consistency vs availability, cost, complexity
  • Monitoring and auto-scaling to handle dynamic loads

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q10

Design a multi-region deployment plan with disaster recovery for this marketplace.

System DesignTechnical Trade-offsAdaptability & Ambiguity
Author's notes

Active-active vs active-passive tradeoff, I argued for active-passive with read replicas in secondary regions and a promotion playbook for failover.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scope and requirements, such as expected traffic, data consistency needs, and recovery objectives (RTO/RPO). Then, propose a multi-region architecture with active-active or active-passive setups, detailing components like data replication, failover mechanisms, and disaster recovery drills. Finally, discuss trade-offs between cost, complexity, and resilience, and how you would validate the plan.

Pro tip: Emphasize the importance of defining clear RTO and RPO metrics early, as they drive architectural decisions and demonstrate business alignment. Also, mention the need for regular disaster recovery testing to ensure the plan works under real-world conditions.

1. Clarify Requirements

Ask questions to understand the expected scale, user distribution, data consistency requirements, and recovery objectives (RTO/RPO). This ensures your design meets business needs.

2. Propose Multi-Region Architecture

Outline a high-level architecture with regions, availability zones, and key components like load balancers, databases, and caching. Choose between active-active or active-passive based on requirements.

3. Detail Data Replication and Failover

Explain how data will be replicated across regions (e.g., synchronous vs asynchronous) and how failover will be triggered and managed, including DNS routing and health checks.

4. Address Disaster Recovery

Describe backup strategies, recovery procedures, and regular DR drills. Discuss how to handle region-wide failures and ensure minimal data loss and downtime.

5. Discuss Trade-offs and Validation

Analyze trade-offs between cost, latency, consistency, and complexity. Explain how you would test and monitor the deployment to ensure it meets SLAs.

Key Points to Mention

  • RTO and RPO definitions and how they influence design choices
  • Active-active vs active-passive trade-offs, including cost and complexity
  • Data replication strategies (synchronous vs asynchronous) and consistency models
  • Failover mechanisms: DNS failover, health checks, and automated vs manual failover
  • Disaster recovery testing and chaos engineering practices
  • Cost implications and optimization strategies for multi-region deployments

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.