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 331–360 of 625 results

  • MicrosoftMediumSoftware Engineer
    Implement a Bounded Per-Key Ordered Task Executor

    Design and implement a thread-safe, bounded task executor that guarantees sequential execution per key while enforcing a global concurrency limit across all keys.

    Software Engineering FundamentalsTechnical Screenconcurrencymultithreadingsystem-design-basics
  • MicrosoftMediumSoftware Engineer
    Reason About Alien Dictionary Ordering

    This problem tests the ability to model lexicographical constraints as a directed graph and determine if a valid ordering of unique characters exists using topological sorting.

    Software Engineering FundamentalsTechnical ScreenGraphTopological SortHash Table
  • MillenniumMediumData Scientist
    Evaluate an Agentic Decision System End to End

    This problem tests the ability to design an automated evaluation framework for an agentic system that transitions from rule-based to LLM-driven decision-making, focusing on decoupling metrics and ensuring safety.

    Software Engineering FundamentalsTechnical ScreenLLM-OpsEvaluationSystems-Design
  • Mistral AIMediumSoftware Engineer
    Keep GPUs Fed with an Efficient Data-Preparation Pipeline

    Diagnose GPU input starvation across storage, CPU preprocessing, batching, transfer, and synchronization, then improve bounded overlap while preserving data correctness.

    Software Engineering FundamentalsTechnical Screen
  • Mistral AIMediumSoftware Engineer
    Set up a Python LLM dev environment

    This question evaluates practical competencies in Python development environment setup, reproducible dependency management with lockfiles, virtual environment and interpreter management, secrets handling via environment variables, project structuring, and basic API integration.

    Software Engineering FundamentalsTechnical Screen
  • ModalMediumSoftware Engineer
    Explain and Harden Two Shell Commands

    Tests deep understanding of Unix shell semantics, process management, file permissions, and standard stream handling by diagnosing subtle failure modes in common shell one-liners and writing robust, production-grade replacements.

    Software Engineering FundamentalsTechnical Screenbashlinuxsystems
  • ModalMediumSoftware Engineer
    Prove an Incremental Shuffle Is Uniform

    Tests formal inductive reasoning on randomized algorithms by proving the uniformity of the Fisher-Yates shuffle, and evaluates practical knowledge of common implementation pitfalls like off-by-one bounds and modulo bias.

    Software Engineering FundamentalsTechnical Screenalgorithmsprobabilityfisher-yates
  • ModalMediumSoftware Engineer
    Sort One Hundred Million Digits

    Implement counting sort to order 100,000,000 single-digit integers using O(1) auxiliary space, and analyze performance from a hardware and memory-bandwidth perspective.

    Software Engineering FundamentalsTechnical Screenalgorithmscounting-sortsystems
  • MomentMediumFrontend Engineer
    Build a Race-Free Memory Card Game in React

    Work through the state and timing logic for a React memory-card game that remains correct under rapid clicks and restarts. The exercise examines stale closures, input locking, timeout cleanup, stable card identity, accessible interaction, and tests for race-prone transitions.

    Software Engineering FundamentalsTechnical Screen
  • MongoDBHardSoftware Engineer
    Build an Exactly-Once Crawler and Add Safe Concurrency

    Build a crawler around a supplied fetch-and-parse API, then add bounded concurrency, atomic discovery, correct completion detection, and explicit failure semantics.

    Software Engineering FundamentalsTechnical Screen
  • MongoDBMediumSoftware Engineer
    Evaluate a Nested Predicate Expression Tree

    Implement an evaluator for a serialized predicate expression tree against JSON documents, testing recursion, AST handling, and field resolution.

    Software Engineering FundamentalsTechnical Screenrecursiontreesdesign
  • MongoDBMediumSoftware Engineer
    Implement a Lazy Union Iterator Over Two Strictly Sorted Iterators

    Implement a UnionIterator that lazily merges two strictly sorted iterators of integers or strings into one strictly sorted iterator without duplicates, using constant extra memory. Tests iterator protocol design, one-element lookahead, cross-input deduplication, end-of-stream behavior and edge cases such as empty inputs.

    Software Engineering FundamentalsTechnical Screen
  • MongoDBMediumSoftware Engineer
    Implement a sliding-window rate limiter (n requests per k seconds), then make it per key

    Coding and design question from a technical screen: implement a rate limiter that admits at most n requests in any k-second sliding window, then make it thread-safe and key-specific. It tests window boundary semantics, amortized complexity, race conditions and locking, per-key state creation and memory bounds.

    Software Engineering FundamentalsTechnical Screen
  • MongoDBMediumSoftware Engineer
    Reason About Recursive Key Search in Nested JSON

    Implement a recursive search function to extract all values associated with a given key from deeply nested JSON documents containing arbitrary combinations of dictionaries and lists.

    Software Engineering FundamentalsTechnical ScreenRecursionJSONTree Traversal
  • Morgan StanleyMediumData Scientist
    Estimate Greeks and hedging PnL

    This question evaluates understanding of option Greeks (delta, gamma, vega), mental approximation of Gaussian probabilities, and the ability to reason about delta-hedged profit-and-loss under Black-Scholes model misspecification, categorized under Software Engineering Fundamentals for a Data Scientist role.

    Software Engineering FundamentalsTechnical Screen
  • Morgan StanleyEasyData Scientist
    Explain forward contracts and options

    This question evaluates understanding of financial derivatives—specifically forwards and options—assessing competency in financial instruments, contractual rights and obligations, pricing concepts, and how these concepts inform data-driven modeling for a Data Scientist role.

    Software Engineering FundamentalsTechnical Screen
  • NVIDIAMediumSoftware Engineer
    Clarify and Design a Streaming Top-K Tracker

    This question tests the ability to design an efficient data structure for maintaining the top-K elements in a high-throughput stream with time-windowing requirements.

    Software Engineering FundamentalsTechnical ScreenData StructuresAlgorithmsStreaming
  • NVIDIAMediumSoftware Engineer
    Count Distinct Strings With a Hand-Built Hash Table, Then Parallelize It for GPUs

    A coding and concurrency question: count the distinct strings in an array with a hash table built from scratch, then keep the count correct when many threads insert at once. It tests hash table design, locks versus atomic compare-and-swap, and how work division and memory layout affect GPU and CPU performance for a million keys.

    Software Engineering FundamentalsTechnical Screen
  • NVIDIAMediumData Engineer
    Data Pipeline Reliability, Backfills, and Spark Optimization

    Prepare for a NVIDIA software engineering interview question about data pipeline reliability, backfills, and spark optimization. The prompt highlights practical reasoning, edge cases, trade-offs, and validation criteria without revealing the model answer.

    Software Engineering FundamentalsTechnical Screen
  • NVIDIAHardSoftware Engineer
    Design a Multi-Producer Multi-Consumer Circular Buffer

    Design a thread-safe, bounded multi-producer multi-consumer (MPMC) circular buffer supporting blocking operations, timeouts, and graceful shutdown (close-and-drain).

    Software Engineering FundamentalsTechnical ScreenConcurrencyData StructuresMultithreading
  • NVIDIAMediumSoftware Engineer
    Design a top-build target tracker

    This problem tests object-oriented design and data structure proficiency by requiring the implementation of a tracker that maintains the top-K most frequent entities within a sliding time window of events.

    Software Engineering FundamentalsTechnical ScreenDesignData StructuresSliding Window
  • NVIDIAMediumSoftware Engineer
    Explain Amdahl’s law and GPU matmul optimization

    This question tests the ability to apply Amdahl's Law to real-world hardware acceleration and understand the architectural constraints involved in GPU matrix multiplication.

    Software Engineering FundamentalsTechnical ScreenAmdahl's LawGPU ArchitectureC++ Performance
  • 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
    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
    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
  • 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
  • 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