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 811–840 of 1208 results

  • Design and implement a discrete grid simulation modeling a five-stage disease progression with state countdowns, immunity, delayed mortality, and external burn interventions.

    OpenAIMachine Learning EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question evaluates geometric reasoning and probability theory skills, specifically transformation of random variables and derivation of CDF/PDF from angular sampling, together with practical competence in Monte Carlo simulation and interpretation of numerical and visualization artifacts; domain: Software Engineering Fundamentals.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • A progressive grid simulation: infection spreads daily between adjacent plants, and you compute how many days the garden takes to stabilize, then add permanently immune plants and immunity that expires after a countdown. It tests multi-source breadth-first search, Dijkstra-style waiting times and precise day counting.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • Implement an in-memory job queue for a print shop where workers reserve, complete, or fail jobs, failed jobs retry up to a limit before landing in a poison queue, and a second part adds job prerequisites with cascading failure.

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Build a small reactive calculator where named variables hold integers or formulas that reference other variables, values stay correct as inputs change, and any definition that would create a circular dependency is rejected. Tests graph modeling, cache invalidation, cycle detection, and writing tests live.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • Implement and analyze binary search under a 1-step delayed-feedback protocol where each query response evaluates the previous guess.

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Tests object-oriented design and refactoring skills by decoupling a monolithic chatbot script into modular, testable, and extensible components adhering to SOLID principles.

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design and implement a deterministic binary serializer and strict deserializer for a string key-value store, ensuring robust input validation against corruption, truncation, duplicate keys, and trailing data.

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • A three-part coding exercise: build an in-memory chat analytics service that counts each chat's interactions in a closed 15-minute sliding window, tracks each user's live sessions from touch and close events, and stays correct when events arrive out of order. It tests bounded-memory eviction, efficient updates and queries, and exact window and ordering semantics.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • Build an in-memory telemetry service that counts a forklift's recent pings in a 15-minute window, tracks which forklifts are currently on an active shift, and stays correct when pings arrive late and out of order. Tests bounded-memory eviction and exact window semantics.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • A software engineer phone-screen coding problem: build an in-memory social graph that supports follow and unfollow, point-in-time snapshots, queries of who followed whom as of an earlier snapshot, and recommendations of users to follow. It tests data-structure choice, versioned history, and deterministic ranking.

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Build a small spreadsheet engine with setCell and getCell, where formulas reference other cells and a write that would create a circular dependency must be detected. The exercise also asks for live unit tests, probing data modeling, dependency graphs, cache invalidation and test design.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • Build a text editor in four stages: a buffer with insert, delete and read, undo and redo with two stacks, trie-based autocomplete ranked by word frequency, and real-time collaborative editing with operational transformation. It tests data structure choice, reversible operations, top-k retrieval and concurrency correctness.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • A two-part card game coding exercise: deal three cards to each player from one deck, show every hand and pick the winner using three of a kind, pair and high card, then add a flush category between them. It tests hand representation, within-category comparison, tie handling and code that extends cleanly when a rule changes.

    OpenAISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Model the types of a toy programming language, with primitives, generic type variables and nested tuples, render types and function signatures as strings, then infer a call's concrete return type by binding generics consistently across arguments. It tests recursive data modeling, exact formatting and type inference with clear errors.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • Simulate a wildfire spreading through a forest grid to find how many days until it stops spreading, then extend the model with fire-resistant trees and firebreaks that only hold for a limited number of days before the protected tree becomes flammable.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • Implement a prepaid data wallet where usage draws from the soonest-expiring bundle first and records arrive out of timestamp order, then add checkpointing so balance queries do not replay the full history. Tests event-sourced thinking, heap-based priority consumption, and cache invalidation.

    OpenAISoftware EngineerSoftware Engineering FundamentalsOnsite
  • Design an in-memory multi-level key-value store where items are stored at specific priority levels with individual expiration timestamps, supporting query fallback and expiration cleanup.

    OptiverSoftware EngineerSoftware Engineering FundamentalsOnline Assessment
  • Design and implement an in-memory news subscription processing engine that supports attribute-based filtering, deduplication, unsubscription, and unacknowledged delivery tracking.

    OptiverSoftware EngineerSoftware Engineering FundamentalsOnline Assessment
  • Design an object-oriented queue and compare implementations 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.

    OptiverSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design and implement a multi-level storage system that purges expired items, filters for under-utilized storage tiers, and deterministically retrieves the highest-weight item.

    OptiverSoftware EngineerSoftware Engineering FundamentalsHR Screen
  • This collection of rapid-fire probability brainteasers evaluates probabilistic reasoning, combinatorics, symmetry-based thinking, conditional probability, and fast mental arithmetic to gauge quantitative intuition under time pressure.

    OptiverSoftware EngineerSoftware Engineering FundamentalsOnline Assessment
  • This question evaluates combinatorial reasoning and discrete optimization skills—specifically understanding permutations in Latin squares, triangular-sum inequalities, and construction of extremal examples—within the Software Engineering Fundamentals domain for a Data Scientist position, and it primarily probes conceptual understanding with a constructive application component. Such problems are commonly asked to assess the ability to derive global bounds from local constraints and to exhibit matching constructions, signaling mathematical maturity and facility with combinatorial identities.

    OptiverData ScientistSoftware Engineering FundamentalsTechnical Screen
  • This question evaluates a candidate's ability to perform code review and debugging on a large codebase, testing understanding of data structures, algorithmic complexity, deterministic allocation policies, capacity accounting, and concurrency correctness.

    OptiverSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests the application of the Command design pattern to encapsulate, track, and optimize a series of state mutations on a shared object.

    OracleSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Tests deep understanding of Java string memory representation, the string constant pool, immutability, and construction performance trade-offs.

    OracleSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This question tests your ability to articulate the high-level architecture of a complex system you have worked on, focusing on data consistency, system scalability, and the rationale behind specific design choices.

    OracleSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This problem tests your ability to refactor legacy CLI code, implement modular features, and optimize performance for large-scale data processing.

    OracleSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Implement an in-memory key-value cache whose entries expire a fixed time-to-live after their last write, with put, get, renew and a count of live entries, and write your own tests for it. It tests expiry boundary semantics, renewal rules, efficient cleanup of expired entries and test design.

    OracleSoftware EngineerSoftware Engineering FundamentalsOnsite
  • This problem tests your ability to handle ambiguous business logic through requirement clarification and implement a robust, paginated filtering system for sensitive data.

    OracleSoftware EngineerSoftware Engineering FundamentalsTechnical Screen

More topics