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 1081–1110 of 2629 results

  • GoogleMediumSoftware Engineer
    Validate course catalog dependencies

    This question evaluates understanding of graph algorithms and data validation, specifically dependency analysis, cycle detection, and topological ordering.

    Coding & AlgorithmsTechnical Screen
  • GrammarlyMediumSoftware Engineer
    Implement a Transactional Key-Value Store

    This question evaluates understanding of transactional state management, data structure design, and consistency/visibility semantics in an in-memory key-value store that supports nested transactions.

    Coding & AlgorithmsOnsite
  • GrammarlyMediumSoftware Engineer
    Merge overlapping corrections

    This question evaluates a candidate's ability to manage and manipulate overlapping intervals with multi-criteria tie-breaking, preserve original metadata across splits, and design efficient data structures and algorithms for producing non-overlapping correction spans.

    Coding & AlgorithmsOnsite
  • GrammarlyEasySoftware Engineer
    Recover a Rooted Tree from Depth-Annotated Preorder

    Reconstruct a general ordered tree from its depth-annotated preorder traversal string and return it as a nested tuple.

    Coding & AlgorithmsTechnical Screentreesstackparsing
  • GrammarlyMediumSoftware Engineer
    Reverse a Singly Linked List

    This problem tests your understanding of pointer manipulation and iterative/recursive techniques for modifying linked structures in-place.

    Coding & AlgorithmsTechnical ScreenLinked ListIn-placePointer Manipulation
  • Grayswan AiEasySoftware Engineer
    Implement a debounced function (with leading option)

    This problem tests your understanding of higher-order functions, closure scope, and asynchronous execution control by requiring the implementation of a flexible debounce utility.

    Coding & AlgorithmsTechnical ScreenJavaScriptClosuresAsynchronous
  • GustoMediumSoftware Engineer
    Fairly Distribute Money With Limits

    This problem tests your ability to implement a greedy allocation algorithm while respecting individual upper bounds and handling iterative redistribution of remaining resources.

    Coding & AlgorithmsTechnical ScreenGreedyBinary SearchSorting
  • GustoMediumSoftware Engineer
    Implement a timestamped map

    This problem tests your ability to design a time-indexed key-value store that supports efficient lookups of historical values using binary search.

    Coding & AlgorithmsTechnical ScreenHash MapBinary SearchData Structures
  • HackerRankMediumSoftware Engineer
    Find Final Ball Holder

    This problem tests your ability to optimize repeated state transitions by identifying cycles in a functional graph or using modular arithmetic to jump through large steps.

    Coding & AlgorithmsTechnical ScreenMathModulo ArithmeticSimulation
  • HadrianHardSoftware Engineer
    Work Order Lead Time: Critical Path Through an Operations DAG to Shipping

    A manufacturing work order is modeled as a directed acyclic graph of operations with durations in days, and every path ends at one shipping node. Compute the total lead time as the critical path length from any starting operation to shipping. It tests graph modeling, dependency ordering and longest-path reasoning.

    Coding & AlgorithmsTechnical Screen
  • HarveyHardSoftware Engineer
    Build an In-Memory File Vault with Duplicate-Name Handling

    Design an in-memory hierarchical file vault supporting automatic directory creation, lexicographical directory listings, and duplicate-name resolution using the smallest available numeric suffix.

    Coding & AlgorithmsOnsiteTrieDesignTree
  • HarveyMediumSoftware Engineer
    Design Spreadsheet Formula Cells

    This question evaluates ability to design and implement data structures and algorithms for expression parsing, dependency tracking, incremental evaluation, and cycle detection in an in-memory spreadsheet.

    Coding & AlgorithmsOnsite
  • HarveyMediumSoftware Engineer
    Design a constrained in-memory file system

    This question evaluates design and implementation skills for hierarchical in-memory data structures, string parsing and file-name collision handling under constraints, and the ability to reason about time and space complexity.

    Coding & AlgorithmsTechnical Screen
  • HarveyHardSoftware Engineer
    Design an In-Memory Spreadsheet Engine

    Design an in-memory spreadsheet engine that supports cell updates, formula evaluations, cycle detection, and O(1) value lookups via proactive cache propagation.

    Coding & AlgorithmsTechnical ScreenGraphTopological SortSystem Design
  • HarveyMediumSoftware Engineer
    Design an in-memory file system with limits

    This question evaluates the ability to design and implement hierarchical in-memory data structures, manage capacity constraints and OS-style duplicate naming, and reason about edge cases and time/space complexity.

    Coding & AlgorithmsTechnical Screen
  • HarveyMediumSoftware Engineer
    Eager Spreadsheet Formulas with Constant-Time Reads

    Implement eager spreadsheet formulas with constant-time cached reads, transitive dependency updates, cycle rejection, and atomic definition replacement.

    Coding & AlgorithmsTechnical Screen
  • HarveyMediumSoftware Engineer
    Evaluate Symbol Expressions

    Implement an expression evaluator for a dictionary of symbolic definitions with arithmetic operations, resolving dependencies, and detecting cycles and undefined references.

    Coding & AlgorithmsOnsitedirected-graphtopological-sortexpression-parsing
  • HarveyMediumSoftware Engineer
    Handle multi-source string matching and tagging

    This question evaluates skills in string matching, pattern recognition, overlap handling, text annotation, and counting occurrences across multiple source strings.

    Coding & AlgorithmsTechnical Screen
  • HarveyHardSoftware Engineer
    Implement Spreadsheet Cell Updates

    This problem tests your ability to manage a directed graph of dependencies and implement a topological update mechanism to recompute spreadsheet cell values efficiently.

    Coding & AlgorithmsTechnical ScreenGraphDependency ManagementTopological Sort
  • HarveyMediumSoftware Engineer
    Implement a Cursor-Based Text Editor

    Design an in-memory cursor-based text editor supporting character insertion, deletion, and cursor navigation with efficient time complexity.

    Coding & AlgorithmsOnsitedata-structuresstackdesign
  • HarveyMediumSoftware Engineer
    Implement a Database Connection Pool

    Tests your ability to implement a thread-safe connection pool that manages connection lifecycles, blocking acquisition with timeouts, and resource reuse under concurrent access.

    Coding & AlgorithmsOnsiteConcurrencyMultithreadingObject-Oriented Design
  • HarveyMediumSoftware Engineer
    Implement an Integer Spreadsheet with Formulas

    Design an in-memory integer spreadsheet supporting cell assignments, additive formulas with nested references, and dynamic recalculation of acyclic dependency chains.

    Coding & AlgorithmsTechnical ScreenDesignGraphDFS
  • HarveyMediumSoftware Engineer
    In-Memory File System: Create, Track Duplicates, and List

    Design an in-memory file system supporting directory creation, file creation with automated duplicate-name collision resolution, content retrieval, and directory listing.

    Coding & AlgorithmsOnsiteTrieDesignTree
  • HarveyMediumSoftware Engineer
    Spreadsheet Formula Engine with Cycle Detection

    Design an in-memory spreadsheet formula engine supporting cell assignments, formula evaluation with dependencies, and cycle detection. The question tests directed graph modeling, topological invalidation, and cycle detection algorithms.

    Coding & AlgorithmsTechnical Screengraphcycle-detectiontopological-sort
  • HeadwayMediumSoftware Engineer
    Debug and extend obstacle-run statistics classes

    This question evaluates object-oriented design, debugging, algorithmic reasoning, and probabilistic simulation competencies by requiring fixes to class behavior, implementation of aggregate statistics, and a Monte Carlo-based probability estimator.

    Coding & AlgorithmsTechnical Screen
  • HeadwayMediumSoftware Engineer
    Generate Every Letter String a Phone Keypad Digit Sequence Can Spell

    Given a string of digits from 2 to 9, return every letter string those digits can spell on a standard phone keypad, in lexicographic order. It tests systematic enumeration of combinations, keys that carry four letters, and producing a deterministic output order.

    Coding & AlgorithmsTechnical Screen
  • HeadwayHardSoftware Engineer
    Implement Journey Counter and Speeder Detector

    This problem tests your ability to process time-series event data by grouping related actions, managing state across sequences, and performing geometric or threshold-based calculations.

    Coding & AlgorithmsTechnical ScreenHash MapsTime-SeriesState Management
  • HebbiaHardSoftware Engineer
    Detect a Winner on a 3x3 Tic-Tac-Toe Board

    This problem tests your ability to efficiently represent board states and implement win-condition logic for a grid-based game.

    Coding & AlgorithmsOnsiteArraysLogicGames
  • HebbiaMediumSoftware Engineer
    Implement Ultimate Tic-Tac-Toe

    This problem tests your ability to design a state-management system for a nested game board and implement recursive winner-detection logic.

    Coding & AlgorithmsTechnical ScreenOODState ManagementGame Theory
  • HebbiaMediumSoftware Engineer
    Implement a Cache Snapshot Printer

    This question evaluates understanding of LRU cache semantics, data structures for maintaining recency and eviction, and techniques for serializing or compressing state by grouping identical values while preserving ordering.

    Coding & AlgorithmsOnsite