practice a little every day, paws crossed ♡
Software Engineering Fundamentals 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 511–540 of 625 results
- SnowflakeMediumSoftware EngineerAdapt 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 EngineerBuild 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 - SnowflakeMediumFrontend EngineerBuild an Arrow-Controlled Kanban Board in React
Design and implement a performant React Kanban board in TypeScript with normalized state and accessible arrow controls for shifting tasks across ordered columns at scale.
Software Engineering FundamentalsTechnical Screenreacttypescriptfrontend - 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 - 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 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 - 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 - SnowflakeMediumSoftware EngineerEffective Permissions in an Inheritance DAG with Allow and Deny Lists
Nodes of a directed acyclic graph carry allow and deny permission lists that are inherited along its edges; compute every node's final permissions. It tests topological processing, settling an unstated conflict rule between allow and deny, cycle detection and incremental updates.
Software Engineering FundamentalsTechnical Screen - SnowflakeMediumFrontend EngineerExplain React classes, lifecycle, and hooks
This question assesses the evolution of React component patterns, specifically focusing on the transition from class-based lifecycles to functional hooks, and the management of stateful side effects.
Software Engineering FundamentalsTechnical ScreenReactFrontendJavaScript - SnowflakeMediumSoftware EngineerFewest Link Clicks Between Two Wiki Pages, Then Scale the Search
Find the fewest link clicks between two wiki pages when each page's links come from a slow fetch call, returning the path. Follow-ups cover parallel level-by-level search, bidirectional search with a correct stopping rule, and caching fetched link lists across searches.
Software Engineering FundamentalsTechnical Screen - SnowflakeMediumSoftware EngineerFind the Shortest Click Path with a Fallible Link API
Implement a breadth-first search to find the shortest URL click path between two pages using a fallible link-fetching API with retry and tie-breaking logic.
Software Engineering FundamentalsTechnical Screenbfsgrapherror-handling - SnowflakeMediumSoftware EngineerIn-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 EngineerMultithreaded 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 EngineerRate 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 EngineerTime-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 - SoFiMediumSoftware EngineerExplain GC, singleton, and OOP principles
This question evaluates understanding of Java runtime memory management (generational garbage collection, marking, compaction), software design patterns (Singleton), and object-oriented design and SOLID principles, testing competencies in performance reasoning, concurrency and thread-safety considerations, design trade-offs, and maintainability.
Software Engineering FundamentalsTechnical Screen - SocureHardSoftware EngineerImplement a Concurrent Payment Queue with Visibility Timeouts
Implement a thread-safe in-memory payment queue supporting atomic message consumption, visibility timeouts, receipt-handle validation to prevent stale ACKs, and idempotent submissions.
Software Engineering FundamentalsTechnical ScreenConcurrencyData StructuresMessage Queues - SpacexEasySoftware EngineerAlign Telemetry Streams and Publish Versioned Corrections
Define telemetry subtraction semantics, handle missing or repeated timestamps, and reconcile late events with versioned, idempotent corrections.
Software Engineering FundamentalsTechnical Screen - SpacexEasySoftware EngineerDebug Missing Output from a Python Multiprocessing Pool
Diagnose and fix issues in a Python multiprocessing script where asynchronous workers fail to produce output, addressing pool lifecycle management, exception propagation, and centralized file I/O.
Software Engineering FundamentalsTechnical Screenpythonmultiprocessingconcurrency - SquarepointMediumQuantitative ResearcherChoose Between an Array and a Linked List
Tests understanding of arrays versus linked lists beyond asymptotic Big O notation, focusing on CPU cache locality, memory layout overhead, reference stability, and practical queue design.
Software Engineering FundamentalsTechnical Screendata-structurescache-localitymemory-hierarchy - SquarepointMediumRisk Technology Software EngineerConcatenate Two C++ Index Sequences at Compile Time
This problem tests your mastery of C++ variadic templates, template metaprogramming, and the `std::index_sequence` utility to perform type-level list manipulation.
Software Engineering FundamentalsTechnical ScreenC++TemplatesMetaprogramming - SquarepointMediumQuantitative ResearcherCount Files Safely from Bash
Tests command-line proficiency and Bash scripting fundamentals by requiring a robust mechanism to count regular files across a directory tree while handling tricky filenames, symlinks, and recursion correctly.
Software Engineering FundamentalsTechnical Screenbashlinuxshell-scripting - SquarepointMediumRisk Technology Software EngineerDesign an Ordered Vector with Move Semantics and Analyze Its Memory Layout
This problem tests your understanding of C++ memory management, template programming, exception safety, and the performance implications of different data storage strategies.
Software Engineering FundamentalsTechnical ScreenC++Memory ManagementTemplates - SquarepointMediumRisk Technology Software EngineerExplain Low-Latency Linux Networking and Shared-Memory Trade-Offs
Assess the candidate's understanding of low-latency Linux systems, comparing network socket tuning, kernel-bypass stacks, and lock-free shared memory along with NUMA and observability considerations.
Software Engineering FundamentalsTechnical ScreenLinuxLow LatencyNetworking - SquarepointMediumRisk Technology Software EngineerExplain Weak Pointers and Sketch Shared-Pointer Control-Block Semantics
This question tests the understanding of C++ smart pointer memory management, specifically how reference counting works across shared and weak pointers to prevent memory leaks and dangling references.
Software Engineering FundamentalsTechnical ScreenC++Memory ManagementConcurrency - SquarepointHardSoftware EngineerImplement and Improve React Components
Implement and Improve React Components evaluates requirements, assumptions, structured reasoning, trade-offs, and verification in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Software Engineering FundamentalsTechnical Screen - StackAdaptEasySoftware EngineerDesign a Recipe and Inventory Ordering Service
Design an object-oriented recipe service where nested dishes consume raw inventory and an order either succeeds atomically or changes nothing. The prompt tests typed references, cycle detection, quantity expansion, overflow handling, concurrent stock updates, immutable views, and explicit replacement and query semantics.
Software Engineering FundamentalsTechnical Screen - StripeMediumSoftware EngineerAudit a Vendor CSV for Gaps, Banned Terms and Name Mismatches
Build a configurable validator for vendor onboarding CSV rows that flags missing fields, out-of-range lengths and banned words, then checks whether a vendor's display name and legal name share enough words.
Software Engineering FundamentalsTechnical Screencsv-parsingvalidationtext-normalization - StripeHardSoftware EngineerBuild a Content-Moderation Rule Engine With Boolean Chains and Nested Groups
Grow a small text-driven policy engine, in stages, from one comparison per post into a full boolean expression language with left-to-right AND/OR and nested parentheses, while treating an AI pair-programmer as a junior you're delegating narrow, well-specified tasks to.
Software Engineering FundamentalsTechnical Screenparsinginterpreterssoftware-design