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 631–660 of 1026 results
- NVIDIAMediumSoftware EngineerImplement 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 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 EngineerOptimize 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 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 - NVIDIAMediumSoftware EngineerStreaming 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 EngineerVerification 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 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 - NVIDIAEasySoftware EngineerWrite 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 - NetflixMediumSoftware EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 - NetflixEasySoftware EngineerImplement 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 EngineerImplement 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 EngineerModel 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 EngineerMovie 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 EngineerPlan 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 EngineerReason 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 EngineerRecommend 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 EngineerSession 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 EngineerDesign 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 EngineerSupport 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 - NielsenMediumSoftware EngineerSpring Boot Internals and Java 21 Features Behind a Machine Coding Solution
A machine coding follow-up that drills into a Spring Boot service built during the round: startup, auto-configuration, dependency injection and proxies, then the Java 21 features that could improve it, such as sealed types with pattern matching and virtual threads. It tests framework depth and version-aware modern Java knowledge.
Software Engineering FundamentalsOther - NikeMediumSoftware EngineerChoose a Sorting Algorithm from Workload Constraints
Tests your ability to evaluate classical sorting algorithms against concrete workload constraints such as memory access patterns, worst-case guarantees, stability, and streaming limits.
Software Engineering FundamentalsTechnical ScreenSortingAlgorithmsData Structures - NotionMediumSoftware EngineerDesign a Todo List Object Model
Tests object-oriented design, domain modeling, and API design skills by implementing an extensible, hierarchical Todo list model with task dependency management and filtering.
Software Engineering FundamentalsOnsiteObject-Oriented DesignAPI DesignDesign Patterns - NotionMediumSoftware EngineerImplement Recursive React JSON Viewer with Collapse
Implement Recursive React JSON Viewer with Collapse evaluates requirements, assumptions, structured reasoning, trade-offs, and verification in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Software Engineering FundamentalsTechnical Screen - NuroMediumSoftware EngineerBuild a Concurrent Recurring Job Scheduler
This problem tests your ability to design a thread-safe, concurrent task scheduling system that manages recurring executions while handling lifecycle events like cancellation and graceful shutdown.
Software Engineering FundamentalsTechnical ScreenConcurrencyMultithreadingDesign Patterns - NuroHardSoftware EngineerBuild a Thread-Safe Video Playback Loop at 25 FPS
Design and implement a thread-safe video playback engine that decodes and renders frames at a steady 25 frames per second using bounded buffering and precise monotonic scheduling.
Software Engineering FundamentalsTechnical ScreenConcurrencyMultithreadingSystems Design - NuroHardSoftware EngineerC++ K-Way Merge of Timestamped Records with Clean Class Design and Hand-Written Tests
Merge k input sequences of timestamped records, each already sorted by timestamp, into one ordered sequence in C++. The exercise stresses defining the record type, the merging class's state and interface, deterministic handling of equal timestamps, and writing your own C++ test cases without a judge harness.
Software Engineering FundamentalsTechnical Screen - NuroHardSoftware EngineerCompare Locks and MVCC in a Versioned Store
Tests deep understanding of concurrency control paradigms by comparing pessimistic locking against Multi-Version Concurrency Control (MVCC) in a versioned key–value storage engine, focusing on version lifecycle, garbage collection, and read/write trade-offs.
Software Engineering FundamentalsOnsiteStorage EnginesConcurrency ControlMVCC - NuroHardSoftware EngineerCoordinate Video Reading and Rendering at 25 Frames per Second
Design a 25fps video player with serialized unsafe APIs, bounded producer-consumer buffering, deadline pacing, and explicit timing feasibility limits.
Software Engineering FundamentalsTechnical Screen