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 2281–2310 of 2810 results

  • ShopifyEasySoftware Engineer
    Implement cache and gift assignment system

    This two-part exercise evaluates a candidate's competence in designing efficient in-memory data structures with correct eviction semantics (bounded LRU cache with amortized O(1) operations) and in implementing randomized permutation algorithms and input/output handling for derangement-based Secret Santa assignments from CSV input.

    Coding & AlgorithmsTechnical 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
  • ShopifyMediumSoftware Engineer
    Scaling a Collision-Free Rover Fleet to a Million Robots

    This question tests the ability to design a distributed system that manages real-time state consistency across a massive, sharded spatial grid while handling concurrency and robot movement.

    System DesignTechnical ScreenDistributed SystemsConcurrencySharding
  • ShopifyEasySoftware Engineer
    Simulate rover movement on a grid

    This question evaluates incremental system design, agent state management on a bounded grid, and algorithmic complexity for processing movement commands in the Coding & Algorithms domain.

    Coding & AlgorithmsTechnical Screen
  • ShopifyMediumSoftware Engineer
    Terminal-Controlled Grid Rover Simulator

    Implement a warehouse rover simulation engine that processes sequential movement commands on a bounded 2D grid, handling coordinate translations, cardinal rotations, boundary limits, and multi-rover collision avoidance.

    Coding & AlgorithmsTechnical Screensimulationstate-machinearrays
  • 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
  • SierraHardSoftware Engineer
    Split Markdown Into Header-Aware Chunks

    This question evaluates string parsing, stateful text-processing, and algorithmic chunking skills, focusing on hierarchical header tracking and enforcing size constraints while preserving document order.

    Coding & AlgorithmsTechnical Screen
  • SigmacomputingMediumSoftware Engineer
    Build a Pivot Table Aggregator

    This question evaluates a candidate's ability to implement data aggregation and efficient lookup structures, focusing on grouping, associative aggregations, and maintaining intermediate state for derived metrics.

    Coding & AlgorithmsTechnical Screen
  • 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
  • SigmacomputingEasySoftware Engineer
    Implement a basic pivot table with totals

    This question evaluates a candidate's ability to perform in-memory data aggregation, multi-dimensional grouping, handling missing combinations, and formatted text output for pivot tables including row/column totals.

    Coding & AlgorithmsTechnical Screen
  • SnapchatMediumSoftware Engineer
    Check if a binary tree is complete

    This problem tests your understanding of binary tree properties and your ability to perform a level-order traversal to verify structural completeness.

    Coding & AlgorithmsTechnical ScreenBinary TreeBFSData Structures
  • SnapchatMediumSoftware Engineer
    Compute sliding window median

    This question evaluates the ability to maintain a running median over a sliding window, testing competencies in data structures, order statistics, dynamic updates, and algorithmic efficiency within the Coding & Algorithms domain.

    Coding & AlgorithmsTechnical Screen
  • SnapchatMediumSoftware Engineer
    Count islands with eight-direction adjacency

    This question evaluates a candidate's competency in graph traversal algorithms and data-structure trade-offs by counting connected components on a grid with eight-direction adjacency, focusing on BFS/DFS behavior and optional Union-Find approaches.

    Coding & AlgorithmsTechnical Screen
  • 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
  • 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
  • SnapchatMediumSoftware Engineer
    Explain median vs mean for L1/L2

    This question evaluates understanding of central tendency and loss functions—specifically the roles of median and mean under L1 (absolute) and L2 (squared) norms—and the geometric extension of these concepts to two-dimensional data.

    Statistics & MathTechnical 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
  • SnapchatMediumSoftware Engineer
    Find Maximum Island Perimeter

    This problem tests grid traversal techniques (DFS/BFS) and the ability to calculate boundary contributions within a connected component in a 2D matrix.

    Coding & AlgorithmsTechnical ScreenDFSBFSGrid
  • SnapchatMediumSoftware Engineer
    Find index of first unique character

    Find index of first unique character evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Coding & AlgorithmsTechnical Screen
  • SnapchatMediumSoftware Engineer
    Find max node-value range across components

    This problem tests your ability to traverse an undirected graph to identify connected components and perform aggregations over the nodes within each component.

    Coding & AlgorithmsTechnical ScreenGraphDFSBFS
  • SnapchatMediumSoftware Engineer
    Handle cards, islands, Trie, median

    These problems evaluate proficiency in core data structures and algorithmic problem-solving, covering grouping/counting techniques, grid-based island detection, trie (prefix tree) design, and streaming median computation within the domain of data structures and algorithms.

    Coding & AlgorithmsTechnical Screen
  • SnapchatMediumSoftware Engineer
    How do you deliver when time is tight?

    This question evaluates a candidate's project management, prioritization, risk identification, trade-off negotiation, and stakeholder-communication skills when working under aggressive deadlines.

    Behavioral & LeadershipTechnical Screen
  • SnapchatMediumSoftware Engineer
    Implement a Timestamped Counter

    This problem tests your ability to design a data structure that handles time-series data and performs efficient range-based queries using binary search.

    Coding & AlgorithmsTechnical ScreenBinary SearchData StructuresTime Series
  • SnapchatMediumSoftware Engineer
    Implement a custom list with iterator and map

    This problem tests your understanding of linked list internals, the Iterator design pattern, and the application of higher-order functions in a custom data structure.

    Coding & AlgorithmsTechnical ScreenLinked ListsDesign PatternsIterator
  • SnapchatMediumSoftware Engineer
    Implement sin(x) with precision constraints

    This question evaluates understanding of numerical methods, floating-point arithmetic, and algorithmic implementation in the Coding & Algorithms domain by requiring an approximation of the sine function under explicit error bounds.

    Coding & AlgorithmsTechnical Screen
  • 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
  • SnapchatMediumSoftware Engineer
    Remove the Maximum Number of Connected Stones

    Determine the maximum number of stones that can be removed from a 2D grid where a stone may only be removed if another stone shares its row or column. This tests graph modeling, connected components, and Union-Find or BFS/DFS traversals.

    Coding & AlgorithmsTechnical ScreenGraphUnion-FindDFS