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 361–390 of 625 results
- NetappEasySystem Software EngineerReason About Deadlocks, Synchronization, False Sharing, and Privilege Transitions
Analyze systems programming fundamentals across concurrency, memory architectures, and kernel execution through three concrete engineering scenarios.
Software Engineering FundamentalsTechnical ScreenOperating SystemsConcurrencyMultithreading - 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 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 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 - NielsenMediumBackend EngineerDesign a Train Ticket Booking System
This problem evaluates your ability to design a robust reservation system that handles concurrent bookings, maintains data integrity, and adheres to clean object-oriented design principles.
Software Engineering FundamentalsTechnical ScreenConcurrencySystem DesignDatabase - 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 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 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 - OdeEasySoftware EngineerLive TDD Pairing: Grow a Multiset Class One Test at a Time
A live test-driven pairing exercise where you narrate test cases for a multiset (bag) class one behavior at a time while the interviewer writes the code, judged on test design, incremental thinking, and how you talk through implementation choices.
Software Engineering FundamentalsTechnical Screentddpair-programmingtesting - OdeEasySoftware EngineerTest-Driven Pair Programming: Grow a Java Set Class from Unit Tests
A test-driven pair-programming exercise in which you describe unit tests while the interviewer types, growing a Java set class one operation at a time with the simplest code that makes each test pass. It tests test-case design, incremental refactoring, clear verbal communication and how you would later expand the set.
Software Engineering FundamentalsTechnical Screen - OktaMediumFrontend EngineerReview Code for Memory Risks
This question tests your ability to identify memory-intensive patterns and performance bottlenecks in JavaScript array manipulation, specifically regarding garbage collection and object reference stability.
Software Engineering FundamentalsTechnical ScreenJavaScriptComplexity AnalysisMemory Management - OnepayMediumSoftware EngineerDebug and Extend a Device Registry: Status Validation, Active Counts, Bulk Updates
A progressive coding exercise on a device registry: find the bug behind a failing test where a device's status must be allowed for its type, then add validated registration, per-type counts of active devices that omit zeros, and a bulk status update based on maintenance time and failure count. It tests code reading and business logic.
Software Engineering FundamentalsTechnical Screen - OpenAIHardMachine Learning EngineerAnalyze matrix multiplication complexity
This question evaluates understanding of time and space complexity for matrix multiplication and memory accounting in ML workloads, testing competency in asymptotic analysis, linear algebra operations, and resource estimation.
Software Engineering FundamentalsTechnical Screen - OpenAIMediumSoftware EngineerAt-Least-Once Job Queue with Timeouts, Retries, a Dead-Letter Queue and Dependencies
Implement an in-memory job queue with enqueue, reserve, pass, fail and a dead-letter queue, where reservations that outlive their timeout are redelivered for at-least-once delivery, then extend enqueue with job dependencies. It tests state-machine design, timeout tracking, retry accounting and dependency handling.
Software Engineering FundamentalsTechnical Screen - OpenAIMediumSoftware EngineerClarify a Machine Topology Coding Task
Implement and formalize an API to analyze distributed accelerator interconnect topologies, separating summary metrics from component-level graph structures and validating topologies like rings, cliques, and lines.
Software Engineering FundamentalsTechnical Screengraph-algorithmsbfsapi-design - OpenAIHardSoftware EngineerContiguous Extent Allocator for a Storage Volume, Then O(log n)
Build an allocator that hands out contiguous runs of blocks on a fixed-size volume and takes them back with coalescing, first with a simple sorted list and then with logarithmic reserve and release. Tests splitting/merging logic, choosing indexes for size and neighbor lookups, and keeping them consistent.
Software Engineering FundamentalsTechnical Screenallocatordata-structuresbalanced-bst - OpenAIMediumSoftware EngineerCount Machines and Recover a Distributed Tree Topology
Implement a distributed tree discovery and aggregation protocol that counts reachable machines, recovers edges, handles network retries, detects unreachable subtrees, and validates tree invariants.
Software Engineering FundamentalsTechnical ScreenDistributed SystemsTreeGraph Traversal - OpenAIMediumMachine Learning EngineerDebug a Concurrent Job Scheduler
This question evaluates debugging and hardening skills for concurrent systems, focusing on detection and reasoning about race conditions, deadlocks, lock-contention hotspots, state-machine invariant enforcement, rate-limiting, retry semantics, and instrumentation for per-job metrics in a job scheduler.
Software Engineering FundamentalsTechnical Screen - OpenAIMediumSoftware EngineerDesign First-Fit and Best-Fit Memory Allocation
Design an in-memory heap allocator supporting first-fit and best-fit allocation, block splitting, adjacent free block coalescing, and safe handle validation to prevent stale or forged free operations.
Software Engineering FundamentalsTechnical ScreenMemory ManagementData StructuresLinked List - OpenAIMediumSoftware EngineerDesign a Time-Windowed GPU Credit Ledger
Design an in-memory credit ledger that manages time-windowed resource grants and consumptions with out-of-order event ingestion, deterministic allocation, and balance reconciliation.
Software Engineering FundamentalsTechnical ScreenData StructuresSimulationIntervals