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 931–960 of 2336 results

  • GoogleMediumSoftware Engineer
    Design a Bookshelf with Book CRUD and a Stable Bookmark

    Tests object-oriented design, separation of entity identity from physical layout, reference integrity during deletions, and optimistic concurrency for content updates.

    Software Engineering FundamentalsOnsiteObject-Oriented DesignData StructuresConcurrency
  • GoogleMediumSoftware Engineer
    Design a CI system that runs one million tests in ten minutes

    Design a continuous integration system that builds a change and runs about one million tests within a ten-minute budget. Tests capacity estimation, sharding and scheduling by test duration, artifact distribution, caching and test selection, flaky tests, failure handling, and cost versus latency trade-offs.

    System DesignOnsite
  • GoogleHardSoftware Engineer
    Design a Collaborative Notes Service

    Design a collaborative notes backend with CRUD, WebSocket editing, operation logs, snapshots, CRDT or Operational Transformation conflict handling, offline sync, note-based scaling, permissions, and recovery.

    System DesignOnsite
  • GoogleMediumSoftware Engineer
    Design a Dormitory Room-Assignment System (OOD)

    This question evaluates object-oriented design skills by requiring a class decomposition of a room-assignment system, testing entity modeling, responsibility separation, and capacity-safe data structures. It is commonly used in software engineering interviews to assess practical OOD fluency and the ability to handle edge cases like demand exceeding supply.

    Software Engineering FundamentalsOnsite
  • GoogleEasySoftware Engineer
    Design a Variable Store With Nested Reference Substitution and Cycle Detection

    Design a class that stores named variables and substitutes their values into text, where a stored value can reference other variables that must be expanded at any depth. It tests reference parsing, depth-first expansion with reuse of finished results, cycle detection with a clear error, and policies for undefined variables.

    Software Engineering FundamentalsOnsite
  • GoogleMediumSoftware Engineer
    Design a customer support agent dispatcher that handles mid-request breaks

    Design and implement the core of a dispatcher that assigns waiting customers to available support agents, then extend it for an agent who is interrupted mid-request to take a break. Tests state modeling, queue and data structure choices, fair re-queuing, stale events and per-event complexity.

    Software Engineering FundamentalsOnsite
  • GoogleHardSoftware Engineer
    Design a distributed rate limiter

    This question evaluates skills in distributed systems design, concurrency control, rate-limiting algorithms (token bucket and sliding window), distributed coordination and consistency, API design, and operational monitoring for scalability and fault tolerance.

    System DesignOnsite
  • GoogleMediumSoftware Engineer
    Design a global real-time notification system

    This question assesses the ability to design a distributed, global-scale notification platform that handles massive throughput, multi-channel delivery, and reliability requirements.

    System DesignOnsiteDistributed SystemsScalabilityReliability
  • GoogleMediumSoftware Engineer
    Design a large-scale distributed rate limiter

    This question tests the ability to design a high-throughput, distributed rate-limiting service that handles multi-tenancy, ensures low latency, and manages consistency trade-offs.

    System DesignOnsiteDistributed SystemsScalabilityCaching
  • GoogleEasySoftware Engineer
    Design a waitlist manager

    This question tests your ability to design a waitlist system using efficient data structures to handle insertions, removals, and lookup operations.

    Software Engineering FundamentalsOnsiteData StructuresHash MapLinked List
  • GoogleMediumSoftware Engineer
    Design an Employee Coverage Timeline

    This problem tests your ability to handle overlapping intervals and state tracking using a sweep-line algorithm combined with a mapping structure.

    Software Engineering FundamentalsOnsiteSweep-lineIntervalsAlgorithms
  • GoogleMediumSoftware Engineer
    Design an Enterprise AI Adoption Agent for a Global Company

    Prepare for a Google system design interview about design an enterprise ai adoption agent for a global company. This question focuses on requirements, architecture, trade-offs, reliability, and follow-up discussion areas.

    System DesignOnsite
  • GoogleMediumSoftware Engineer
    Design an Offline-First Client That Syncs Edits and Resolves Multi-Device Conflicts

    Design the client side of an app where users keep editing data offline, store every edit locally, and sync with the server when the network returns. Covers the local data model and edit queue, a sync protocol that is safe to retry, and detecting and resolving version conflicts when several devices change the same data.

    System DesignOnsite
  • GoogleMediumSoftware Engineer
    Design an Online Coding Judge Platform

    This question tests the ability to design a high-throughput, secure, and fault-tolerant distributed system capable of executing untrusted user code in isolated environments.

    System DesignOnsiteScalabilitySecurityQueues
  • GoogleEasySoftware Engineer
    Design an ads retrieval service using a heap

    This question tests the ability to design a retrieval system using a priority queue and the implementation of efficient operations to maintain a sorted collection of ad candidates.

    Software Engineering FundamentalsOnsiteHeapPriority QueueData Structures
  • GoogleMediumSoftware Engineer
    Design an editable sequence with marker

    This question evaluates understanding of mutable ordered sequence data structures, marker semantics and invariants, API and data model design, and algorithmic time-complexity trade-offs for insert, delete, and move operations.

    Software Engineering FundamentalsOnsite
  • GoogleHardSoftware Engineer
    Design an elevator control system

    This question evaluates system design skills including architectural modeling of components, scheduling and concurrency control, state-machine design, and fault-tolerance for real-time control systems, and falls under the System Design domain.

    System DesignOnsite
  • GoogleEasySoftware Engineer
    Design compressed vector and compute dot product

    This problem tests your ability to design a memory-efficient data structure for sparse or repetitive vector data and implement an arithmetic operation without fully decompressing the representation.

    Coding & AlgorithmsOnsiteArraysTwo PointersData Structures
  • GoogleMediumSoftware Engineer
    Design structure for insert and k-th largest

    This problem tests your ability to design a dynamic data structure that maintains elements while efficiently querying the k-th largest value, necessitating a balance between insertion speed and retrieval performance.

    Coding & AlgorithmsOnsiteData StructuresHeapBinary Search Tree
  • GoogleMediumSoftware Engineer
    Determine All Players with Fixed Rankings

    Determine which players in a competition have a uniquely determined ranking given a set of pairwise match outcomes.

    Coding & AlgorithmsOnsitegraphbfsdfs
  • GoogleMediumSoftware Engineer
    Determine Whether a Word Exists in a Graph

    This problem tests the ability to implement a depth-first search (DFS) with backtracking to find a specific sequence within a grid, while managing state to avoid reusing the same path.

    Coding & AlgorithmsOnsiteDFSBacktrackingGraphs
  • GoogleMediumSoftware Engineer
    Determine validity after digit-constrained deletions

    This interview question evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer for Determine validity after digit-constrained deletions states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Coding & AlgorithmsOnsite
  • GoogleEasySoftware Engineer
    Deterministic Task Execution Order

    This question tests the ability to implement Kahn's algorithm for topological sorting while using a min-priority queue to satisfy specific tie-breaking requirements.

    Coding & AlgorithmsOnsiteGraphsTopological SortPriority Queue
  • GoogleMediumSoftware Engineer
    Discuss Challenges, Difficult Colleagues, and Multitasking

    This question assesses your ability to navigate workplace friction and manage competing priorities through structured reflection and professional communication.

    Behavioral & LeadershipOnsiteBehavioralLeadershipConflict Resolution
  • GoogleMediumSoftware Engineer
    Earliest Time of Full Connectivity

    Determine the earliest timestamp at which all nodes in a network become part of a single connected component using a chronological sequence of edge additions.

    Coding & AlgorithmsOnsitegraphunion-findsorting
  • GoogleMediumSoftware Engineer
    Enforce a Country's IP Ban List on Incoming Connections Using Its Lookup API

    A system design exercise where a country provides an API reporting whether an IP address is banned and the service must refuse connections from banned addresses. It tests scoping questions such as IPv6 and address ranges, fast local enforcement at the edge, keeping ban data fresh, and fail-safe compliance behavior.

    System DesignOnsite
  • GoogleHardSoftware Engineer
    Event Topic Router With Named Placeholders and Tail Wildcards

    Build a router for a telemetry message bus that maps dot-separated topics to registered subscription patterns with named placeholders and a trailing multi-segment wildcard; tests trie design, precedence rules and backtracking.

    Software Engineering FundamentalsOnsitetriebacktrackingstring-parsing
  • GoogleMediumSoftware Engineer
    Explain Changing Priorities and Your Role on a Team

    Use concrete examples to explain how you respond to a material priority change and what contribution teammates reliably seek from you. Strong responses show explicit trade-offs, stakeholder alignment, adaptable collaboration, measurable impact, honest limits, and lessons carried forward.

    Behavioral & LeadershipOnsite
  • GoogleHardSoftware Engineer
    Explain SLI/SLO/SLA and design monitoring

    This question evaluates a candidate's competency in service reliability and observability, specifically understanding and distinguishing SLIs, SLOs, and SLAs, planning error budgets, and designing monitoring and alerting for a production web API.

    Software Engineering FundamentalsOnsite
  • GoogleMediumSoftware Engineer
    Explain What You Would Do Differently

    This question assesses a candidate's ability to demonstrate professional growth, self-awareness, and the capacity to synthesize past mistakes into improved engineering practices.

    Behavioral & LeadershipOnsiteBehavioralSelf-ReflectionLeadership