Katkat

practice a little every day, paws crossed ♡

Software Engineer 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 601–630 of 1026 results

  • MillenniumMediumSoftware Engineer
    How a C++ Mutex Protects Shared State

    Explain C++ mutex ownership, memory visibility, RAII locking, contention, and deadlock prevention with a shared-counter example.

    Software Engineering FundamentalsOnsite
  • MintlifyMediumSoftware Engineer
    Recreate a Card Interface from a Screenshot

    Recreate a screenshot-defined card and chip component through extracted design tokens, accessible semantics, responsive layout, and visual comparison.

    Software Engineering FundamentalsOnsite
  • 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
  • MithrilMediumSoftware Engineer
    Debug GPU Resource Allocation

    This problem tests your ability to identify and debug concurrency issues and scheduling logic in a custom GPU resource manager.

    Software Engineering FundamentalsOnsiteConcurrencyDebuggingScheduling
  • 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
  • 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
    Debug a slow concurrent network server under load

    This question tests your ability to diagnose performance bottlenecks in a multi-threaded network server using I/O multiplexing, focusing on how blocking calls and thread management impact latency.

    Software Engineering FundamentalsOnsiteConcurrencyPerformance TuningI/O Multiplexing
  • 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
    Explain Modern Python Features and Ecosystem

    This question assesses your depth of knowledge regarding modern Python language evolution, the utility of popular libraries, and internal implementation details that impact memory and performance.

    Software Engineering FundamentalsHR ScreenPythonInternalsMemory Management
  • MongoDBHardSoftware Engineer
    Implement a Finite Concurrent Web Crawler

    Implement an orchestrator for a finite concurrent web crawler featuring transactional URL state tracking, per-host politeness rate-limiting, classified error handling, and robust termination detection.

    Software Engineering FundamentalsOnsiteConcurrencySystem DesignQueues
  • 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
  • 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
    Compare Java and Python: Execution, Typing, Concurrency and When to Use Each

    An engineering director asks how Java and Python differ and where each language is stronger or weaker. It tests understanding of execution models, static versus dynamic typing, concurrency and the global interpreter lock, ecosystems, and the judgment to recommend a language for a concrete project.

    Software Engineering FundamentalsOnsite
  • 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
  • NVIDIAMediumSoftware Engineer
    Define a Git workflow for CI

    This interview question evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer for Define a Git workflow for CI states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Software Engineering FundamentalsOnline Assessment
  • NVIDIAMediumSoftware Engineer
    Demonstrate software engineering fundamentals

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

    Software Engineering FundamentalsOnsite
  • 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
    Design an IR for test workflows

    This interview question evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer for Design an IR for test workflows states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Software Engineering FundamentalsOnline Assessment
  • 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
    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