Katkat

practice a little every day, paws crossed ♡

System Design Interview Questions

Practice 9403 coding, system design and machine learning questions from 546 companies, sorted by role, topic and interview round. Every question has step-by-step hints, a code runner that supports 8 languages and an AI mentor; members also get the full solution walkthrough.

9403
Questions
546
Companies
11
Topics
8
Languages

Showing 1141–1170 of 1311 results

  • SnapchatMediumSoftware Engineer
    Design a device owner lookup service

    This question tests the ability to design a distributed system for tracking the mapping between ephemeral devices and their currently signed-in users, focusing on handling event concurrency and high-throughput read/write operations.

    System DesignOnsiteDistributed SystemsConcurrencyCaching
  • SnapchatMediumSoftware Engineer
    Design a metrics collection and alerting system

    This question evaluates system design competencies such as scalable time-series data modeling, ingestion and storage architecture, query latency versus retention trade-offs, and alert evaluation logic within the System Design domain.

    System DesignOnsite
  • SnapchatMediumMachine Learning Engineer
    Design a search-to-ads ranking pipeline

    This question tests the ability to design a high-throughput, low-latency ranking system that balances user experience with monetization goals through multi-stage retrieval and bidding mechanics.

    System DesignOnsiteRankingRecommendation-SystemsAd-Tech
  • SnapchatHardSoftware Engineer
    Design a streaming ads system

    This question evaluates a candidate's competency in designing low-latency, scalable, and privacy-compliant ad-insertion platforms, encompassing distributed systems, real-time bidding integration, ad format and measurement standards, content and identity signal processing, pacing/frequency control, and multi-region fault tolerance.

    System DesignOnsite
  • SnapchatMediumSoftware Engineer
    Design a swipeable video feed backend

    This question evaluates system-design competence for building scalable, low-latency backend services that handle feed vending, pagination, personalized ranking, caching, storage, and content eligibility; it is categorized under System Design and tests practical application of distributed systems and backend data engineering principles.

    System DesignOnsite
  • SnapchatHardSoftware Engineer
    Design product co-occurrence analytics API

    This question evaluates design skills for RESTful APIs and backend systems, covering API schema and versioning, authentication and rate limiting, caching and cache invalidation, storage models, precomputation pipelines, consistency and staleness bounds, monitoring, and operational concerns.

    System DesignOnsite
  • SnapchatMediumSoftware Engineer
    Design real-time ad impression and spend tracking

    This question tests the ability to design a high-throughput, fault-tolerant system capable of tracking massive volumes of ad impression events and calculating real-time budget spending.

    System DesignOnsiteDistributed SystemsCachingHigh Throughput
  • SnapchatHardSoftware Engineer
    Design ride-hailing and price alert systems

    This question evaluates a candidate's competency in large-scale system design, including distributed architecture, real-time data processing, geo-spatial indexing and low-latency matching for ride-hailing, plus scalable ingestion, time-series storage, rule evaluation, and reliable notification pipelines for price-tracking, within the System Design domain. It is commonly asked to assess architectural trade-offs around scalability, consistency, availability, fault tolerance and operational concerns, testing practical application of architectural patterns alongside conceptual understanding of data modeling and real-time constraints.

    System DesignOnsite
  • SnapchatHardSoftware Engineer
    Design short URL service with click counting

    This question tests the ability to design a distributed URL shortening service, focusing on system architecture, database partitioning, and strategies for high-frequency write operations like click tracking.

    System DesignTechnical ScreenScalabilityDatabaseCaching
  • SnapchatHardSoftware Engineer
    Parallelize the lock BFS safely

    Parallelize the lock BFS safely evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Design a Cron Job Scheduler

    This question evaluates skills in designing reliable distributed schedulers, including durable state modeling, concurrency and race-condition reasoning, idempotency, and fault-tolerant handoff semantics, and is commonly asked to assess a candidate's ability to guarantee correctness and coordination when multiple replicas must manage recurring job triggers. Categorized under system design and distributed systems with overlap into data modeling and consistency, it emphasizes practical application of architectural and operational trade-offs rather than purely theoretical concepts.

    System DesignTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Design a Distributed Job Scheduler with Cron, Pause and Resume

    Design a job scheduler service that runs one-time and cron jobs, supports pausing and resuming, and dispatches work to an unlimited pool of workers. It tests due-job indexing, claim and lease protocols, pause semantics, at-least-once execution with idempotency, and handling top-of-the-hour spikes.

    System DesignTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Design a Geolocation Search Service

    This question tests your ability to design a scalable spatial indexing system capable of performing range-based queries (e.g., 'find all points of interest within 5km') while maintaining high availability and low latency.

    System DesignTechnical ScreenGeolocationIndexingScalability
  • SnowflakeMediumSoftware Engineer
    Design a Photo Album Backend: Upload Consistency, Deduplication and Scaling

    A backend system design prompt for a photo album service where users upload photos and organize them into albums. It probes keeping a metadata database and blob storage consistent on upload, showing new photos instantly despite processing lag, blocking duplicate uploads, and when a relational database stops scaling.

    System DesignOnsite
  • SnowflakeHardSoftware Engineer
    Design a REST API Abstraction Layer

    This question evaluates system design and API design competencies, focusing on creating a REST API abstraction layer and internal SDK that address cross-cutting concerns like reliability, observability, security, versioning, and contract/interface modeling.

    System DesignTechnical Screen
  • SnowflakeHardSoftware Engineer
    Design a Reliable Job Scheduler

    This problem tests the ability to design a distributed, fault-tolerant job scheduler capable of handling task persistence, concurrency, and strict timing requirements at scale.

    System DesignOnsiteDistributed SystemsConcurrencyFault Tolerance
  • SnowflakeMediumSoftware Engineer
    Design a Shared User Quota Service That Never Overdraws

    Design a quota service that several services draw from for each user, where the balance must never be overdrawn under highly concurrent requests and must stay strongly consistent. It tests atomic conditional updates, reserve-and-commit APIs with idempotency, replication choices, and scaling a single hot user's quota.

    System DesignTechnical Screen
  • SnowflakeHardSoftware Engineer
    Design a concurrent web crawler

    This problem evaluates your ability to design a distributed, concurrent web crawling architecture that balances high throughput with politeness policies, concurrency control, and robust state management.

    System DesignOnsiteConcurrencyDistributed SystemsCaching
  • SnowflakeEasySoftware Engineer
    Design a disk-backed KV store under contention

    This problem tests the ability to design a persistent key-value store that balances disk I/O, memory caching, and thread safety under high concurrency.

    System DesignOnsiteConcurrencyStorage EnginesLSM Trees
  • SnowflakeHardSoftware Engineer
    Design a distributed system end-to-end

    This question evaluates a candidate's ability to design scalable, multi-tenant distributed analytics platforms, testing competencies in distributed systems architecture, data layout and storage, query planning and execution, metadata management, consistency and replication strategies, fault tolerance, observability, and capacity planning.

    System DesignTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Design a distributed tree node counter

    Design a distributed tree node counter evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignTechnical Screen
  • SnowflakeHardSoftware Engineer
    Design a multi-tenant quota system

    This question evaluates a candidate's ability to design a global multi-tenant quota service, testing competencies in distributed systems, data consistency, concurrency control, API and storage modeling, and scalability within the System Design domain.

    System DesignTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Design an Audit Logs Service

    Tests the ability to design an immutable, highly available, multi-tenant audit logging service that supports high-throughput ingestion and tamper-evident storage while providing fast, tenant-scoped querying.

    System DesignTechnical ScreenDistributed SystemsSecurityMulti-Tenancy
  • SnowflakeMediumSoftware Engineer
    Design an Interactive Query Execution Notebook

    Tests your ability to design an asynchronous, scalable system for executing interactive SQL queries and streaming execution state and tabular results back to web clients.

    System DesignTechnical Screensystem-designdistributed-systemsapi-design
  • SnowflakeMediumSoftware Engineer
    Design an object store with deduplication

    This question evaluates a candidate's ability to design scalable, durable object storage systems with deduplication, touching on storage architecture, data modeling, metadata management, consistency, and garbage collection.

    System DesignTechnical Screen
  • SnowflakeHardSoftware Engineer
    Design cache for DAG-based query views

    This question evaluates a candidate's understanding of caching, consistency, versioning, eviction, and update propagation in DAG-based materialized views, testing competencies in distributed systems, data engineering, and storage-hierarchy design.

    System DesignOnsite
  • SnowflakeHardSoftware Engineer
    Design multi-core service startup scheduler

    This question evaluates scheduling and resource-management skills, including DAG dependency handling, concurrency bounding, timeout/retry strategies, observability, and correctness reasoning for service startup orchestration.

    System DesignOnsite
  • SnowflakeHardSoftware Engineer
    Design under vague distributed requirements

    This question evaluates expertise in distributed system architecture, metadata and schema management, transactional DDL semantics, consistency and replication strategies, API and data-model design, multi-tenant isolation, observability, security, and capacity planning.

    System DesignTechnical Screen
  • SoFiHardSoftware Engineer
    Design a Random Number Generation API

    Design a Random Number Generation API evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignOnsite
  • SoFiHardSoftware Engineer
    Design a Real-Time Suggestions Service

    Design a Real-Time Suggestions Service evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignOnsite