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 841–870 of 1026 results

  • Scale AIMediumSoftware Engineer
    Debug a Project Assignment Codebase

    Tests your ability to manage state, enforce filtering rules, and maintain clean public API contracts in an asynchronous or stateful task assignment system.

    Software Engineering FundamentalsOnsiteSystem DesignData StructuresState Management
  • Scale AIMediumSoftware Engineer
    Design CSV upload endpoint with GPT classification

    Implement a backend processing pipeline that parses an uploaded CSV file, enriches each text record via an external classification client, and persists structured results to a local JSON store.

    Software Engineering FundamentalsOnsitePythonAPI DesignData Parsing
  • Scale AIMediumSoftware Engineer
    Design and Simulate a Four-Player Card Game

    Work through a three-stage object-oriented card game covering dealing, follow-suit trick state, configurable scoring, and deterministic tests.

    Software Engineering FundamentalsTechnical Screen
  • Scale AIMediumSoftware Engineer
    Implement Hook and Modify UI Interactions

    This question evaluates a candidate's ability to implement reusable React hooks, manage asynchronous data fetching with loading/error/refetch semantics, transform API responses, and wire component state for modal, collapsible list, and button-driven UI interactions.

    Software Engineering FundamentalsTechnical Screen
  • Schneider ElectricMediumSoftware Engineer
    Compare JavaScript == and === operators

    This question evaluates understanding of JavaScript equality semantics and type coercion, assessing a candidate's competency in language-specific comparison behavior and recognition of subtle runtime differences.

    Software Engineering FundamentalsTechnical Screen
  • ScribdMediumSoftware Engineer
    Production-Ready Event Ingestion Handler: Validation, Idempotent Writes, DLQ, Metrics

    Tests your ability to write production-grade ingestion code that enforces strict schema validation, guarantees idempotent persistence, handles retries and Dead-Letter Queue (DLQ) routing, and emits operational metrics.

    Software Engineering FundamentalsOnsitedata-pipelinesvalidationsystem-reliability
  • Shield AiEasySoftware Engineer
    Explain How You Would Test a System

    This question evaluates your ability to design a comprehensive testing strategy for a distributed system, focusing on reliability, observability, and failure modes.

    Software Engineering FundamentalsTechnical ScreenTesting StrategySystem DesignReliability
  • ShopifyMediumSoftware Engineer
    Bank Account Simulation Class With Self-Written Tests at 90% Coverage

    A pair-programming exercise: implement a class that simulates bank account operations, write your own tests reaching at least 90% coverage, and then extend the working code with a new requirement. It tests invariant-driven validation, all-or-nothing transfers, meaningful test design, and clean incremental changes.

    Software Engineering FundamentalsTechnical Screen
  • ShopifyEasySoftware Engineer
    Design a Robot Operations CLI

    Implement a modular robot controller for a 2D warehouse grid that processes command sequences, enforces boundary and obstacle rules, and returns a detailed execution report.

    Software Engineering FundamentalsTechnical ScreenSoftware EngineeringCLI DesignSimulation
  • ShopifyMediumSoftware Engineer
    Harden a URL-Caching HTTP Service for Production

    This problem tests the ability to scale and harden a simple in-memory cache service, focusing on operational stability, concurrency control, and safe deployment patterns.

    Software Engineering FundamentalsTechnical ScreenSystem DesignCachingConcurrency
  • ShopifyEasySoftware Engineer
    How would you improve AI-generated code?

    This question evaluates software engineering competencies such as code review, correctness and edge-case reasoning, API design and readability, test strategy, maintainability and extensibility, and performance and failure-mode analysis within the Software Engineering Fundamentals domain.

    Software Engineering FundamentalsTechnical Screen
  • ShopifyMediumSoftware Engineer
    Parse a CSV and Generate a Gift Exchange

    This problem tests string parsing, data validation, and algorithm design by requiring the implementation of a secret-santa style matching system from unstructured CSV data.

    Software Engineering FundamentalsTechnical ScreenParsingAlgorithmsRandomization
  • SierraMediumSoftware Engineer
    Conversation Agent History: Paginated Fetching, Then Token-Limit Compaction

    Build the message-history layer of a conversation agent: fetch the conversation page by page into one ordered list, then compact it whenever the total token count exceeds a limit by dropping the oldest messages. It tests pagination termination and ordering, running totals, and cheap removal from the front.

    Software Engineering FundamentalsTechnical Screen
  • SierraMediumSoftware Engineer
    Fetch Every Page from a Data API, Then Compact Records to a Token Budget

    A two-part coding screen: page through a data API until it returns no more records, then, if the fetched records exceed 20,000 tokens, compact them to at most 10,000 tokens by keeping the longest contiguous run that fits. It tests loop termination, failure handling, boundary rules and an efficient way to trim data to a budget.

    Software Engineering FundamentalsTechnical Screen
  • SierraMediumSoftware Engineer
    Load a Support Chat Transcript by Pages, Then Trim to a Token Budget

    Build the transcript-loading layer for a customer support chat agent: assemble a full conversation from a paginated backend into one ordered list, then trim it down whenever it grows past a token budget by dropping the oldest turns first.

    Software Engineering FundamentalsTechnical Screenpaginationdata-structuresapi-design
  • SierraMediumSoftware Engineer
    Paginate an Audit-Log API, Then Compact Entries to a Byte Budget

    Pull every entry out of a cursor-paginated audit-log API, then, if the entries together exceed a byte budget, keep the longest contiguous run of them (in original order) that fits. Tests correct pagination loop termination and an efficient two-pointer scan instead of re-measuring every candidate run from scratch.

    Software Engineering FundamentalsTechnical Screensliding-windowpaginationapi-design
  • SigmacomputingMediumSoftware Engineer
    Build a pivot table class over shirt sales records with running and grand totals

    Implement a class that stores shirt sales records and builds pivot tables summing shirts sold by any row field and column field, then extend it with running totals and grand totals along both axes. It tests object-oriented structure, aggregation with dictionaries, deterministic layout, and consistency between cells and totals.

    Software Engineering FundamentalsTechnical Screen
  • SnapchatHardSoftware Engineer
    Compare WebSocket, SSE, and long polling

    This question tests a software engineer's depth in web networking fundamentals, covering real-time communication protocols and the OSI and TCP/IP models. It assesses practical knowledge of WebSocket, SSE, and long polling trade-offs, as well as understanding of how modern transport protocols like QUIC differ from TCP in multiplexing, handshake latency, and connection migration.

    Software Engineering FundamentalsOnsite
  • SnapchatMediumSoftware Engineer
    Design and Implement a Thread-Safe LRU Cache

    Design an `O(1)` LRU cache and extend it with clear thread-safety semantics. The solution covers hash-map and doubly linked-list invariants, boundary cases, linearization points, single-lock correctness, sharding trade-offs, eviction callbacks, and concurrent testing.

    Software Engineering FundamentalsTechnical Screen
  • SnapchatMediumSoftware Engineer
    Find Duplicate Files with a Hand-Written Directory Traversal

    This problem tests iterative directory traversal techniques, efficient file hashing strategies to handle large data, and the ability to manage edge cases like file system inconsistencies or symbolic links.

    Software Engineering FundamentalsTechnical ScreenFile SystemHashingIteration
  • SnapchatHardSoftware Engineer
    Implement an iOS scrollable grid with navigation

    This question tests the ability to build a responsive, performance-optimized grid interface in iOS using modern frameworks like SwiftUI, focusing on layout constraints, state management, and navigation flow.

    Software Engineering FundamentalsOnsiteiOSSwiftUILayout
  • SnapchatMediumSoftware Engineer
    Stream Records into Clusters and Track Each Cluster's Maximum and Median

    Design and implement an in-memory component that assigns each record of a data stream to an existing or a new cluster and returns the maximum value of every cluster. Follow-ups probe read and write optimizations, concurrent ingestion, and how to report each cluster's median.

    Software Engineering FundamentalsOnsite
  • SnorkelMediumSoftware Engineer
    Design SnapshotMap with Sparse Histories and Constant-Time Snapshots

    Design an in-memory key-value store supporting point-in-time snapshots, sparse version histories, binary-search historical reads, tombstones, and write coalescing.

    Software Engineering FundamentalsTechnical Screendata-structuresbinary-searchsystem-design
  • SnowflakeMediumSoftware Engineer
    Adapt Throne Inheritance When Initialization Does Not Supply a King

    Design a throne inheritance system with an uninitialized monarch, handling dynamic root establishment, pre-order succession, and edge-case validation.

    Software Engineering FundamentalsTechnical Screentreedesigndfs
  • SnowflakeHardSoftware Engineer
    Build a Tiered Rate Limiter With Runtime-Updatable Limits, Then Test and Scale It

    Build an in-memory rate limiting service in Python where clients belong to tiers such as free, pro and enterprise, tier limits change at runtime without a restart, and clients with missing or invalid tiers fall back to a global default policy. Follow-ups probe algorithm trade-offs, deterministic tests for refill timing, and a distributed design.

    Software Engineering FundamentalsTechnical Screen
  • SnowflakeHardSoftware Engineer
    Clarify and Prune an N-ary Tree to a Depth Limit

    This problem tests tree traversal techniques and recursive state management by requiring the pruning of an N-ary tree nodes based on a depth constraint while maintaining valid structural connectivity.

    Software Engineering FundamentalsTechnical ScreenTreesRecursionData Structures
  • SnowflakeHardSoftware Engineer
    Count a Distributed Tree with Nonblocking Messages

    This problem tests your ability to design a distributed protocol that ensures eventual consistency and message idempotency in a tree-based network without global synchronization.

    Software Engineering FundamentalsTechnical ScreenDistributed SystemsProtocolsTrees
  • SnowflakeMediumSoftware Engineer
    Count the Nodes of a Process Tree Using Only Asynchronous Messages

    Each node of a tree is a separate process that can only send asynchronous messages and block on receive; write the logic that lets the root learn how many nodes exist. Follow-ups cover lost and duplicated messages, retries and idempotency, and how to structure a result that may be incomplete.

    Software Engineering FundamentalsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Deep-Copy a Linked List Whose Nodes Also Carry a Random Pointer

    Return a deep copy of a singly linked list in which every node also has a random pointer to any node or to nothing, so that the copy shares no node with the original. It tests mapping original nodes to copies, pointer wiring and constant-space alternatives.

    Software Engineering FundamentalsTechnical Screen
  • SnowflakeHardSoftware Engineer
    Design a Priority Task Executor with Duplicate Task IDs

    This problem tests your ability to design a thread-safe task scheduler that handles duplicate task IDs while ensuring each unique task is executed exactly once based on priority and submission time.

    Software Engineering FundamentalsOnsiteConcurrencyHeapsHash Maps