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 751–780 of 1208 results

  • NielsenMediumSoftware Engineer
    Spring Boot Internals and Java 21 Features Behind a Machine Coding Solution

    A machine coding follow-up that drills into a Spring Boot service built during the round: startup, auto-configuration, dependency injection and proxies, then the Java 21 features that could improve it, such as sealed types with pattern matching and virtual threads. It tests framework depth and version-aware modern Java knowledge.

    Software Engineering FundamentalsOther
  • NikeMediumSoftware Engineer
    Choose a Sorting Algorithm from Workload Constraints

    Tests your ability to evaluate classical sorting algorithms against concrete workload constraints such as memory access patterns, worst-case guarantees, stability, and streaming limits.

    Software Engineering FundamentalsTechnical ScreenSortingAlgorithmsData Structures
  • 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
    Implement Recursive React JSON Viewer with Collapse

    Implement Recursive React JSON Viewer with Collapse evaluates requirements, assumptions, structured reasoning, trade-offs, and verification 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
  • NuroMediumSoftware Engineer
    Build a Concurrent Recurring Job Scheduler

    This problem tests your ability to design a thread-safe, concurrent task scheduling system that manages recurring executions while handling lifecycle events like cancellation and graceful shutdown.

    Software Engineering FundamentalsTechnical ScreenConcurrencyMultithreadingDesign Patterns
  • NuroHardSoftware Engineer
    Build a Thread-Safe Video Playback Loop at 25 FPS

    Design and implement a thread-safe video playback engine that decodes and renders frames at a steady 25 frames per second using bounded buffering and precise monotonic scheduling.

    Software Engineering FundamentalsTechnical ScreenConcurrencyMultithreadingSystems Design
  • NuroHardSoftware Engineer
    C++ K-Way Merge of Timestamped Records with Clean Class Design and Hand-Written Tests

    Merge k input sequences of timestamped records, each already sorted by timestamp, into one ordered sequence in C++. The exercise stresses defining the record type, the merging class's state and interface, deterministic handling of equal timestamps, and writing your own C++ test cases without a judge harness.

    Software Engineering FundamentalsTechnical Screen
  • 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
    Coordinate Video Reading and Rendering at 25 Frames per Second

    Design a 25fps video player with serialized unsafe APIs, bounded producer-consumer buffering, deadline pacing, and explicit timing feasibility limits.

    Software Engineering FundamentalsTechnical Screen
  • 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
  • OdeEasySoftware Engineer
    Live TDD Pairing: Grow a Multiset Class One Test at a Time

    A live test-driven pairing exercise where you narrate test cases for a multiset (bag) class one behavior at a time while the interviewer writes the code, judged on test design, incremental thinking, and how you talk through implementation choices.

    Software Engineering FundamentalsTechnical Screentddpair-programmingtesting
  • OdeEasySoftware Engineer
    Test-Driven Pair Programming: Grow a Java Set Class from Unit Tests

    A test-driven pair-programming exercise in which you describe unit tests while the interviewer types, growing a Java set class one operation at a time with the simplest code that makes each test pass. It tests test-case design, incremental refactoring, clear verbal communication and how you would later expand the set.

    Software Engineering FundamentalsTechnical Screen
  • OktaMediumSoftware Engineer
    Build an Auth0-protected MCP server

    This question evaluates proficiency in implementing JWT-based authentication and scope-based authorization for an HTTP service, covering token signature and claims validation, JWKS public-key verification, middleware integration, and propagation of identity information.

    Software Engineering FundamentalsOnline Assessment
  • OktaMediumBackend Engineer
    Build and Review a Configurable Node.js Token-Bucket Rate Limiter

    Implement a configurable Node.js Express token-bucket rate limiter with monotonic refill, HTTP 429 responses, code-review reasoning, and multi-instance limits.

    Software Engineering FundamentalsOnsite
  • OktaMediumBackend Engineer
    Repair an Express Authentication Endpoint Without Blocking the Event Loop

    Repair an Express authentication endpoint with input validation, asynchronous bcrypt, safe errors, correct HTTP status codes, and event-loop-aware resource controls.

    Software Engineering FundamentalsOnsite
  • OktaMediumFrontend Engineer
    Review Code for Memory Risks

    This question tests your ability to identify memory-intensive patterns and performance bottlenecks in JavaScript array manipulation, specifically regarding garbage collection and object reference stability.

    Software Engineering FundamentalsTechnical ScreenJavaScriptComplexity AnalysisMemory Management
  • OnepayMediumSoftware Engineer
    Debug and Extend a Device Registry: Status Validation, Active Counts, Bulk Updates

    A progressive coding exercise on a device registry: find the bug behind a failing test where a device's status must be allowed for its type, then add validated registration, per-type counts of active devices that omit zeros, and a bulk status update based on maintenance time and failure count. It tests code reading and business logic.

    Software Engineering FundamentalsTechnical Screen
  • OpenAIHardMachine Learning Engineer
    Analyze matrix multiplication complexity

    This question evaluates understanding of time and space complexity for matrix multiplication and memory accounting in ML workloads, testing competency in asymptotic analysis, linear algebra operations, and resource estimation.

    Software Engineering FundamentalsTechnical Screen
  • OpenAIMediumSoftware Engineer
    At-Least-Once Job Queue with Timeouts, Retries, a Dead-Letter Queue and Dependencies

    Implement an in-memory job queue with enqueue, reserve, pass, fail and a dead-letter queue, where reservations that outlive their timeout are redelivered for at-least-once delivery, then extend enqueue with job dependencies. It tests state-machine design, timeout tracking, retry accounting and dependency handling.

    Software Engineering FundamentalsTechnical Screen
  • OpenAIHardSoftware Engineer
    Build a Reliable Streaming Chat UI

    This question evaluates understanding of real-time front-end architecture and state management in React, focusing on transient streaming state, concurrency control, UI consistency during tokenized updates, and the appropriate use of hooks such as useRef versus useState in the Software Engineering Fundamentals domain.

    Software Engineering FundamentalsHR Screen
  • 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 a Machine Topology Coding Task

    Implement and formalize an API to analyze distributed accelerator interconnect topologies, separating summary metrics from component-level graph structures and validating topologies like rings, cliques, and lines.

    Software Engineering FundamentalsTechnical Screengraph-algorithmsbfsapi-design
  • 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
  • OpenAIHardSoftware Engineer
    Contiguous Extent Allocator for a Storage Volume, Then O(log n)

    Build an allocator that hands out contiguous runs of blocks on a fixed-size volume and takes them back with coalescing, first with a simple sorted list and then with logarithmic reserve and release. Tests splitting/merging logic, choosing indexes for size and neighbor lookups, and keeping them consistent.

    Software Engineering FundamentalsTechnical Screenallocatordata-structuresbalanced-bst
  • 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
    Count Machines and Recover a Distributed Tree Topology

    Implement a distributed tree discovery and aggregation protocol that counts reachable machines, recovers edges, handles network retries, detects unreachable subtrees, and validates tree invariants.

    Software Engineering FundamentalsTechnical ScreenDistributed SystemsTreeGraph Traversal
  • OpenAIMediumMachine Learning Engineer
    Debug a Concurrent Job Scheduler

    This question evaluates debugging and hardening skills for concurrent systems, focusing on detection and reasoning about race conditions, deadlocks, lock-contention hotspots, state-machine invariant enforcement, rate-limiting, retry semantics, and instrumentation for per-job metrics in a job scheduler.

    Software Engineering FundamentalsTechnical Screen
  • OpenAIMediumSoftware Engineer
    Design First-Fit and Best-Fit Memory Allocation

    Design an in-memory heap allocator supporting first-fit and best-fit allocation, block splitting, adjacent free block coalescing, and safe handle validation to prevent stale or forged free operations.

    Software Engineering FundamentalsTechnical ScreenMemory ManagementData StructuresLinked List
  • OpenAIMediumSoftware Engineer
    Design a Time-Windowed GPU Credit Ledger

    Design an in-memory credit ledger that manages time-windowed resource grants and consumptions with out-of-order event ingestion, deterministic allocation, and balance reconciliation.

    Software Engineering FundamentalsTechnical ScreenData StructuresSimulationIntervals
  • OpenAIMediumSoftware Engineer
    Design a social network with snapshots

    This problem tests your ability to design a memory-efficient versioned graph structure that supports efficient edge retrieval at arbitrary points in time.

    Software Engineering FundamentalsTechnical ScreenGraphData StructuresVersioning