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 4981–5010 of 5874 results
- SnowflakeMediumSoftware EngineerBuild a Top-Down Reporting Forest from Employee-Manager Pairs
Given employee-to-manager pairs of integer IDs, build the top-down reporting forest with every top-level manager as a root, and return it as a preorder listing of IDs and depths. Tests finding the roots, building child lists, deterministic sibling ordering, and handling long reporting chains.
Coding & AlgorithmsOnsite - SnowflakeMediumSoftware EngineerBuild a Tree Whose Nodes Hold the Original Tree's Subtree Sums
Given a rooted tree as a parent array with a value on every node, return a same-shaped tree whose nodes hold the sum of each original subtree. It tests aggregating children before parents without hitting recursion limits, and leaving the original tree unchanged.
Coding & AlgorithmsTechnical Screen - SnowflakeMediumSoftware EngineerCheck Whether a Proposed Course Order Respects Every Prerequisite
Given courses, prerequisite pairs and a proposed order, decide whether the order lists every course exactly once and places each course after all of its prerequisites. It tests position indexing, permutation checks and careful handling of missing or repeated courses.
Coding & AlgorithmsTechnical Screen - SnowflakeHardSoftware EngineerCheck if each recipe is a contiguous subsequence
This problem tests your ability to efficiently determine if one sequence exists as a contiguous segment within another using pattern matching techniques.
Coding & AlgorithmsTechnical ScreenArraysKMP AlgorithmPattern Matching - SnowflakeHardSoftware EngineerClarify 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 - SnowflakeMediumSoftware EngineerCollect a Binary Tree's Outer Boundary Values Anticlockwise
Given a binary tree stored as child-index arrays, return its boundary values anticlockwise: the root, the left boundary, the leaves from left to right and the right boundary from bottom to top, whose total is the boundary sum. It tests precise traversal rules and edge cases.
Coding & AlgorithmsTechnical Screen - SnowflakeMediumSoftware EngineerCompute Effective Letter Permissions in a DAG
Compute the effective lowercase letter permissions for every node in a directed acyclic graph (DAG), where granted permissions propagate transitively to all descendants while explicit denials apply only locally.
Coding & AlgorithmsTechnical ScreenDAGtopological-sortbit-manipulation - SnowflakeMediumSoftware EngineerCompute Progressive Income Tax in Cents from Bracket Limits
Given progressive tax brackets as upper limits with percentage rates and an income in whole dollars, return the total tax owed in cents. It tests careful handling of bracket boundaries, partly filled brackets and exact integer arithmetic instead of floating point.
Coding & AlgorithmsTechnical Screen - SnowflakeMediumSoftware EngineerCompute height after deletions; enumerate valid delete sets
This question evaluates competence in binary tree manipulation and combinatorial search, covering promotion-based node deletion, height computation across forest components after root deletion, enumeration of deletion sets with deduplication, pruning strategies, and time/space complexity analysis.
Coding & AlgorithmsTechnical Screen - SnowflakeHardSoftware EngineerCompute height of tree with deleted nodes; minimize deletions
This question evaluates understanding of tree data structures, connectivity after node deletions, and optimization for minimizing additional removals, and is categorized under Coding & Algorithms. It is commonly asked to assess reasoning about tree pruning and height computation under constraints, testing both conceptual understanding of tree properties and practical algorithmic implementation.
Coding & AlgorithmsTechnical Screen - SnowflakeMediumSoftware EngineerCompute shortest path between tree nodes
Given a binary tree and two node values u and v, return the shortest path between them as an ordered list of node values. This Snowflake onsite question tests lowest-common-ancestor logic, path reconstruction, iterative vs. recursive implementation, complexity analysis, and preprocessing strategies (parent pointers, binary lifting, Euler tour + RMQ) for answering many queries efficiently.
Coding & AlgorithmsOnsite - SnowflakeMediumSoftware EngineerCompute task order and layered execution
This question evaluates a candidate's understanding of graph algorithms and dependency resolution, covering concepts such as topological ordering and cycle detection.
Coding & AlgorithmsOnsite - SnowflakeMediumSoftware EngineerCompute task order with prerequisites
This question evaluates proficiency in graph algorithms—particularly topological ordering and cycle detection—along with the use of efficient data structures for representing dependencies and analyzing time and space complexity.
Coding & AlgorithmsTechnical Screen - SnowflakeMediumSoftware EngineerCompute total time to finish all courses
This problem tests your ability to model task dependencies using a directed graph and calculate the earliest completion time for all tasks, effectively identifying the critical path in a project schedule.
Coding & AlgorithmsTechnical ScreenGraphTopological SortDynamic Programming - SnowflakeHardSoftware EngineerCount 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 EngineerCount 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 EngineerDecide Whether Repeatedly Summing Squared Digits Reaches 1
Starting from a positive integer, repeatedly replace it by the sum of the squares of its digits and decide whether the sequence reaches 1 or falls into a cycle. It tests cycle detection on an implicit sequence and reasoning about why the values stay bounded.
Coding & AlgorithmsTechnical Screen - SnowflakeMediumSoftware EngineerDecide Whether an Undirected Graph Can Be Colored with Three Colors
Given an undirected graph with up to fifteen nodes, decide whether every node can receive one of three colors so that no edge joins two nodes of the same color. It tests backtracking search with pruning and reasoning about odd cycles and cliques.
Coding & AlgorithmsTechnical Screen - SnowflakeMediumSoftware EngineerDeep-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 - SnowflakeMediumSoftware EngineerDeep-Copy a Linked List with Random Pointers
Implement a deep copy of a linked list where each node has both a next pointer and an arbitrary random pointer, ensuring all reachable nodes and relationships are replicated without modifying the original list.
Coding & AlgorithmsTechnical ScreenLinked ListHash TableGraph - SnowflakeMediumSoftware EngineerDelete the Fewest Tree Nodes to Meet a Height Limit
Find a minimum-cardinality set of tree-node deletions under child-promotion semantics using height-budget dynamic programming and explicit solution reconstruction.
Coding & AlgorithmsTechnical Screen - SnowflakeMediumSoftware EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 - SnowflakeHardSoftware EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign a Thread-Safe Multi-Rule Rate Limiter
This problem tests the ability to design a thread-safe, flexible rate-limiting system that handles multiple constraints, atomic permit management, and graceful error handling.
Software Engineering FundamentalsTechnical ScreenConcurrencyRate-LimitingThread-Safety