Katkat

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

  • RedditHardSoftware Engineer
    Design Add, Overwrite, Undo, and Redo for Billing State

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

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignStackState Machine
  • RedditMediumBackend Engineer
    Design Tennis Scoring with Pluggable Rules

    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.

    Software Engineering FundamentalsTechnical Screen
  • RedditEasyMachine Learning Engineer
    Design a Tennis Scoring System

    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.

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignState MachineLogic
  • RedditMediumSoftware Engineer
    Implement a Stateful Chatter Message Store

    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.

    Software Engineering FundamentalsTechnical Screendata-structuresdesignbinary-search
  • Reinforce LabsMediumSoftware Engineer
    Write SQL to compute current product stock

    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.

    Software Engineering FundamentalsOnline AssessmentSQLAggregationsJoins
  • Retell AIMediumSoftware Engineer
    Connect a Local FastAPI Service to an AI Agent Platform to Save and Read Back Issues

    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.

    Software Engineering FundamentalsTechnical Screen
  • RevolutMediumSoftware Engineer
    Build a Java restaurant table booking service that prevents double bookings

    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.

    Software Engineering FundamentalsOther
  • RevolutMediumSoftware Engineer
    Explain DB concurrency, debugging slowness, DDD and CQRS

    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.

    Software Engineering FundamentalsTechnical Screen
  • RiotgamesEasySoftware Engineer
    Choose Between For and While Loops

    This question evaluates your conceptual understanding of control flow structures, specifically focusing on readability, maintainability, and error prevention in loop selection.

    Software Engineering FundamentalsTechnical ScreenControl FlowBest PracticesCode Quality
  • RiotgamesEasySoftware Engineer
    Explain JavaScript Numeric Edge Cases

    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.

    Software Engineering FundamentalsTechnical ScreenJavaScriptIEEE-754Data-Types
  • RiotgamesEasySoftware Engineer
    Trace a Web Page Load Through the Browser

    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.

    Software Engineering FundamentalsTechnical ScreenBrowsersNetworkingWeb Performance
  • RipplingMediumSoftware Engineer
    Build an E-Bike Rental Billing Dashboard With Rate Changes Over Time

    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.

    Software Engineering FundamentalsTechnical Screenoop-designbillingidempotency
  • RipplingEasySoftware Engineer
    Clarify and Find Common Ancestors in a Graph

    Reason about graph common ancestors by clarifying edge direction, DAG versus tree structure, self-ancestry, output semantics, and reachability algorithms.

    Software Engineering FundamentalsTechnical Screen
  • RipplingEasySoftware Engineer
    Clarify and Solve Currency Conversion Queries with a Maximum-Amount Follow-up

    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.

    Software Engineering FundamentalsTechnical Screen
  • RipplingMediumSoftware Engineer
    Delivery Driver Payroll Tracker With Accrued, Settled and Unpaid Wage Totals

    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.

    Software Engineering FundamentalsTechnical Screen
  • RipplingMediumSoftware Engineer
    Design Extensible Interview Coding Systems

    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.

    Software Engineering FundamentalsOnsiteObject-Oriented DesignDesign PatternsExtensibility
  • RipplingMediumSoftware Engineer
    Design Raw and Computed Spreadsheet Views

    Design raw and computed spreadsheet views with formula parsing, dependency replacement, cache invalidation, atomic edits, and undo semantics.

    Software Engineering FundamentalsOnsite
  • RipplingMediumSoftware Engineer
    Design a Camel Cards hand evaluator and find best and worst completions

    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.

    Software Engineering FundamentalsTechnical Screen
  • RipplingMediumSoftware Engineer
    Design a Data-Driven Expense Rule Evaluator

    Design an extensible, data-driven expense policy engine that evaluates structured JSON rules against submitted expenses without requiring code deployments.

    Software Engineering FundamentalsOnsiterule-enginesystem-designood
  • RipplingMediumSoftware Engineer
    Design a Logger with Independent Handlers

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

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignConcurrencyAPI Design
  • RipplingMediumSoftware Engineer
    Design a Rule Evaluation Engine for Spending Policy Violations

    This problem tests your ability to design a scalable, extensible rule engine that evaluates financial transactions against dynamic spending policies.

    Software Engineering FundamentalsTechnical ScreenSystem DesignRule EngineStrategy Pattern
  • RipplingMediumSoftware Engineer
    Design an Extensible Expense Rule Engine

    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.

    Software Engineering FundamentalsTechnical Screen
  • RipplingHardSoftware Engineer
    Design an Extensible Expense Validation Engine

    Design an object-oriented validation engine that evaluates an expense report against modular, multi-scoped policies and aggregates all policy violations.

    Software Engineering FundamentalsTechnical Screenobject-oriented-designclean-architecturehash-table
  • RipplingMediumSoftware Engineer
    Design an extensible expense rule evaluator

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

    Software Engineering FundamentalsTechnical ScreenSystem DesignDesign PatternsExtensibility
  • RipplingMediumSoftware Engineer
    Design an extensible poker-hand evaluator

    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.

    Software Engineering FundamentalsTechnical Screen
  • RipplingMediumSoftware Engineer
    Design article voting and flip-tracking system

    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.

    Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignData ModelingConcurrency
  • RipplingHardSoftware Engineer
    Design poker-like hand comparison with custom ranking

    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.

    Software Engineering FundamentalsTechnical Screen
  • RipplingHardSoftware Engineer
    Design several backend components

    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.

    Software Engineering FundamentalsHR ScreenSystem DesignDatabase ModelingConcurrency
  • RipplingMediumSoftware Engineer
    Event-Kitchen Prep Scheduler: Dependencies, Priority, Filters

    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.

    Software Engineering FundamentalsTechnical Screentopological-sortgraphsheap
  • RipplingMediumSoftware Engineer
    Explain JS event loop and related concepts

    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.

    Software Engineering FundamentalsTechnical ScreenJavaScriptEvent LoopAsynchronous