Katkat

Topic

Software Engineering Fundamentals interview questions

1208 Software Engineering Fundamentals questions from 253 companies, with hints, runnable code and solution walkthroughs.

Questions1208

123 easy887 medium198 hard

Your progress0/1208

Software Engineering Fundamentals interview questions by the numbers

Last updated

Katkat has 1,208 Software Engineering Fundamentals interview questions from 253 companies; the most come from OpenAI (5%), Stripe (4%) and Amazon (3%). By difficulty: 10% easy, 73% medium and 16% hard. The most common round is Technical Screen (52%). Frequent concepts include Data Structures, Concurrency, System Design and Algorithms.

Companies (253)

Difficulty

  • Easy10% · 123
  • Medium73% · 887
  • Hard16% · 198

Interview rounds

  • Technical Screen52% · 625
  • Onsite37% · 448
  • Online Assessment8% · 96
  • HR Screen2% · 28
  • Other1% · 11

Roles

  • Software Engineer85% · 1026
  • Frontend Engineer4% · 51
  • Machine Learning Engineer2% · 30
  • Backend Engineer2% · 25
  • Data Scientist1% · 17

Frequent concepts

  • Data Structures8% · 97
  • Concurrency8% · 96
  • System Design8% · 93
  • Algorithms3% · 42
  • API Design3% · 42
  • Object-Oriented Design3% · 35

Showing 721–750 of 1208 results

  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsOnsite
  • Tests understanding of C++ memory management, RAII, explicit ownership semantics, and the Rule of Five by implementing a reference-counted shared smart pointer.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NVIDIASoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    NetappSystem Software EngineerSoftware Engineering FundamentalsTechnical Screen
  • Analyze systems programming fundamentals across concurrency, memory architectures, and kernel execution through three concrete engineering scenarios.

    NetappSystem Software EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests your understanding of balancing thread-safe resource management in a high-concurrency local environment against the systemic requirements of a distributed data pipeline.

    NetflixData EngineerSoftware Engineering FundamentalsOnsite
  • This problem tests the ability to design an in-memory storage system that combines fixed-capacity constraints with time-based invalidation logic.

    NetflixSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsOnsite
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsOther
  • 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.

    NetflixSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NextdoorSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NgrokSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • 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.

    NielsenBackend EngineerSoftware Engineering FundamentalsTechnical Screen

More topics