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 EngineerImplement 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 EngineerReason 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 ScientistEvaluate 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 EngineerKeep 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 EngineerSet 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 EngineerExplain 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 EngineerProve 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 EngineerSort 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 EngineerBuild 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 EngineerBuild 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 EngineerEvaluate 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 EngineerImplement 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 EngineerImplement 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 EngineerReason 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 ScientistEstimate 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 ScientistExplain 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 EngineerClarify 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 EngineerCount 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 EngineerData 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 EngineerDesign 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 EngineerDesign 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 EngineerExplain 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 EngineerExplain 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 EngineerExplain 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 EngineerFetch 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 EngineerHash-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 EngineerImplement 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 EngineerReason 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 EngineerWrite 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 EngineerCompare 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