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 301–330 of 448 results

  • OpenAIMediumSoftware Engineer
    GPU Credit Ledger: Spend Earliest-Expiring Credits First, Stop on Overdraft

    A coding and design question about an in-memory GPU credit ledger that grants expiring credits, charges usage against the credit that expires soonest, and returns no balance once any charge overdraws the account. It tests data structure choice, expiry and boundary conventions, and optimizing the ledger for a very large number of credit changes.

    Software Engineering FundamentalsOnsite
  • OpenAIMediumSoftware Engineer
    Game Telemetry Windows: Match Counts, Live Sessions, Late Events

    Build an in-memory service that counts per-match actions inside a global 10-minute window, tracks each player's live client sessions from heartbeats and logouts, and stays correct when events arrive late. Tests bounded-memory eviction, amortized analysis, lazy deletion and exact window semantics.

    Software Engineering FundamentalsOnsitesliding-windowheapqueue
  • OpenAIMediumSoftware Engineer
    Implement a GPU credit ledger with expiring grants and out-of-order operations

    Implement a GPU credit ledger with grant, subtract and get-balance operations, where grants expire and spending draws from the soonest-expiring grant first. Operations can arrive out of timestamp order, and a follow-up asks how to avoid replaying the whole history from time zero on every query in production.

    Software Engineering FundamentalsOnsite
  • OpenAIHardSoftware Engineer
    Implement a Set with Readable Snapshots

    Design and implement a versioned set data structure that supports membership modifications, instant snapshotting, and historical point-in-time queries efficiently.

    Software Engineering FundamentalsOnsiteData StructuresDesignBinary Search
  • OpenAIMediumSoftware Engineer
    Implement a Simple Memory Allocator

    This question evaluates low-level memory management and allocator design skills, including block header layout, free-list/data-structure choices, pointer arithmetic, fragmentation concepts, and analysis of time/space complexity.

    Software Engineering FundamentalsOnsite
  • OpenAIHardSoftware Engineer
    In-Memory Key-Value Store with Crash Recovery from a Log and Concurrent Access

    Implement an in-memory key-value store, make it recover from a log file after a crash, including a half-written final record, and make it correct and fast under many concurrent threads. It tests write-ahead logging, crash consistency, compaction, and lock design with group commit.

    Software Engineering FundamentalsOnsite
  • OpenAIHardSoftware Engineer
    Indexed Vector as a Linked List with Checkpoints Every k Nodes

    Implement an indexed dynamic sequence of strings, in the sense of an array list, that supports inserting at a position and reading by position. Starting from a plain singly linked list, build a linked list with a checkpoint every k nodes so reads cost O(k), and keep the checkpoints correct as insertions shift positions.

    Software Engineering FundamentalsOnsite
  • 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
  • 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
  • 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
    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
  • 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
  • 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
  • OracleMediumSoftware Engineer
    Object-oriented design of a fixed-capacity LRU cache with O(1) get and put

    An object-oriented design question that asks for a fixed-capacity least-recently-used cache whose get and put operations run in constant average time and evict the least recently used entry when the cache is full. It tests class decomposition, data structure choice, recency bookkeeping, edge cases and awareness of thread safety.

    Software Engineering FundamentalsOnsite
  • OtherMediumSoftware Engineer
    Batch Concurrent Logs into Five-Second Windows

    Batch concurrent logs into half-open five-second processing-time windows with atomic rotation, a single ordered emitter, late-timer handling, and explicit shutdown and sink-failure policies.

    Software Engineering FundamentalsOnsite
  • OtherMediumSoftware Engineer
    Build a Queue Worker with Backoff and a Dead-Letter Queue

    Design queue-worker retries with exponential backoff, durable delayed delivery, attempt limits, idempotent effects, and dead-letter replay, including AI-code validation.

    Software Engineering FundamentalsOnsite
  • OtherMediumSoftware Engineer
    Explain RF/analog IC interview fundamentals

    This interview question evaluates engineering fundamentals, trade-offs, examples, pitfalls, and operational implications in a realistic interview setting. A strong answer for Explain RF/analog IC interview fundamentals states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Software Engineering FundamentalsOnsite
  • OtherMediumSoftware Engineer
    Test Severity Filtering with Contract-Distinguishing Cases

    Test severity filtering with independent expected results, inclusive boundaries, misleading message text, missing fields, empty records, and preserved order and duplicates.

    Software Engineering FundamentalsOnsite
  • PerplexityHardSoftware Engineer
    In-Memory File System: Strict mkdir, touch, ls, rm, rmdir and a Command Runner

    A two-part coding exercise to build an in-memory file system: first mkdir, touch and ls with strict path validation and no implicit creation of parent directories, then rm, rmdir and a function that executes command sequences. It tests tree modeling, error handling and working against provided tests.

    Software Engineering FundamentalsOnsite
  • PersistenceMediumSoftware Engineer
    Explain Lazy Loading and Frontend Code Splitting

    This question tests your understanding of performance optimization techniques in large-scale frontend applications, specifically how to balance initial load time against runtime latency.

    Software Engineering FundamentalsOnsiteFrontendPerformanceArchitecture
  • PersistenceMediumSoftware Engineer
    Reason About Indexes, Kafka, and Database Locking

    Tests practical database indexing, Kafka event ingestion with idempotency guarantees, and row-level locking strategies to prevent concurrency bugs and deadlocks in an inventory and order processing pipeline.

    Software Engineering FundamentalsOnsiteDatabasesPostgreSQLKafka