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 1591–1620 of 2336 results

  • NotionMediumSoftware Engineer
    Design a Shared Calendar Service

    This problem tests the ability to design a scalable shared calendar system with support for recurring events, granular permission models, and notification scheduling.

    System DesignOnsiteDatabase SchemaScalabilityAsynchronous Processing
  • NotionMediumSoftware Engineer
    Design a Todo List Object Model

    Tests object-oriented design, domain modeling, and API design skills by implementing an extensible, hierarchical Todo list model with task dependency management and filtering.

    Software Engineering FundamentalsOnsiteObject-Oriented DesignAPI DesignDesign Patterns
  • NotionMediumSoftware Engineer
    Find Top Errors in Time Window

    This problem tests your ability to process streaming log data within a sliding time window, aggregate frequencies using hash maps, and implement custom sorting logic.

    Coding & AlgorithmsOnsiteHash MapSortingData Processing
  • NubankMediumSoftware Engineer
    Design Chargeback Ingestion and CSV Delivery

    Tests the ability to design an end-to-end financial transaction pipeline that ingests, deduplicates, and validates chargeback events, then reliably batches and delivers immutable CSV files to external card schemes via SFTP.

    System DesignOnsiteFintechBatch ProcessingEvent-Driven
  • NubankEasySoftware Engineer
    Design a chargeback ingestion and export system

    This question assesses the ability to design a distributed system that reliably ingests high-volume transaction records and prepares them for periodic downstream delivery while ensuring data consistency and auditability.

    System DesignOnsiteDistributed SystemsIdempotencyData Pipelines
  • NuroHardSoftware Engineer
    Compare Locks and MVCC in a Versioned Store

    Tests deep understanding of concurrency control paradigms by comparing pessimistic locking against Multi-Version Concurrency Control (MVCC) in a versioned key–value storage engine, focusing on version lifecycle, garbage collection, and read/write trade-offs.

    Software Engineering FundamentalsOnsiteStorage EnginesConcurrency ControlMVCC
  • NuroHardSoftware Engineer
    Design a Shared Distributed ML Training Platform

    Design a multi-tenant distributed machine learning training platform that orchestrates GPU clusters, enforces team quotas, guarantees gang scheduling, and handles node-level checkpointing and recovery.

    ML System DesignOnsiteml-system-designdistributed-systemscluster-management
  • NuroHardSoftware Engineer
    Explain Project Scope, Ownership, and Technical Challenges

    Assess a candidate's ability to articulate end-to-end technical leadership, architectural decision-making, and deep problem-solving on a complex engineering project. Evaluates clear communication of personal ownership, rigorous validation methods, and retrospective insights.

    Behavioral & LeadershipOnsiteBehavioralTechnical LeadershipArchitecture
  • NuroHardSoftware Engineer
    Implement a thread-safe periodic job scheduler

    Implement a thread-safe periodic job scheduler evaluates engineering fundamentals, trade-offs, examples, pitfalls, and operational implications in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Software Engineering FundamentalsOnsite
  • NuroHardSoftware Engineer
    Schedule CPU and GPU Video Processing

    Design a distributed heterogeneous batch-processing system to schedule and execute multi-stage video pipelines across CPU and GPU worker clusters with fault tolerance, backpressure, and cost-efficient resource management.

    System DesignOnsitesystem-designdistributed-systemsbatch-processing
  • NuroHardSoftware Engineer
    Search Large Vehicle Records with Bounded Memory

    Design a petabyte-scale search engine for autonomous vehicle records supporting multidimensional range queries, bounded-memory query execution, and stable streaming pagination.

    System DesignOnsitesystem-designdistributed-systemsbig-data
  • OmnissaMediumSoftware Engineer
    Alternate Odd and Even Numbers with Two Threads

    This problem tests knowledge of thread synchronization using locks and condition variables to enforce a specific execution order between two concurrent processes.

    Coding & AlgorithmsOnsiteConcurrencyMultithreadingSynchronization
  • OmnissaMediumSoftware Engineer
    Check Whether a Singly Linked List Is a Palindrome

    Tests the ability to determine if a singly linked list is a palindrome in O(n) time and O(1) auxiliary space using two pointers and in-place list reversal.

    Coding & AlgorithmsOnsiteLinked ListTwo PointersIn-Place Reversal
  • OmnissaMediumSoftware Engineer
    Find the Celebrity from a Knows Matrix

    This problem tests the ability to solve a search problem in O(N) time by utilizing the transitive and exclusionary properties of the 'knows' relationship to eliminate candidates.

    Coding & AlgorithmsOnsiteArraysTwo PointersAlgorithms
  • OmnissaMediumSoftware Engineer
    Find the Maximum Sum of a Contiguous Subarray

    This problem tests the ability to implement Kadane's algorithm to find the maximum sum of a contiguous subarray, specifically focusing on handling negative integers and maintaining optimal time and space complexity.

    Coding & AlgorithmsOnsiteArraysDynamic ProgrammingKadane's Algorithm
  • OmnissaMediumSoftware Engineer
    Present a Project Architecture and Your Hardest Technical Decision

    This question evaluates your ability to articulate complex system architectures clearly, explain key technical trade-offs, demonstrate personal ownership, and evaluate the long-term impact of architectural decisions.

    Behavioral & LeadershipOnsiteSystem ArchitectureTechnical LeadershipTrade-Off Analysis
  • OmnissaMediumSoftware Engineer
    Prioritize Two Important Tasks with Competing Deadlines

    Assesses how an engineer navigates conflicting priorities, evaluates business versus technical trade-offs, communicates transparently with stakeholders, and executes under tight timelines.

    Behavioral & LeadershipOnsiteBehavioralPrioritizationStakeholder Management
  • OmnissaMediumSoftware Engineer
    Repeatedly Remove Adjacent Equal Characters

    This problem tests your ability to handle recursive reduction patterns in a string using a stack-based approach to achieve linear time complexity.

    Coding & AlgorithmsOnsiteStackStringGreedy
  • OpenAIMediumSoftware Engineer
    0-to-1 Ownership, Critical Feedback Both Ways, Defining Success, and Why OpenAI

    A software engineer behavioral round covering a 0-to-1 project you built, a time you received negative feedback, how you deliver critical feedback to others, how you define success for a project or product, and why you want to join OpenAI. It tests ownership, self-awareness, communication and motivation.

    Behavioral & LeadershipOnsite
  • OpenAIHardSoftware Engineer
    A Project You Decided Not to Ship

    This question evaluates your product judgment, objective decision-making, and ability to prioritize organizational resources over personal or team output.

    Behavioral & LeadershipOnsiteBehavioralLeadershipProduct Judgment
  • OpenAIMediumSoftware Engineer
    AI Safety Views and Leadership-Principle Behavioral Questions

    A hiring-manager round asks for your view of AI safety and how it would shape your engineering work, followed by standard behavioral questions in the style of Amazon's leadership principles. It tests genuine motivation, judgment when safety and speed conflict, and structured, evidence-based storytelling.

    Behavioral & LeadershipOnsite
  • OpenAIMediumSoftware Engineer
    Add Consecutive-Value Bonuses to Grid Paths

    Tests dynamic programming on a 2D grid with extended state tracking to incorporate multi-step path history for score bonuses, path counting, and lexicographical path reconstruction.

    Coding & AlgorithmsOnsitedynamic-programminggridpathfinding
  • OpenAIHardSoftware Engineer
    Aggregate Recent Message Events And Active Chats

    Design an in-memory aggregation system that tracks rolling window message counts and distinct active entities across chats with bounded memory and O(1) amortized operations.

    Coding & AlgorithmsOnsiteSliding WindowData StreamsDesign
  • OpenAIMediumSoftware Engineer
    Behavioral: why OpenAI, AI safety views, 0-to-1 work, feedback, defining success

    Behavioral questions reported from OpenAI's software engineering loop: why OpenAI, how you think about AGI and AI safety, a 0-to-1 project, negative feedback you received, and how you defined success for a project. A slide-based project deep dive then probes technical depth under repeated challenge, testing ownership, calibrated judgment and composure.

    Behavioral & LeadershipOnsite
  • OpenAIMediumSoftware Engineer
    Build a SaaS API-Credit Ledger With Expiring Grants and Late Events

    Implement an API-credit ledger that grants, spends, and reports balances, where each grant expires and spending always draws from the soonest-expiring usable grant first, even when operations arrive out of timestamp order.

    Software Engineering FundamentalsOnsitedata-structuresheapevent-ordering
  • OpenAIMediumSoftware Engineer
    Clarify and Design Social-Graph Milestones

    Clarify ambiguous social-graph milestones before designing follow and unfollow operations, consistent snapshots, and user recommendations. The discussion tests directed-edge semantics, snapshot guarantees, recommendation-policy choices, exclusions, deterministic tie rules, scale assumptions, and contract-focused testing.

    Software Engineering FundamentalsOnsite
  • OpenAIMediumSoftware Engineer
    Compute infection spread time

    This problem tests your ability to model a spreading process on a 2D grid using a multi-source Breadth-First Search (BFS) to determine the time required for a state to propagate across the entire space.

    Coding & AlgorithmsOnsiteBFSGraphsGrid
  • OpenAIHardSoftware Engineer
    Count Events in a Trailing 15-Minute Window with a Fixed-Size Ring Buffer

    Implement an event counter that returns how many events occurred in the trailing 15 minutes, using a fixed-size ring buffer of per-second buckets so memory stays bounded at any event rate. It tests circular buffers, stale-slot detection, window boundaries, late events and thread safety.

    Software Engineering FundamentalsOnsite
  • OpenAIMediumSoftware Engineer
    Design Bakery Chain Card Payments With Tips and Nightly Settlement

    Design the payment system for a bakery chain's counter terminals, where a card is authorized for the purchase, a tip is added afterward, and each location's transactions are captured together in a nightly settlement batch that must scale as the chain grows.

    System DesignOnsitesystem-designpaymentsidempotency
  • OpenAIMediumSoftware Engineer
    Design GPU Scheduling for a Video Generation Platform

    This question tests your ability to design a distributed job scheduling system that manages heterogeneous GPU resources for computationally expensive, variable-length video generation tasks.

    System DesignOnsiteGPU SchedulingDistributed SystemsLatency