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 2371–2400 of 2810 results

  • SnowflakeMediumSoftware Engineer
    Find the Winner of a Connect Four Game from Its Move Sequence

    Given a board size and the sequence of columns two players drop pieces into, return which player first lines up four pieces horizontally, vertically or diagonally, or 0 if nobody does. It tests grid simulation, gravity placement and careful line counting in all four directions.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Height of an N-ary Tree After Deleting Nodes and Promoting Their Children

    Given an N-ary tree as a parent array and a set of nodes to delete, where each deleted node's children are promoted to its nearest surviving ancestor, return the height of the resulting tree. It tests tree traversal over a parent array and careful reasoning about how deletions change depths.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Highest Total Profit from Non-Overlapping Jobs When Endpoints May Touch

    Each job has a start time, an end time and a profit; choose jobs that do not overlap, where one job may start exactly when another ends, to maximize the total profit. It tests weighted interval scheduling and handling touching endpoints correctly.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeHardSoftware Engineer
    Implement a JSON Parser

    This problem tests your ability to implement a recursive-descent parser for a subset of the JSON format, focusing on string manipulation, state management, and hierarchical data structure construction.

    Coding & AlgorithmsTechnical ScreenParsingRecursionString Processing
  • SnowflakeHardSoftware Engineer
    Implement course scheduling and rate limiter analysis

    This combined question evaluates proficiency in graph-based dependency reasoning (cycle detection and course scheduling) and time-series request processing (rate-limiter behavior and sliding-window request counting) within the Coding & Algorithms domain.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Implement topological sort and tree boundary traversal

    These tasks evaluate core competencies in directed graph algorithms (topological ordering and cycle detection) and binary tree traversals (boundary identification and leaf enumeration), testing understanding of dependency modeling and traversal patterns.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    In-Memory Key-Value Store with Constant-Time Nested Transactions

    Build an in-memory key-value store with get, set and delete plus nested begin, commit and rollback, aiming for constant-time operations. Follow-ups extend it to concurrent threads, keys with a time to live, and reads of a key's value at an earlier point in time.

    Software Engineering FundamentalsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    List the Nodes on the Path Between Two Nodes of a Binary Tree

    Given a binary tree stored as child-index arrays and two node indices, return the nodes on the unique path between them, from the first node to the second. It tests parent tracking, ancestor reasoning and handling cases where one node lies above the other.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeHardSoftware Engineer
    Maximize revenue by choosing one query type

    This problem tests greedy optimization and modular arithmetic skills to determine the most profitable query strategy given a limited time window.

    Coding & AlgorithmsTechnical ScreenGreedyMathOptimization
  • SnowflakeHardSoftware Engineer
    Minimize coins with overpay and change

    This problem tests your ability to optimize combinatorial decisions under constraints by identifying a greedy approach with a fallback to search or dynamic programming.

    Coding & AlgorithmsTechnical ScreenDynamic ProgrammingOptimizationAlgorithms
  • SnowflakeMediumSoftware Engineer
    Minimum Months to Finish All Courses with Durations and Unlimited Parallelism

    Courses take different numbers of months, some must finish before others start, and any number can run in parallel; return the minimum time to finish them all. It tests longest-path reasoning on a directed acyclic graph processed in topological order.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Minimum Node Deletions to Bring an N-ary Tree's Height Within k

    Given an N-ary tree as a parent array and a limit k, find the fewest non-root nodes to delete, promoting each deleted node's children to its nearest surviving ancestor, so that the tree's height is at most k. It tests reasoning about root-to-leaf paths and choosing deletions that shorten many paths at once.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Minimum Prunes to Bring a Filesystem Tree's Depth Under a Limit

    Given a directory tree where deleting a node reattaches its children to its own parent, find the minimum number of deletions needed to bring the deepest root-to-leaf path down to a given limit. Tests a budget-passing tree DP where deleting a node changes how much depth its children inherit.

    Coding & AlgorithmsTechnical Screentreesdynamic-programmingrecursion
  • SnowflakeMediumSoftware Engineer
    Most Frequent k Words or Bestselling Titles with Alphabetical Tie-Breaks

    Given a list of items such as trending words or bestselling book titles and a number k, return the k most frequent items ordered by count, with ties broken alphabetically. It tests frequency counting, sorting with a compound key and heap-based selection.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Most Meetings You Can Attend When Each Takes One Day Within Its Range

    Each meeting can be attended on any single day within its range, and only one meeting fits on each day; return the largest number of meetings you can attend. It tests interval scheduling reasoning and an exchange argument for why a local choice stays optimal.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Multithreaded Web Crawler with Retries for a Failing Fetch API

    Write a web crawler that visits every page reachable from a start URL through a slow link-fetching API, first with BFS or DFS, then with multiple threads, then with retries when the API fails. It tests visited-set safety, termination detection, backoff and failure reporting.

    Software Engineering FundamentalsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    N-ary Tree Height After Deleting Nodes and Reattaching Their Children

    Given an N-ary tree as a parent array and a set of nodes to delete, move each deleted node's children up to its nearest surviving ancestor and report the height of the resulting tree. Tests building a tree from parent links, reasoning about cascading deletions, and computing depths on a tree that can be a path of 100,000 nodes.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Propagate Permission Letters Through a DAG Using Each Node's Final State

    Given a directed acyclic graph in which each node grants and revokes letter permissions, compute every node's final set of letters when each node passes only its final state to its children. Tests topological processing, set propagation over multiple parents, and letters that descendants grant again after an ancestor revokes them.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Query Unique and Most-Frequent Keys in a Recent Event Window

    Design an in-memory event tracker that maintains the most recent m arrivals from a timestamped stream and efficiently queries distinct key counts and top-frequency keys above a cutoff timestamp.

    Coding & AlgorithmsTechnical Screensliding-windowbinary-searchhash-table
  • SnowflakeMediumSoftware Engineer
    Rate Limiter with Tiers, Runtime Config Changes and Multiple Rules

    Implement a rate limiter using a token bucket or sliding window, then support client tiers whose limits change while the service runs, several rules checked on one request, and deterministic tests with a mock clock. It tests algorithm choice, safe configuration swaps and thread-safe all-or-nothing checks.

    Software Engineering FundamentalsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Replay Ops on a Freezer-Probe Stack That Tracks Its Minimum in O(1)

    Replay a sequence of push/pop/peek/min-read operations on a stack of freezer temperature readings and return what each read produces, where reading the current minimum must be as fast as pushing or popping. Tests pairing a stack with running-minimum bookkeeping that stays correct through duplicate minimums and repeated pops.

    Coding & AlgorithmsTechnical Screenstackdata-structuressimulation
  • SnowflakeMediumSoftware Engineer
    Return the Prerequisite Route for a Target Course

    Find a deterministic, lexicographically smallest topological order of all direct and indirect prerequisites for a specific target course while ignoring cycles outside the target's dependency subgraph.

    Coding & AlgorithmsTechnical ScreenGraphTopological SortHeap
  • SnowflakeMediumSoftware Engineer
    Reverse a Character Array In Place with Constant Extra Memory

    Reverse a string given as an array of characters in place, using only constant extra memory, and return the same list. A short coding warm-up that tests index handling, swapping elements and odd and even lengths without building a copy.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Solve Matrix and Array Distance Problems

    Implement a multi-source breadth-first search to find the shortest path from every compute node to its nearest data warehouse in a grid with obstacles.

    Coding & AlgorithmsTechnical ScreenGraphBFSMatrix
  • SnowflakeMediumSoftware Engineer
    Solve build ordering and expression evaluation

    This question evaluates competency in graph algorithms (topological ordering and cycle detection) and in parsing/evaluating arithmetic expressions with correct operator precedence, associativity, unary operators, and 64-bit integer semantics.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeHardSoftware Engineer
    Solve scheduling and tree path problems

    This problem tests your ability to optimize path calculations in a tree by combining depth-first traversal with a greedy or dynamic programming approach to select paths that satisfy specific constraints.

    Coding & AlgorithmsTechnical ScreenTreesDynamic ProgrammingRecursion
  • SnowflakeMediumSoftware Engineer
    Sort an RGB Record Collection In Place

    This question tests the ability to partition an array into three distinct groups (Red, Green, Blue) in a single pass using constant extra space, which is a classic application of the Dutch National Flag algorithm.

    Coding & AlgorithmsTechnical ScreenSortingTwo PointersIn-place
  • SnowflakeMediumSoftware Engineer
    Stack with Constant-Time Minimum over a Sequence of Operations

    Design a stack that supports push, pop, top and reading its current minimum in constant time, then run it over a sequence of operations and return what the reads produce. Tests data structure design, duplicate minimum values and keeping auxiliary state consistent on every pop.

    Coding & AlgorithmsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Time-Versioned Key-Value Store and Time-Window Event Counter

    Build a key-value store that keeps every timestamped value of a key and returns the value in effect at a given time, then a counter that answers how many events occurred in a time window. It tests binary search over histories, window semantics and memory bounds.

    Software Engineering FundamentalsTechnical Screen
  • SnowflakeMediumSoftware Engineer
    Transform tree using counterpart subtree sums

    This question evaluates proficiency with binary tree algorithms and in-place subtree aggregation, emphasizing traversal strategies, shape verification, and handling subtree sums under linear-time and O(h) space constraints.

    Coding & AlgorithmsTechnical Screen