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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDetermine 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 EngineerDetermine 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 EngineerDetermine 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 EngineerDeterministic 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 EngineerDiscuss 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 EngineerEarliest 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 EngineerEnforce 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 EngineerEvent 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 EngineerExplain 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 EngineerExplain 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 EngineerExplain 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