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 451–480 of 625 results

  • 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
  • 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
    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 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 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
  • 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
  • RipplingHardSoftware Engineer
    Extend an Expense Rules Engine with Nested Boolean Conditions

    Extend an expense rules engine with validated AND/OR/NOT expression trees, typed leaf operators, explicit missing-field semantics, and explainable evaluation.

    Software Engineering FundamentalsTechnical Screen
  • RipplingEasySoftware Engineer
    Extensible Logger With Independent Handlers and Any-Keyword Search Over Stored Logs

    An object-oriented design and coding question about a logger with independent handlers that strip a configured string, truncate, uppercase or store messages, followed by a case-sensitive any-keyword search over stored logs. It tests extensible design patterns, indexing for fast search, and scaling a logger to production volume.

    Software Engineering FundamentalsTechnical Screen
  • RipplingMediumSoftware Engineer
    Implement A Prioritized Task Scheduler With Parent Dependencies

    Implement a task scheduler that manages parent-child task dependencies, applies custom multi-field tie-breaking priority rules, supports filtering, and handles dependency cycles.

    Software Engineering FundamentalsTechnical ScreenHeap / Priority QueueGraph / DAGTopological Sort
  • RipplingMediumSoftware Engineer
    Plan CI Build Job Order with Prerequisites, Urgency and Filters

    Order CI build jobs so that prerequisites come first, more urgent jobs go earlier, filtered-out jobs are skipped without breaking ordering through them, and jobs can be grouped into parallel waves. Tests Kahn's algorithm, deterministic tie-breaking, cycle reporting, and turning a detailed spec into code.

    Software Engineering FundamentalsTechnical Screentopological-sortheapgraphs
  • RipplingHardSoftware Engineer
    Propagate Task Filtering Through Ancestors

    Design an algorithm to filter a hierarchy of tasks where any task failing a predicate—or having any ancestor that fails or is missing—is excluded along with all its descendants, running in linear time and preserving original order.

    Software Engineering FundamentalsTechnical Screenrecursiongraphmemoization
  • RipplingMediumSoftware Engineer
    Rank five-card hands by type, then find best and worst completions of unknown cards

    A two-part coding question on a poker-like card game: compare two five-card hands by a fixed type priority with ties broken card by card, then find the best and worst complete hands when the last cards are unknown. Tests hand classification, ordering keys, testing discipline and search over completions.

    Software Engineering FundamentalsTechnical Screen
  • RipplingMediumSoftware Engineer
    Stagehand Wage Ledger With Accrued and Settled Pay

    Design an in-memory class that tracks hourly pay for theater stagehands across logged call times, keeps running cost totals, and settles wages up to a cutoff without ever paying the same minute twice.

    Software Engineering FundamentalsTechnical Screenoop-designpayrollidempotency
  • RipplingMediumSoftware Engineer
    Task Scheduler with Dependencies, Priorities and Filters

    Coding question that asks for a task scheduler built from a detailed specification: tasks must come after their dependencies, follow priority or importance rules, and pass configurable filters. It tests topological ordering, deterministic tie-breaking, cycle handling and turning many interacting requirements into correct, tested code.

    Software Engineering FundamentalsTechnical Screen