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 901–930 of 1208 results

  • Design an in-memory billing account state manager that supports delta adjustments, absolute balance overwrites, and robust undo/redo capabilities.

    RedditSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design a testable tennis game scoring component with point recording, readable scores, terminal-state handling, and stable player identity. Keep standard Deuce and Advantage rules separate from pluggable alternatives such as no-ad scoring, and discuss audit history and serialization.

    RedditBackend EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests your ability to model state transitions, encapsulate logic using object-oriented principles, and implement conditional rule-based scoring in a competitive game.

    RedditMachine Learning EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design and implement an in-memory message store supporting batch appends, contextual neighborhood queries, text editing with history tracking, and interval merging for read operations.

    RedditSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests the ability to calculate current stock levels by aggregating historical transaction events against an initial inventory baseline using SQL joins and window functions.

    Reinforce LabsSoftware EngineerSoftware Engineering FundamentalsOnline Assessment
  • A live coding exercise on connecting a local Python FastAPI service to a hosted conversational AI agent platform so the agent can save issues a user reports and read past issues back during a conversation. It tests tool and endpoint design, making a local server reachable, user identification, speech-friendly responses and failure handling.

    Retell AISoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • A live Java coding exercise to build a restaurant table booking system while an AI assistant is allowed. It tests domain modeling, correct interval overlap logic for tables, a clear table allocation policy, thread safety, and how the candidate tests and stays in control of generated code under time pressure.

    RevolutSoftware EngineerSoftware Engineering FundamentalsOther
  • This question evaluates understanding of database concurrency control and isolation anomalies, backend performance investigation and diagnostic skills, and knowledge of architectural concepts DDD and CQRS, testing competencies in transaction semantics, operational troubleshooting signals, and architectural trade-offs.

    RevolutSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question evaluates your conceptual understanding of control flow structures, specifically focusing on readability, maintainability, and error prevention in loop selection.

    RiotgamesSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question tests your understanding of IEEE 754 floating-point representation in JavaScript, specifically how the language handles non-numeric values, precision limits, and type safety.

    RiotgamesSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Tests an end-to-end understanding of how browsers fetch, parse, and render web pages, spanning low-level networking, DOM/CSSOM creation, script execution, and GPU-driven rendering pipelines.

    RiotgamesSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design a billing dashboard for a bike-share fleet that prices each ride at the per-minute rate in effect when it started, supports rate changes that take effect at a future timestamp without repricing past rides, and reports an exact running total as a formatted string.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Reason about graph common ancestors by clarifying edge direction, DAG versus tree structure, self-ancestry, output semantics, and reachability algorithms.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Analyze currency conversion queries and the reported maximum-amount backtracking follow-up without inventing missing rate or path rules. The solution shows how direction, precision, path consistency, same-currency behavior, and profitable cycles determine the graph algorithm and whether a finite answer exists.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design and implement an in-memory payroll tracker for hourly-paid delivery drivers that records delivery intervals, reports total and unpaid labor cost, and settles wages up to a given time without ever paying twice. It tests stateful class design, idempotent settlement, treatment of in-progress and late-recorded work, and exact money arithmetic.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests your ability to design an extensible rule-evaluation engine using object-oriented principles, specifically focusing on decoupling evaluation logic from business requirements.

    RipplingSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Design raw and computed spreadsheet views with formula parsing, dependency replacement, cache invalidation, atomic edits, and undo semantics.

    RipplingSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Model five-card Camel Cards hands with an abstract hand type class and a hand class, compare two hands by type and tie-break, then find the best and worst complete hands consistent with a partial hand. Tests object-oriented design, classification logic and step-by-step complexity analysis.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design an extensible, data-driven expense policy engine that evaluates structured JSON rules against submitted expenses without requiring code deployments.

    RipplingSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Design an extensible, thread-safe in-process logging framework that supports multiple isolated handlers, immutable log records, backpressure handling, and dynamic handler registration.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests your ability to design a scalable, extensible rule engine that evaluates financial transactions against dynamic spending policies.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design an extensible expense rule engine that reports every applicable violation for each expense. The answer separates rule implementations from the evaluation loop, defines deterministic structured results and money handling, and covers boundary tests, malformed data, rule versioning, aggregate-rule extensions, and OOP trade-offs.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Design an object-oriented validation engine that evaluates an expense report against modular, multi-scoped policies and aggregates all policy violations.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests your ability to design a flexible and extensible rule evaluation engine capable of processing expense reports against dynamic business policies.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question evaluates object-oriented design and software architecture skills, specifically the ability to define modular classification and comparison responsibilities for a game-hand evaluator as part of Software Engineering Fundamentals.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question tests your ability to design a stateful system for tracking user interactions (upvotes/downvotes) on content while maintaining an audit trail of user activity.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question evaluates object-oriented design, rule-based comparison logic, and algorithmic reasoning for ranking and tie-breaking of card hands, including skills in extensibility and comparison-key representation.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This problem tests your ability to design a robust backend architecture for an employee management system, focusing on data consistency, audit logging, and extensible API design.

    RipplingSoftware EngineerSoftware Engineering FundamentalsHR Screen
  • Build a scheduler for a catering kitchen's prep tasks: a task can't start before its dependencies finish, higher-priority ready tasks jump the queue, and a dietary filter can remove tasks whose downstream dependents must then re-route around them. Tests topological ordering, deterministic tie-breaking, cycle handling, and precisely specifying filter-removal semantics.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This question tests your knowledge of the JavaScript runtime architecture, specifically the distinction between macrotasks and microtasks, and your ability to predict execution order in asynchronous programming.

    RipplingSoftware EngineerSoftware Engineering FundamentalsTechnical Screen

More topics