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 EngineerHow 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 EngineerRecreate 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 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 - MithrilMediumSoftware EngineerDebug 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 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 - 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 EngineerDebug 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 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 EngineerExplain 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 EngineerImplement 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 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 - 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 EngineerCompare 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 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 - NVIDIAMediumSoftware EngineerDefine 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 EngineerDemonstrate 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 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 EngineerDesign 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 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 EngineerHow 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