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 781–810 of 2810 results
- CursorHardSoftware EngineerBuild a Streaming Markdown Code Fence Parser
Tests streaming string processing, finite state machine design, and edge-case handling for incrementally received Markdown code fences.
Software Engineering FundamentalsTechnical ScreenStreamingFinite State MachineParsing - CursorMediumSoftware EngineerConnect a Project Deep Dive to Engineering Career Decisions
Connect a technical project deep dive with engineering career decisions, using clear ownership, interface trade-offs, validation, and lessons learned.
Behavioral & LeadershipTechnical Screen - CursorMediumSoftware EngineerDesign Versioned IDE Settings for Users and Teams
Design a distributed, hierarchical configuration management service for an IDE that synchronizes versioned settings across individual users, multiple teams, and workspaces while supporting offline modifications and deterministic conflict resolution.
System DesignTechnical ScreenDistributed SystemsOffline SyncData Modeling - CursorMediumSoftware EngineerDesign a Durable Cron Job Scheduler
Design a cron scheduler with durable occurrences, timezone rules, missed-run policies, worker leases, idempotent dispatch, and failure recovery.
System DesignTechnical Screen - CursorMediumSoftware EngineerHash a Repository with a Merkle Tree and Find Changed Files
Hash a repository with canonical Merkle nodes, compare changed subtrees, report file changes, and account for symlinks, cached hashes, and snapshot limits.
Software Engineering FundamentalsTechnical Screen - CursorMediumSoftware EngineerImplement Deterministic Merkle Hashing for a Repository
Implement an incremental, deterministic Merkle tree for a virtual repository file system with stable serialization, child ordering, and ancestor cache invalidation.
Software Engineering FundamentalsTechnical ScreenMerkle TreeData StructuresFile Systems - CursorMediumSoftware EngineerImplement a Merkle Tree for Repository Contents
Implement a Merkle tree to model repository file systems and efficiently compute differences between two repository states using subtree hashes.
Software Engineering FundamentalsTechnical ScreenMerkle TreeTreesHashing - CursorHardSoftware EngineerImplement a Merkle-tree repo diff
This question evaluates a candidate's understanding of Merkle trees, filesystem-aware hashing, directory traversal, and diff algorithms for detecting file-level changes.
Coding & AlgorithmsTechnical Screen - CursorMediumSoftware EngineerImplement and Explain a Merkle Tree
Tests understanding of cryptographic hash trees (Merkle trees), including tree construction, odd-node handling, proof generation, and verification.
Software Engineering FundamentalsTechnical Screencryptographydata-structurestrees - DRWEasySoftware EngineerFewest Expenses to Defer to Year End So the Running Balance Never Goes Negative
Given a year's transactions in order, with income as positive values, expenses as negative values and a non-negative total, find the fewest expenses to move to the end of the year so the running balance never drops below zero. It tests reasoning over prefix sums for inputs of up to 100,000 transactions.
Coding & AlgorithmsTechnical Screen - DRWEasySoftware EngineerLongest Substring in Which Every Present Letter Occurs Equally Often
Given a string of lowercase letters, find the length of the longest substring in which every letter that appears occurs the same number of times. It tests substring enumeration with incremental frequency tracking and a precise definition of what counts as balanced.
Coding & AlgorithmsTechnical Screen - DRWEasySoftware EngineerMinimize the Max-Min Gap of an Array After Changing Up to Three Elements
Given an integer array, you may change up to three elements to any values; return the smallest possible difference between the largest and smallest values afterward. It tests reasoning about which extreme values are worth changing and careful handling of short arrays.
Coding & AlgorithmsTechnical Screen - Dark Alpha CapitalMediumSoftware EngineerMinimize Total Assignment Distance
This question evaluates competency in combinatorial optimization, assignment/matching problems, and reasoning about Manhattan distance cost metrics. Commonly asked to assess algorithmic reasoning about constrained assignments, search and complexity trade-offs, it belongs to the Coding & Algorithms domain and emphasizes practical application of algorithm design and implementation rather than purely conceptual theory.
Coding & AlgorithmsTechnical Screen - DatabricksMediumSoftware EngineerCheck if CIDR is fully canceled by rules
This question evaluates understanding of IPv4 CIDR arithmetic, set operations on IP ranges (overlap detection and subtraction), and ordered rule semantics for allow/deny processing.
Coding & AlgorithmsTechnical Screen - DatabricksMediumSoftware EngineerChoose fastest transportation mode on city grid
This problem tests your ability to model a grid-based transportation network as a graph and apply Dijkstra's algorithm to find the optimal path under multiple constraints.
Coding & AlgorithmsTechnical ScreenGraphsDijkstraShortest Path - DatabricksMediumSoftware EngineerCompute 5-minute rolling average load
This problem tests your ability to maintain a rolling window average over a high-throughput stream of events using an efficient data structure that balances memory usage and query time complexity.
Coding & AlgorithmsTechnical ScreenSliding WindowData StructuresTime Series - DatabricksMediumSoftware EngineerCompute last-5-minute QPS in memory
This question evaluates design of in-memory data structures and sliding-window time-series aggregation for real-time metrics, testing understanding of space/time trade-offs, streaming algorithms, and handling monotonic timestamps.
Coding & AlgorithmsTechnical Screen - DatabricksMediumSoftware EngineerDesign BFS to detect forced win in Tic-Tac-Toe
This question evaluates algorithm design and search-space reasoning, focusing on BFS-based game-tree exploration, state representation, symmetry reduction and hashing, win/draw detection, pruning and move-ordering heuristics, and time/space complexity analysis in terms of n, k, t, and the branching factor within the Coding & Algorithms domain.
Coding & AlgorithmsTechnical Screen - DatabricksMediumSoftware EngineerDesign Chat Deletion Semantics Under Concurrent Sends
Design the data consistency, concurrency control, and deletion semantics for a distributed chat platform when message creation and thread deletion occur concurrently across distributed nodes.
System DesignTechnical ScreenDistributed SystemsConcurrencyData Consistency - DatabricksMediumSoftware EngineerDesign IP/CIDR rule matcher
This question evaluates understanding of IPv4 addressing, CIDR and numeric range representations, plus competency in designing efficient data structures and algorithms for low-latency rule matching with dynamic updates.
Coding & AlgorithmsTechnical Screen - DatabricksMediumSoftware EngineerDesign KV store with sliding-window QPS metrics
This question tests the ability to design an in-memory key-value store that supports basic operations while maintaining accurate sliding-window QPS (queries per second) metrics.
System DesignTechnical ScreenConcurrencyData StructuresMetrics - DatabricksMediumSoftware EngineerDesign a Book Price Aggregator
Tests the ability to architect a resilient aggregation system interfacing with heterogeneous, unreliable third-party APIs under strict latency, rate-limiting, and cache consistency constraints.
System DesignTechnical Screensystem-designdistributed-systemscaching - DatabricksMediumSoftware EngineerDesign a Chat Application with a Partitioned Cache
Design an end-to-end direct and small-group messaging system with strict delivery guarantees, message ordering, and an explicitly partitioned multi-tier caching layer.
System DesignTechnical ScreenDistributed CachingReal-Time MessagingData Partitioning - DatabricksMediumSoftware EngineerDesign a Customer Revenue Index with Referrals and Threshold Queries
Tests designing an in-memory index that tracks direct and referral revenue across customers and efficiently supports threshold-bounded minimum revenue queries using balanced search trees.
Software Engineering FundamentalsTechnical ScreenDesignBalanced BSTHash Table - DatabricksHardSoftware EngineerDesign a KV store with QPS API
This question tests the ability to design a distributed key-value store architecture that incorporates observability, specifically tracking per-key or per-prefix Queries Per Second (QPS) metrics in real-time.
System DesignTechnical ScreenDistributed SystemsObservabilityCaching - DatabricksHardSoftware EngineerDesign a Visa-like payment processing system
This problem tests your ability to design a high-throughput, fault-tolerant transaction processing system that guarantees data integrity across distributed services.
System DesignTechnical ScreenDistributed SystemsConsistencyPayments - DatabricksMediumSoftware EngineerDesign a generic key-value store
This question evaluates a software engineer's ability to design a clean, type-safe API for a generic key-value store, covering data modeling, interface design, and extensibility. It tests practical software design skills including generics, error handling, concurrency, and the ability to evolve an in-memory prototype into a persistent implementation without breaking callers.
System DesignTechnical Screen - DatabricksMediumSoftware EngineerDesign a rolling event tracker with ranges
This question evaluates understanding of time-series data structures and streaming counters, testing algorithm design, space/time complexity analysis, correctness across edge cases, and handling of large-scale event tracking.
Coding & AlgorithmsTechnical Screen - DatabricksHardSoftware EngineerDesign a single-node persistent in-memory cache
This question evaluates a candidate's skills in single-node cache design, including in-memory key/value storage, eviction policy management (e.g., LRU), durability considerations, concurrency control, and techniques for reducing contention such as sharding or striping.
System DesignTechnical Screen - DatabricksMediumSoftware EngineerDesign a stock order manager
Design an equity Order Management System (OMS) that manages order lifecycles, ensures idempotent broker interactions, and guarantees state reconciliation under distributed failures.
System DesignTechnical Screensystem-designdistributed-systemsfintech