Katkat

practice a little every day, paws crossed ♡

Software Engineer 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 1711–1740 of 5874 results

  • DatabricksHardSoftware Engineer
    Design Chat APIs, Storage, and Core Message Flows

    Design a highly available and consistent backend chat system focusing on APIs, storage schema, idempotent message publishing, per-conversation sequencing, and versioned group membership.

    System DesignOnsiteDistributed SystemsStorageAPIs
  • DatabricksMediumSoftware Engineer
    Design Chat APIs, Storage, and Message Flows

    Design chat APIs and database tables with durable message sends, idempotent retries, ordered history, live delivery, and reconnect recovery.

    System DesignOnsite
  • DatabricksMediumSoftware Engineer
    Design Chat Deletion Semantics Under Concurrent Sends

    Design the data consistency, concurrency control, and deletion semantics for a distributed chat platform when message creation and thread deletion occur concurrently across distributed nodes.

    System DesignTechnical ScreenDistributed SystemsConcurrencyData Consistency
  • DatabricksMediumSoftware Engineer
    Design IP/CIDR rule matcher

    This question evaluates understanding of IPv4 addressing, CIDR and numeric range representations, plus competency in designing efficient data structures and algorithms for low-latency rule matching with dynamic updates.

    Coding & AlgorithmsTechnical Screen
  • DatabricksMediumSoftware Engineer
    Design KV store with sliding-window QPS metrics

    This question tests the ability to design an in-memory key-value store that supports basic operations while maintaining accurate sliding-window QPS (queries per second) metrics.

    System DesignTechnical ScreenConcurrencyData StructuresMetrics
  • DatabricksMediumSoftware Engineer
    Design Messaging With Message Deletion

    Design real-time messaging with conversations, history, and deletion that converges across storage layers and online or offline clients. Clarify authorization and retention, then address duplicate events, edit/reaction races, search and attachment cleanup, reconnect behavior, regional failover, audits, and strict erasure.

    System DesignOnsite
  • DatabricksMediumSoftware Engineer
    Design Retrieval for a Coding Agent: What to Index, Handling Noise, and Metrics

    Design the retrieval layer that feeds code and documentation to an LLM coding agent, deciding what to index, how to split and rank it, how to handle noise, and which metrics prove it works. The question tests code-aware indexing, hybrid lexical and dense retrieval, reranking, freshness, and offline and end-to-end evaluation design.

    ML System DesignOnsite
  • DatabricksHardSoftware Engineer
    Design Snapshot Set Iteration and Clarify Durable Writes

    Design a memory-efficient snapshotting set supporting concurrent mutations and isolated iteration, and define the reliability and persistence contracts required for durable writes.

    Software Engineering FundamentalsOnsitemvccconcurrencystorage-engines
  • DatabricksMediumSoftware Engineer
    Design Tic-Tac-Toe and QPS data structures

    This question evaluates data-structure and API design skills, covering state management and efficient update/query algorithms for a generalized Tic-Tac-Toe with uniform-random move selection, as well as time-series aggregation and streaming-log techniques for computing QPS from non-decreasing timestamps.

    Coding & AlgorithmsOnsite
  • DatabricksMediumSoftware Engineer
    Design a Book Price Aggregator

    Tests the ability to architect a resilient aggregation system interfacing with heterogeneous, unreliable third-party APIs under strict latency, rate-limiting, and cache consistency constraints.

    System DesignTechnical Screensystem-designdistributed-systemscaching
  • DatabricksHardSoftware Engineer
    Design a Bookstore Pricing API with Batch Fetches

    Tests system design skills for building a high-throughput, contextual pricing service that balances HTTP protocol semantics, batch orchestration, personalized caching, and downstream protection.

    System DesignOnsiteAPI DesignCachingMicroservices
  • DatabricksHardSoftware Engineer
    Design a Cache with Hit Counts

    This question tests the ability to design a thread-safe, high-performance cache that maintains frequency metadata alongside data, requiring an understanding of efficient data structures and concurrency control.

    Software Engineering FundamentalsOnsiteConcurrencyData StructuresHash Maps
  • DatabricksMediumSoftware Engineer
    Design a Chat Application with a Partitioned Cache

    Design an end-to-end direct and small-group messaging system with strict delivery guarantees, message ordering, and an explicitly partitioned multi-tier caching layer.

    System DesignTechnical ScreenDistributed CachingReal-Time MessagingData Partitioning
  • DatabricksMediumSoftware Engineer
    Design a Customer Revenue Index with Referrals and Threshold Queries

    Tests designing an in-memory index that tracks direct and referral revenue across customers and efficiently supports threshold-bounded minimum revenue queries using balanced search trees.

    Software Engineering FundamentalsTechnical ScreenDesignBalanced BSTHash Table
  • DatabricksHardSoftware Engineer
    Design a Durable Concurrent Event Writer

    Design a high-throughput, thread-safe embedded log writer that safely batches and persists records from thousands of concurrent producer threads into an append-only file.

    System DesignOnsiteStorage SystemsConcurrencyWrite-Ahead Log
  • DatabricksHardSoftware Engineer
    Design a Hierarchical File System

    This question tests the ability to design a distributed file system namespace capable of handling millions of files and directories with strong consistency and high availability.

    System DesignOnsiteDistributed SystemsMetadataScalability
  • DatabricksHardSoftware Engineer
    Design a KV store with QPS API

    This question tests the ability to design a distributed key-value store architecture that incorporates observability, specifically tracking per-key or per-prefix Queries Per Second (QPS) metrics in real-time.

    System DesignTechnical ScreenDistributed SystemsObservabilityCaching
  • DatabricksHardSoftware Engineer
    Design a Key-Value Store with Hit Counting

    Design a concurrent, in-memory key-value store that tracks read-access frequency using a sliding-window hit counter per key while keeping memory footprint bounded.

    Software Engineering FundamentalsOnsiteconcurrencysliding-windowsystem-design
  • DatabricksMediumSoftware Engineer
    Design a Shared, Crash-Safe Telemetry Buffer for Thousands of Worker Threads

    Design a single, thread-shared component that lets up to 4,000 worker threads inside one process append small telemetry records to one local file, durably and without a disk sync per call. Tests group-commit concurrency design, a crash-safe on-disk record format, and backpressure reasoning.

    System DesignOnsiteconcurrencydurabilitysystem-design
  • DatabricksMediumSoftware Engineer
    Design a Slack-Like Messaging System

    Tests your ability to architect a scalable, real-time messaging platform like Slack, focusing on connection handling, fan-out delivery, channel message ordering, and presence management.

    System DesignOnsiteDistributed SystemsWebSocketsPub/Sub
  • DatabricksMediumSoftware Engineer
    Design a Thread-Safe Buffered Writer with a Background Flush Thread

    Tests the ability to design a high-throughput, thread-safe buffering system that decouples client write operations from high-latency storage I/O using concurrent synchronization, backpressure, and background worker threads.

    System DesignOnsiteConcurrencyMultithreadingI/O
  • DatabricksMediumSoftware Engineer
    Design a Visa-Style Card Payment Processing System

    Design a Visa-style card payment system, choosing between the card network and a merchant-side scope. Tests real-time authorization routing to issuers, idempotent handling of retries and reversals, clearing and settlement with an auditable ledger, fraud checks, and multi-region availability.

    System DesignOnsite
  • DatabricksHardSoftware Engineer
    Design a Visa-like payment processing system

    This problem tests your ability to design a high-throughput, fault-tolerant transaction processing system that guarantees data integrity across distributed services.

    System DesignTechnical ScreenDistributed SystemsConsistencyPayments
  • DatabricksHardSoftware Engineer
    Design a Write-Ahead Log Writer with Batch Writes

    Design and implement a concurrent write-ahead log (WAL) engine featuring group commit, monotonic sequence assignment, torn-tail crash recovery, and explicit durability promises.

    Software Engineering FundamentalsOnsitestorage-enginesconcurrencysystems-programming
  • DatabricksHardSoftware Engineer
    Design a digital game shop backend

    This question tests your ability to design a distributed, fault-tolerant transaction processing system for a digital storefront, focusing on data consistency and concurrency control.

    System DesignOnsiteDistributed SystemsConcurrencyDatabase
  • DatabricksMediumSoftware Engineer
    Design a generic key-value store

    This question evaluates a software engineer's ability to design a clean, type-safe API for a generic key-value store, covering data modeling, interface design, and extensibility. It tests practical software design skills including generics, error handling, concurrency, and the ability to evolve an in-memory prototype into a persistent implementation without breaking callers.

    System DesignTechnical Screen
  • DatabricksHardSoftware Engineer
    Design a key-value store

    This question evaluates understanding of durable storage and crash-consistency, including on-disk data layout, filesystem durability semantics, concurrency control, and performance trade-offs for single-node embeddable key–value engines.

    System DesignOnsite
  • DatabricksMediumSoftware Engineer
    Design a multithreaded event logger

    This problem tests your ability to design a thread-safe, high-throughput logging system that balances memory efficiency with I/O performance under concurrent load.

    Software Engineering FundamentalsOnsiteConcurrencyMultithreadingDesign Patterns
  • DatabricksMediumSoftware Engineer
    Design a rolling event tracker with ranges

    This question evaluates understanding of time-series data structures and streaming counters, testing algorithm design, space/time complexity analysis, correctness across edge cases, and handling of large-scale event tracking.

    Coding & AlgorithmsTechnical Screen
  • DatabricksHardSoftware Engineer
    Design a single-node persistent in-memory cache

    This question evaluates a candidate's skills in single-node cache design, including in-memory key/value storage, eviction policy management (e.g., LRU), durability considerations, concurrency control, and techniques for reducing contention such as sharding or striping.

    System DesignTechnical Screen