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 EngineerDesign 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 EngineerImplement 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 EngineerConnect 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 EngineerExplain 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 EngineerChoose 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 EngineerExplain 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 EngineerTrace 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 EngineerBuild 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 EngineerClarify 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 EngineerClarify 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 EngineerDelivery 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerEvent-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 EngineerExplain 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 EngineerExtend 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 EngineerExtensible 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 EngineerImplement 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 EngineerPlan 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 EngineerPropagate 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 EngineerRank 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 EngineerStagehand 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 EngineerTask 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