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 2281–2310 of 5874 results

  • GoogleEasySoftware Engineer
    Describe conflict, ambiguity, and process improvement

    This question evaluates interpersonal and leadership competencies for a Software Engineer role—specifically conflict resolution, handling ambiguity, process improvement, cross-functional collaboration, and the ability to articulate technical decisions.

    Behavioral & LeadershipOnsite
  • GoogleMediumSoftware Engineer
    Describe manager and cross-team communication

    This question evaluates cross-functional communication, stakeholder management, expectation-setting, and risk escalation competencies in an engineering context.

    Behavioral & LeadershipOnsite
  • GoogleMediumSoftware Engineer
    Describe teamwork and personal achievements

    This question evaluates teamwork, leadership, problem-solving, communication, and self-awareness by probing examples of helping an underperforming teammate, managing challenging projects, and describing personal achievements.

    Behavioral & LeadershipTechnical Screen
  • GoogleMediumSoftware Engineer
    Design A Drive-Style Usage Quota Limiter

    Design a distributed storage quota accounting and enforcement service for a cloud drive platform that handles concurrent multi-part uploads, deletions, retries, and usage drift reconciliation.

    System DesignTechnical ScreenDistributed SystemsCloud StorageConcurrency
  • GoogleHardSoftware Engineer
    Design A/B testing platform

    This question evaluates a candidate's competency in designing scalable, privacy-compliant A/B testing platforms, covering deterministic bucketing, traffic allocation, telemetry and event pipelines, experiment governance, and applied statistical methods in the Analytics & Experimentation domain.

    Analytics & ExperimentationTechnical Screen
  • GoogleMediumSoftware Engineer
    Design Calendar Event Conflict Handling

    This question evaluates a candidate's competence in designing scalable calendar event and conflict-handling systems, focusing on data modeling, time semantics (time zones and recurrence), concurrency control, and distributed-system trade-offs, and falls under the System Design domain.

    System DesignOnsite
  • GoogleMediumSoftware Engineer
    Design Extensible Spreadsheet Aggregation APIs

    Design reusable spreadsheet sum, minimum, and maximum APIs with operator state, shared cell evaluation, error policies, and extensible aggregation.

    Software Engineering FundamentalsOther
  • GoogleMediumSoftware Engineer
    Design Interval Membership Queries with Linear, Logarithmic, and Constant-Time Options

    Design interval membership with linear scans, predecessor binary search, or bounded-universe direct addressing, comparing insertion, memory, adjacency, inclusive boundaries, overflow safety, and workload fit.

    Software Engineering FundamentalsTechnical Screen
  • GoogleMediumSoftware Engineer
    Design LLM Summarization of E-commerce Reviews with Prompt-Injection and PII Defenses

    A system design question about an e-commerce platform that ingests customer reviews and uses an LLM to summarize them for an internal dashboard. It probes the ingestion and summarization pipeline, trust and safety filtering, data sanitization and PII redaction, and defenses against prompt injection hidden in review text.

    System DesignOnsite
  • GoogleMediumSoftware Engineer
    Design Tic-Tac-Toe With K Players

    This question evaluates a candidate's ability to design and implement a game engine, manage board state and turn logic, validate moves, and apply efficient data structures and algorithms for win detection within the Coding & Algorithms domain.

    Coding & AlgorithmsTechnical Screen
  • GoogleMediumSoftware Engineer
    Design a Billing-Token Rate Limiter for AI Agents

    Design a distributed rate limiter and quota enforcement service tailored for AI agent workloads where consumption is measured in variable billing tokens rather than fixed request counts.

    System DesignOnsiteDistributed SystemsRate LimitingAI Infrastructure
  • 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
  • GoogleMediumSoftware Engineer
    Design a Music Recommendation System with an LLM Agent

    Design a large-scale music recommendation system combining traditional multi-stage ranking with an LLM agent for natural language intent parsing and contextual explanations.

    ML System DesignTechnical ScreenRecommender SystemsLLM AgentsInformation Retrieval
  • GoogleMediumSoftware Engineer
    Design a Security Monitoring Framework

    Design a scalable, low-overhead security monitoring framework capable of capturing OS-level events via eBPF across a massive cloud fleet, streaming telemetry, and detecting malicious activity in near-real-time.

    System DesignTechnical ScreenSecurityeBPFStreaming
  • GoogleMediumSoftware Engineer
    Design a System to Distribute Large ML Model Files Across a Serving Fleet

    System design interview question from a senior software engineer loop at Google: design a system that distributes very large ML model files to a fleet of serving machines. It examines bandwidth reasoning, fan-out strategies, integrity verification, staged rollout and rollback, and recovery from failed or partial transfers.

    System DesignOther
  • GoogleHardSoftware Engineer
    Design a Task Scheduler for Opaque Long-Running GPU Jobs ("Design Sora")

    This question tests your ability to design a distributed job scheduler and execution engine for long-running, compute-intensive GPU workloads. It evaluates distributed system fundamentals including multi-tenant fairness, gang scheduling, node failure recovery, and resource utilization.

    System DesignTechnical ScreenDistributed SystemsGPU SchedulingResource Management
  • 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
  • GoogleHardSoftware Engineer
    Design a key-value store

    This question tests the ability to design a distributed, scalable, and fault-tolerant key-value store while addressing challenges related to data distribution, consistency, and storage engine implementation.

    System DesignTechnical ScreenDistributed SystemsStorageScalability
  • 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
  • GoogleMediumSoftware Engineer
    Design a logger that returns top-K messages

    Design an in-memory message logger that records timestamped messages and queries the top-K most frequent messages within any given time range.

    Coding & AlgorithmsTechnical Screendesignhash-tableheap
  • GoogleMediumSoftware Engineer
    Design a multi-timer using single underlying timer

    This question evaluates a candidate's ability to implement timer scheduling, resource multiplexing, and concurrency control using constrained system primitives, testing understanding of timers, event handling, data structures, and correctness under race conditions.

    Software Engineering FundamentalsOnline Assessment
  • GoogleHardSoftware Engineer
    Design a prioritized log manager with eviction

    Design a prioritized log manager with eviction evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignTechnical Screen
  • GoogleMediumSoftware Engineer
    Design a rolling hit counter API

    This question tests the ability to design an efficient data structure for time-series aggregation using a sliding window approach with O(1) time complexity per operation.

    Coding & AlgorithmsTechnical ScreenData StructuresConcurrencyDesign
  • 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