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 751–780 of 1208 results

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

    NielsenSoftware EngineerSoftware Engineering FundamentalsOther
  • Tests your ability to evaluate classical sorting algorithms against concrete workload constraints such as memory access patterns, worst-case guarantees, stability, and streaming limits.

    NikeSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Tests object-oriented design, domain modeling, and API design skills by implementing an extensible, hierarchical Todo list model with task dependency management and filtering.

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

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

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

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

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

    NuroSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Design a 25fps video player with serialized unsafe APIs, bounded producer-consumer buffering, deadline pacing, and explicit timing feasibility limits.

    NuroSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Implement a thread-safe periodic job scheduler evaluates engineering fundamentals, trade-offs, examples, pitfalls, and operational implications in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

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

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

    OdeSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question evaluates proficiency in implementing JWT-based authentication and scope-based authorization for an HTTP service, covering token signature and claims validation, JWKS public-key verification, middleware integration, and propagation of identity information.

    OktaSoftware EngineerSoftware Engineering FundamentalsOnline Assessment
  • Implement a configurable Node.js Express token-bucket rate limiter with monotonic refill, HTTP 429 responses, code-review reasoning, and multi-instance limits.

    OktaBackend EngineerSoftware Engineering FundamentalsOnsite
  • Repair an Express authentication endpoint with input validation, asynchronous bcrypt, safe errors, correct HTTP status codes, and event-loop-aware resource controls.

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

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

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

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

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question evaluates understanding of real-time front-end architecture and state management in React, focusing on transient streaming state, concurrency control, UI consistency during tokenized updates, and the appropriate use of hooks such as useRef versus useState in the Software Engineering Fundamentals domain.

    OpenAISoftware EngineerSoftware Engineering FundamentalsHR Screen
  • Implement an API-credit ledger that grants, spends, and reports balances, where each grant expires and spending always draws from the soonest-expiring usable grant first, even when operations arrive out of timestamp order.

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

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Clarify ambiguous social-graph milestones before designing follow and unfollow operations, consistent snapshots, and user recommendations. The discussion tests directed-edge semantics, snapshot guarantees, recommendation-policy choices, exclusions, deterministic tie rules, scale assumptions, and contract-focused testing.

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

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Implement an event counter that returns how many events occurred in the trailing 15 minutes, using a fixed-size ring buffer of per-second buckets so memory stays bounded at any event rate. It tests circular buffers, stale-slot detection, window boundaries, late events and thread safety.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • Implement a distributed tree discovery and aggregation protocol that counts reachable machines, recovers edges, handles network retries, detects unreachable subtrees, and validates tree invariants.

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

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

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

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests your ability to design a memory-efficient versioned graph structure that supports efficient edge retrieval at arbitrary points in time.

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen

More topics