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 721–750 of 1208 results

  • NVIDIAMediumSoftware Engineer
    Explain container image flow in CI/CD

    This question evaluates understanding of the container image lifecycle within CI/CD pipelines, covering build mechanics (layers, cache, build context), tagging and registry interactions, image distribution and pulling behavior (authentication, caching, digests), security controls (vulnerability scanning, SBOM generation, signing), and common failure modes. It is commonly asked to gauge operational and security competence in the Software Engineering Fundamentals/DevOps domain and measures both conceptual understanding and practical application of pipeline design and runtime image management.

    Software Engineering FundamentalsTechnical Screen
  • NVIDIAMediumSoftware Engineer
    Explain virtual machines and concurrency basics

    This question evaluates understanding of virtualization (virtual machine architecture, hypervisor types, and how CPU, memory, storage and networking are virtualized along with their performance and security tradeoffs) and concurrency fundamentals (distinction between concurrency and parallelism, common primitives like threads, locks and atomics, as well as race conditions, deadlocks and debugging production concurrency issues). It is commonly asked in Software Engineering Fundamentals interviews to assess system-level reasoning about trade-offs, isolation and safe concurrent design, and it tests both conceptual understanding and practical application at a senior-engineer depth.

    Software Engineering FundamentalsTechnical Screen
  • NVIDIAHardSoftware Engineer
    Fetch Paginated Medical Records and Filter by Field Rules and Historical Average Weight

    A practical coding exercise: page through an HTTP endpoint that returns medical records 10 at a time, then return the records that pass a list of field comparisons and a weight condition based on the patient's historical average weight. It tests pagination, robust parsing, per-patient aggregation and working quickly from a long specification.

    Software Engineering FundamentalsTechnical Screen
  • NVIDIAMediumSoftware Engineer
    Hash-Partition an Array on the GPU in C++ and Return Partition Offsets

    A GPU programming question that asks you to hash-partition an array of keys into P partitions in CUDA C++, making each partition contiguous and returning each partition's starting offset. Follow-up questions test GPU optimization: atomic contention, memory coalescing, shared memory use and the number of passes over global memory.

    Software Engineering FundamentalsTechnical Screen
  • NVIDIAMediumSoftware Engineer
    How AI Coding Tools Change Software Development and When to Trust Their Output

    An open-ended question from a director round asks how AI is changing software development and whether engineers should trust AI-generated code. It tests a balanced position on benefits and failure modes, how generated code should be verified, team practices for review and security, and how to measure real impact.

    Software Engineering FundamentalsOnsite
  • NVIDIAMediumSoftware Engineer
    Implement a Thread-Safe Reference-Counted Smart Pointer in C++

    Implement a reference-counted smart pointer class template in C++ from scratch, with copy and move construction and assignment, reset, dereferencing and a use count. It tests ownership rules, self-assignment and exception safety, atomic reference counting with correct memory ordering, and extensions such as weak pointers, base-class conversion and reference cycles.

    Software Engineering FundamentalsOnsite
  • NVIDIAMediumSoftware Engineer
    Implement and Explain a C++ Smart Pointer

    Tests understanding of C++ memory management, RAII, explicit ownership semantics, and the Rule of Five by implementing a reference-counted shared smart pointer.

    Software Engineering FundamentalsTechnical ScreenC++Memory ManagementRAII
  • NVIDIAMediumSoftware Engineer
    Optimize a small-string C++ class

    This question evaluates low-level C/C++ systems programming skills, including memory management, data layout, small-string optimization, efficient copying semantics, alignment/padding, and cache-aware performance reasoning.

    Software Engineering FundamentalsOnsite
  • NVIDIAMediumSoftware Engineer
    Reason About Endianness, Ring Buffers, and Stack Behavior in Firmware

    Tests firmware-level engineering concepts across low-level binary data parsing, lock-free ring buffer design for ISR-to-thread communication, and static/runtime stack depth analysis under nested interrupts.

    Software Engineering FundamentalsTechnical ScreenFirmwareEmbedded SystemsConcurrency
  • NVIDIAMediumSoftware Engineer
    Streaming Top-K Frequent Elements with O(1) Updates Instead of a Heap

    Design a structure that consumes an unbounded stream and reports the K most frequent elements at any time, first with a heap and then with constant-time updates after the interviewer rejects the heap. It tests per-operation cost analysis, data-structure invariants, deterministic tie handling, and extensions to sliding windows, approximate counting, and sharded streams.

    Software Engineering FundamentalsOnsite
  • NVIDIAHardSoftware Engineer
    Verification Plan for a FIFO, a Round-Robin Arbiter and a Valid/Ready Handshake

    A hardware design-verification interview question: plan how to verify a FIFO, a round-robin arbiter and a valid/ready handshake interface. It tests testbench architecture with scoreboards and reference models, constrained-random stimulus, corner cases, SystemVerilog assertions and functional coverage.

    Software Engineering FundamentalsOnsite
  • NVIDIAEasySoftware Engineer
    Write SQL to sum city population by name

    Assesses SQL proficiency in relational joins and aggregation by asking for a total population computed from ZIP-level data and evaluates reasoning about duplicate entity names.

    Software Engineering FundamentalsTechnical Screen
  • NVIDIAEasySoftware Engineer
    Write a Tiny Linux Resource Reporter That Flags Usage Spikes

    Write a small Linux agent that reads live CPU, memory and disk usage from kernel-exposed files, reports them as JSON to a collector endpoint over HTTP, and adds a rolling-window check that only flags a sustained resource spike rather than a single noisy reading.

    Software Engineering FundamentalsOnsitelinuxsystemshttp
  • NetappEasySystem Software Engineer
    Compare C Generic Techniques and C++ Smart-Pointer Ownership

    Tests understanding of low-level generic programming patterns in C and memory ownership semantics in modern C++, including runtime safety and resource management trade-offs.

    Software Engineering FundamentalsTechnical ScreenCC++Memory Management
  • 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
  • NetflixHardData Engineer
    Explain concurrency and reliability tradeoffs

    This problem tests your understanding of balancing thread-safe resource management in a high-concurrency local environment against the systemic requirements of a distributed data pipeline.

    Software Engineering FundamentalsOnsiteConcurrencyDistributed SystemsCaching
  • 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
    Model Direct-Sold DSP Orders

    This Software Engineering Fundamentals question evaluates data and domain modeling skills for ad-technology order management, focusing on entities such as advertisers, agencies, orders, line items, targeting, creatives, delivery constraints, tracking events, reporting needs, and configuration versioning.

    Software Engineering FundamentalsOnsite
  • 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
    Reason About a Movie Billboard Rotation Component

    This problem tests the ability to manage dynamic scheduling and priority updates using balanced binary search trees (ordered maps) while handling concurrency and system scalability.

    Software Engineering FundamentalsOnsiteData StructuresConcurrencySystem Design
  • NetflixMediumSoftware Engineer
    Recommend New Friends from a Mutual-Friendship Graph and Scale the Approach

    A problem-solving question about recommending new friends from a mutual friendship graph, worked mostly through discussion with a little code and pseudocode. It tests candidate generation and scoring with deterministic tie-breaks, cost in terms of node degree, handling highly connected users, and precomputing and refreshing suggestions at scale.

    Software Engineering FundamentalsOther
  • 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