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 EngineerTrack 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 EngineerTrie-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 EngineerValidate 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 EngineerExplain 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerImplement 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 EngineerRecover 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 EngineerReverse 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 EngineerImplement 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 EngineerDesign 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 EngineerFairly 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 EngineerImplement 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 EngineerDesign 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 EngineerFind 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 EngineerWork 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 EngineerDescribe 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDetermine 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 EngineerEager 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 EngineerFind 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 EngineerHandle 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 EngineerHighlight 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 EngineerImplement 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 EngineerImplement 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