Katkat

practice a little every day, paws crossed ♡

Software Engineering Fundamentals 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 811–840 of 1208 results

  • OpenAIMediumMachine Learning Engineer
    Model Infection, Immunity, Delayed Death, and Burn Interventions on a Grid

    Design and implement a discrete grid simulation modeling a five-stage disease progression with state countdowns, immunity, delayed mortality, and external burn interventions.

    Software Engineering FundamentalsTechnical Screensimulationmatrixstate-machine
  • OpenAIHardSoftware Engineer
    Model particle hits on a screen

    This question evaluates geometric reasoning and probability theory skills, specifically transformation of random variables and derivation of CDF/PDF from angular sampling, together with practical competence in Monte Carlo simulation and interpretation of numerical and visualization artifacts; domain: Software Engineering Fundamentals.

    Software Engineering FundamentalsOnsite
  • OpenAIHardSoftware Engineer
    Plant Infection Grid Simulation: Days to Stabilize, Immune Plants, Expiring Immunity

    A progressive grid simulation: infection spreads daily between adjacent plants, and you compute how many days the garden takes to stabilize, then add permanently immune plants and immunity that expires after a countdown. It tests multi-source breadth-first search, Dijkstra-style waiting times and precise day counting.

    Software Engineering FundamentalsOnsite
  • OpenAIHardSoftware Engineer
    Print Shop Job Queue: Retries, a Poison Queue and Job Prerequisites

    Implement an in-memory job queue for a print shop where workers reserve, complete, or fail jobs, failed jobs retry up to a limit before landing in a poison queue, and a second part adds job prerequisites with cascading failure.

    Software Engineering FundamentalsTechnical Screenqueuesstate-machinesretries
  • OpenAIMediumSoftware Engineer
    Reactive Budget Notebook With Live Formulas and Cycle Rejection

    Build a small reactive calculator where named variables hold integers or formulas that reference other variables, values stay correct as inputs change, and any definition that would create a circular dependency is rejected. Tests graph modeling, cache invalidation, cycle detection, and writing tests live.

    Software Engineering FundamentalsOnsitedependency-graphcycle-detectioncaching
  • OpenAIHardSoftware Engineer
    Reason About Binary Search with One-Call-Delayed Feedback

    Implement and analyze binary search under a 1-step delayed-feedback protocol where each query response evaluates the previous guess.

    Software Engineering FundamentalsTechnical Screenbinary-searchinteractivealgorithms
  • OpenAIMediumSoftware Engineer
    Refactor a Chatbot into Clean Object-Oriented Components

    Tests object-oriented design and refactoring skills by decoupling a monolithic chatbot script into modular, testable, and extensible components adhering to SOLID principles.

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignRefactoringDesign Patterns
  • OpenAIMediumSoftware Engineer
    Serialize and Restore an In-Memory Key-Value Store

    Design and implement a deterministic binary serializer and strict deserializer for a string key-value store, ensuring robust input validation against corruption, truncation, duplicate keys, and trailing data.

    Software Engineering FundamentalsTechnical Screenbinary-serializationsystemsdata-encoding
  • OpenAIMediumSoftware Engineer
    Sliding-Window Chat Analytics: Recent Counts, Live Sessions, Out-of-Order Events

    A three-part coding exercise: build an in-memory chat analytics service that counts each chat's interactions in a closed 15-minute sliding window, tracks each user's live sessions from touch and close events, and stays correct when events arrive out of order. It tests bounded-memory eviction, efficient updates and queries, and exact window and ordering semantics.

    Software Engineering FundamentalsOnsite
  • OpenAIMediumSoftware Engineer
    Sliding-Window Forklift Telemetry: Pings, Shifts, Late Events

    Build an in-memory telemetry service that counts a forklift's recent pings in a 15-minute window, tracks which forklifts are currently on an active shift, and stays correct when pings arrive late and out of order. Tests bounded-memory eviction and exact window semantics.

    Software Engineering FundamentalsOnsitesliding-windowstreamingdata-structures
  • OpenAIMediumSoftware Engineer
    Social Graph with Follow/Unfollow, Snapshots, History Queries and Recommendations

    A software engineer phone-screen coding problem: build an in-memory social graph that supports follow and unfollow, point-in-time snapshots, queries of who followed whom as of an earlier snapshot, and recommendations of users to follow. It tests data-structure choice, versioned history, and deterministic ranking.

    Software Engineering FundamentalsTechnical Screen
  • OpenAIMediumSoftware Engineer
    Spreadsheet engine with setCell/getCell, cell references, and cycle detection

    Build a small spreadsheet engine with setCell and getCell, where formulas reference other cells and a write that would create a circular dependency must be detected. The exercise also asks for live unit tests, probing data modeling, dependency graphs, cache invalidation and test design.

    Software Engineering FundamentalsOnsite
  • OpenAIHardSoftware Engineer
    Text Editor in Four Stages: Buffer, Undo/Redo, Trie Autocomplete, Collaborative OT

    Build a text editor in four stages: a buffer with insert, delete and read, undo and redo with two stacks, trie-based autocomplete ranked by word frequency, and real-time collaborative editing with operational transformation. It tests data structure choice, reversible operations, top-k retrieval and concurrency correctness.

    Software Engineering FundamentalsOnsite
  • OpenAIMediumSoftware Engineer
    Three-Card Game: Deal Hands, Rank Them, Then Add a Flush Category

    A two-part card game coding exercise: deal three cards to each player from one deck, show every hand and pick the winner using three of a kind, pair and high card, then add a flush category between them. It tests hand representation, within-category comparison, tie handling and code that extends cleanly when a rule changes.

    Software Engineering FundamentalsTechnical Screen
  • OpenAIHardSoftware Engineer
    Toy Language Types: Render Types and Signatures, Infer Generic Return Types

    Model the types of a toy programming language, with primitives, generic type variables and nested tuples, render types and function signatures as strings, then infer a call's concrete return type by binding generics consistently across arguments. It tests recursive data modeling, exact formatting and type inference with clear errors.

    Software Engineering FundamentalsOnsite
  • OpenAIHardSoftware Engineer
    Wildfire Grid: Days Until Quiet with Expiring Firebreaks

    Simulate a wildfire spreading through a forest grid to find how many days until it stops spreading, then extend the model with fire-resistant trees and firebreaks that only hold for a limited number of days before the protected tree becomes flammable.

    Software Engineering FundamentalsOnsitebfsgraphssimulation
  • OpenAIMediumSoftware Engineer
    eSIM Data Wallet with Expiring Bundles and Late Usage Records

    Implement a prepaid data wallet where usage draws from the soonest-expiring bundle first and records arrive out of timestamp order, then add checkpointing so balance queries do not replay the full history. Tests event-sourced thinking, heap-based priority consumption, and cache invalidation.

    Software Engineering FundamentalsOnsiteheapevent-sourcingout-of-order
  • OptiverMediumSoftware Engineer
    Design a Multi-Level Expiring Item Store

    Design an in-memory multi-level key-value store where items are stored at specific priority levels with individual expiration timestamps, supporting query fallback and expiration cleanup.

    Software Engineering FundamentalsOnline AssessmentData StructuresDesignHash Table
  • OptiverHardSoftware Engineer
    Design a News Subscription Processing Engine

    Design and implement an in-memory news subscription processing engine that supports attribute-based filtering, deduplication, unsubscription, and unacknowledged delivery tracking.

    Software Engineering FundamentalsOnline AssessmentLow-Level DesignPub-SubConcurrency
  • OptiverMediumSoftware Engineer
    Design an object-oriented queue and compare implementations

    Design an object-oriented queue and compare implementations 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 FundamentalsTechnical Screen
  • OptiverHardSoftware Engineer
    Implement Expiration-Aware Retrieval Across Storage Levels

    Design and implement a multi-level storage system that purges expired items, filters for under-utilized storage tiers, and deterministically retrieves the highest-weight item.

    Software Engineering FundamentalsHR ScreenData StructuresDesignHeap
  • OptiverMediumSoftware Engineer
    Optiver Beat The Odds: Five Rapid-Fire Probability Brainteasers (Dice, Cards, Coins, Pigeonhole)

    This collection of rapid-fire probability brainteasers evaluates probabilistic reasoning, combinatorics, symmetry-based thinking, conditional probability, and fast mental arithmetic to gauge quantitative intuition under time pressure.

    Software Engineering FundamentalsOnline Assessment
  • OptiverMediumData Scientist
    Prove a Tight Lower Bound on a Latin Square's Lower-Triangle Sum

    This question evaluates combinatorial reasoning and discrete optimization skills—specifically understanding permutations in Latin squares, triangular-sum inequalities, and construction of extremal examples—within the Software Engineering Fundamentals domain for a Data Scientist position, and it primarily probes conceptual understanding with a constructive application component. Such problems are commonly asked to assess the ability to derive global bounds from local constraints and to exhibit matching constructions, signaling mathematical maturity and facility with combinatorial identities.

    Software Engineering FundamentalsTechnical Screen
  • OptiverHardSoftware Engineer
    Reviewing a Freight-Scheduler Codebase: Bugs, Data Structures, and Concurrency

    This question evaluates a candidate's ability to perform code review and debugging on a large codebase, testing understanding of data structures, algorithmic complexity, deterministic allocation policies, capacity accounting, and concurrency correctness.

    Software Engineering FundamentalsTechnical Screen
  • OracleMediumSoftware Engineer
    Apply operations efficiently using Command pattern

    This problem tests the application of the Command design pattern to encapsulate, track, and optimize a series of state mutations on a shared object.

    Software Engineering FundamentalsOnsiteDesign PatternsOOPCommand Pattern
  • OracleMediumSoftware Engineer
    Explain Java String Storage and Construction Choices

    Tests deep understanding of Java string memory representation, the string constant pool, immutability, and construction performance trade-offs.

    Software Engineering FundamentalsOnsiteJavaJVMMemory Management
  • OracleMediumSoftware Engineer
    Explain a Team-Owned System Architecture

    This question tests your ability to articulate the high-level architecture of a complex system you have worked on, focusing on data consistency, system scalability, and the rationale behind specific design choices.

    Software Engineering FundamentalsOnsiteSystem DesignArchitectureReliability
  • OracleMediumSoftware Engineer
    Extend and optimize an existing CLI tool

    This problem tests your ability to refactor legacy CLI code, implement modular features, and optimize performance for large-scale data processing.

    Software Engineering FundamentalsOnsiteRefactoringCLIPerformance
  • OracleEasySoftware Engineer
    Implement a Key-Value Cache with Fixed TTL, Renewal and a Live-Entry Count

    Implement an in-memory key-value cache whose entries expire a fixed time-to-live after their last write, with put, get, renew and a count of live entries, and write your own tests for it. It tests expiry boundary semantics, renewal rules, efficient cleanup of expired entries and test design.

    Software Engineering FundamentalsOnsite
  • OracleEasySoftware Engineer
    Implement a Paginated Medical-Record Filter Without Guessing an Ambiguous Rule

    This problem tests your ability to handle ambiguous business logic through requirement clarification and implement a robust, paginated filtering system for sensitive data.

    Software Engineering FundamentalsTechnical ScreenPaginationRequirementsData-Validation