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 361–390 of 625 results

  • NetappEasySystem Software Engineer
    Reason About Deadlocks, Synchronization, False Sharing, and Privilege Transitions

    Analyze systems programming fundamentals across concurrency, memory architectures, and kernel execution through three concrete engineering scenarios.

    Software Engineering FundamentalsTechnical ScreenOperating SystemsConcurrencyMultithreading
  • NetflixMediumSoftware Engineer
    Design Prefix-Aware Deduplication for Homepage Content Rows

    Implement prefix-aware content row deduplication where protected row prefixes cannot share items across rows, while suffixes and exempt rows only enforce row-internal uniqueness.

    Software Engineering FundamentalsTechnical ScreenArraysHash TableData Manipulation
  • NetflixHardSoftware Engineer
    Design a concurrent latency percentile tracker

    This problem tests your ability to design a high-throughput, thread-safe data structure capable of tracking request latencies and calculating arbitrary percentiles (e.g., p99) within a sliding time window.

    Software Engineering FundamentalsTechnical ScreenConcurrencyData StructuresMetrics
  • NetflixMediumSoftware Engineer
    Design a thread-safe key-value store

    This question evaluates knowledge of concurrent programming and thread-safety, including the choice of in-memory data structures for a key–value store and synchronization techniques that ensure atomic put/get/delete operations without internal corruption.

    Software Engineering FundamentalsTechnical Screen
  • NetflixEasySoftware Engineer
    Implement a Key-Value Cache with Per-Entry Expiration

    This problem tests the ability to design an in-memory storage system that combines fixed-capacity constraints with time-based invalidation logic.

    Software Engineering FundamentalsTechnical ScreenHash MapLinked ListConcurrency
  • NetflixMediumSoftware Engineer
    Implement an in-memory key-value store with per-key TTL expiration and tests

    A coding interview question that asks you to implement an in-memory key-value store whose entries expire after a per-key time-to-live, explain the design as you go, and test it. It tests expiry semantics, overwrite handling, reclaiming memory from keys that are never read again, complexity trade-offs and deterministic tests with a controllable clock.

    Software Engineering FundamentalsTechnical Screen
  • NetflixMediumSoftware Engineer
    Movie Playlist With Live Score Updates and No Repeats per Loop, Plus Thread Safety

    Implement an in-memory movie playlist in which get returns the highest-scoring movie not yet served in the current loop, starting a new loop once every movie has been served, while scores can change at any time. A follow-up asks where to add locks when many threads call it concurrently.

    Software Engineering FundamentalsTechnical Screen
  • NetflixMediumSoftware Engineer
    Plan Eviction and Cleanup for a Production Cache

    This problem tests the design of an in-memory caching system, focusing on memory management, eviction strategies, and concurrency control to ensure high performance and stability.

    Software Engineering FundamentalsTechnical ScreenSystem DesignConcurrencyCaching
  • NetflixMediumSoftware Engineer
    Session Token Cache With Per-Entry Expiry and a Test Suite

    Implement an in-memory cache whose entries expire individually, reclaim memory for keys that are never read again, and prove it with deterministic tests using an injected clock. Tests expiry semantics, stale-entry handling and test design.

    Software Engineering FundamentalsTechnical Screendata-structuresheapcaching
  • NextdoorMediumSoftware Engineer
    Design In-Memory Transactions with Snapshots and Savepoints

    Tests your ability to design an in-memory key-value store supporting nested transactions, named savepoints, and reliable rollback semantics using undo logs or snapshotting.

    Software Engineering FundamentalsTechnical ScreenData StructuresSystem FundamentalsDesign
  • NgrokMediumSoftware Engineer
    Support String Membership and Random Sampling

    Design an immutable in-memory string collection with exact membership checks and uniform random sampling over stored values. Combine complementary indexing and positional storage, analyze time and memory, and compare the approach with a trie for prefix sharing and future mutations.

    Software Engineering FundamentalsTechnical Screen
  • NielsenMediumBackend Engineer
    Design a Train Ticket Booking System

    This problem evaluates your ability to design a robust reservation system that handles concurrent bookings, maintains data integrity, and adheres to clean object-oriented design principles.

    Software Engineering FundamentalsTechnical ScreenConcurrencySystem DesignDatabase
  • 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
    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
    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
  • 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
  • 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
  • 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
  • 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
  • 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