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 1171–1200 of 2810 results

  • GoogleMediumSoftware Engineer
    Track the User with the Most Distinct Contacts: O(1) Query and Top-K for Changing k

    Design a class that records undirected messages between users and returns the user who has talked with the most distinct people, then make that query constant time and add a top-K query whose k changes on every call. It tests deduplication with hash sets, space analysis of per-user sets, and incremental ranking structures.

    Software Engineering FundamentalsTechnical Screen
  • GoogleMediumSoftware Engineer
    Trie-Based URL Router with Path Variables and Catch-All Tails

    Implement a request router that registers path templates with {variable} and {*catch-all} segments and resolves a concrete path to its handler and captured values. Tests trie design, literal-over-variable precedence with backtracking, conflict detection, and lookup complexity.

    Software Engineering FundamentalsTechnical Screentriebacktrackingdesign
  • 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
  • Graham CapitalMediumSoftware Engineer
    Explain project assumptions and validation methods

    This question evaluates expertise in analytics and experimentation, focusing on formulating project assumptions, selecting validation methods, and managing end-to-end data workflows and model evaluation.

    Analytics & ExperimentationTechnical Screen
  • GrammarlyMediumSoftware Engineer
    Design Disappearing Direct Messages

    Design an ephemeral direct messaging system that reliably deletes messages after viewing across multiple devices, handles offline delivery, and balances user privacy with abuse reporting.

    System DesignTechnical Screensystem-designdistributed-systemsmessaging
  • GrammarlyMediumSoftware Engineer
    Design a Figma-like collaborative editor

    This question evaluates a candidate's ability in designing real-time collaborative systems, covering concurrency control (OT/CRDT trade-offs), low-latency messaging, data modeling, persistence, client-server synchronization, and fault tolerance for unreliable networks.

    System DesignTechnical Screen
  • GrammarlyMediumSoftware Engineer
    Design a restaurant reservation system

    This question assesses the ability to design a distributed reservation system that handles high concurrency, prevents double-booking, and ensures data consistency.

    System DesignTechnical ScreenConcurrencyDatabase ModelingDistributed Systems
  • GrammarlyMediumSoftware Engineer
    Implement a rate limiter and a pub/sub API

    This problem evaluates your ability to implement a thread-safe rate limiter using the token bucket algorithm and design a lightweight, in-memory publisher-subscriber system.

    Software Engineering FundamentalsTechnical ScreenConcurrencySystem DesignAPI Design
  • 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
    Design restaurant shift scheduling

    This problem tests your ability to design a scalable scheduling system, specifically focusing on data modeling for temporal availability, handling conflicting shift assignments, and API design for concurrent updates.

    System DesignTechnical ScreenConcurrencyData ModelingScalability
  • 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
    Design a URL Shortener

    This question assesses the ability to design a URL shortening service (like Bitly) focusing on scalability, distributed ID generation, and efficient data retrieval.

    System DesignTechnical ScreenScalabilityDatabaseCaching
  • 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
  • HarveyMediumSoftware Engineer
    Describe Leading a Technical Project

    This question evaluates leadership, ownership, collaboration, technical judgment, and project management skills within the Behavioral & Leadership domain of software engineering.

    Behavioral & LeadershipTechnical Screen
  • HarveyMediumSoftware Engineer
    Design a Cloud File Storage Service

    This question evaluates competency in designing large-scale distributed file storage and collaboration systems, covering storage and metadata modeling, API design, synchronization and consistency models, resumable large-file handling, versioning, access control, scalability, availability, durability, and security.

    System DesignTechnical Screen
  • 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 a production file storage service

    This question evaluates a candidate's competency in distributed systems and storage architecture, covering metadata schema design, concurrency control for atomic per-directory limits and renaming, transaction boundaries and idempotency, storage models for file bytes, large-file handling, consistency and failure modes, scalability and partitioning, observability, lifecycle management, and security. It is in the System Design domain and is commonly asked because it reveals how a candidate reasons about architectural trade-offs and practical implementation concerns; it tests both high-level conceptual design and hands-on practical application.

    System DesignTechnical 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
  • HarveyHardSoftware Engineer
    Determine identical files ignoring metadata

    A Harvey AI system design screen on determining whether two files are byte-identical while ignoring metadata, then scaling to deduplication. It covers hashing algorithm choice (SHA-256/BLAKE3 vs MD5/xxHash), multi-stage verification, collision and false-positive mitigation, streaming and parallel hashing, content-defined chunking, and persistent hash-index/service design.

    System DesignTechnical 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
    Find Duplicate Files Safely at Scale

    Design and implement a robust file duplicate finder that handles filesystem cycles, minimizes disk I/O using multi-stage filtering, and avoids loading entire large files into memory.

    Software Engineering FundamentalsTechnical ScreenFile SystemsI/O OptimizationHashing
  • 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
    Highlight Overlapping Phrases in a Sentence

    Tests string search algorithms, interval merging techniques, and clean API design for formatting highlighted spans in text without redundant or malformed tags.

    Software Engineering FundamentalsTechnical ScreenStringsIntervalsAho-Corasick
  • 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 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