practice a little every day, paws crossed ♡
Software Engineer 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 2131–2160 of 2810 results
- 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 EngineerBuild an Expense Policy Rule Engine
This question tests your ability to design a rule evaluation engine that processes structured expense data against a set of logical conditions, including support for basic operators.
Coding & AlgorithmsTechnical ScreenAlgorithmsData-ModelingRule-Engine - 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 EngineerCompare Complete and Partial Poker Hands
Implement a poker hand evaluator that determines whether an incomplete poker hand can be completed from the remaining deck to beat an opponent's complete five-card hand.
Coding & AlgorithmsTechnical Screencombinatoricssearchgame-theory - RipplingMediumSoftware EngineerCompare Two Five-Card Numeric Hands
Compare two five-digit numeric hands under a nonstandard multiplicity ranking and original-position right-to-left tie-break, using extensible category evaluators rather than standard poker rules.
Coding & AlgorithmsTechnical Screen - RipplingMediumSoftware EngineerCompute concurrent online drivers
This question evaluates proficiency in algorithms and temporal data handling, including the use of efficient search techniques and complexity reasoning to count distinct active drivers over a sliding 24-hour window.
Coding & AlgorithmsTechnical Screen - RipplingMediumSoftware EngineerCompute max simultaneous drivers last 24 hours
This question evaluates proficiency in reasoning about time-interval overlap, event aggregation, and online data structures for streaming interval queries, testing skills in algorithm design and temporal data handling within the Coding & Algorithms domain.
Coding & AlgorithmsTechnical Screen - RipplingMediumSoftware EngineerCompute maximum simultaneous drivers
This English summary evaluates the candidate's proficiency in algorithm design and complexity analysis within the Coding & Algorithms domain, specifically for aggregating interval data and computing concurrent counts.
Coding & AlgorithmsTechnical Screen - RipplingMediumSoftware EngineerCompute median of two sorted arrays
This question evaluates algorithmic problem-solving with sorted arrays, focusing on concepts like binary search, partitioning strategies, complexity analysis, and careful handling of edge cases when computing order statistics.
Coding & AlgorithmsTechnical Screen - RipplingMediumSoftware EngineerCompute peak busy dashers with overlaps
This question evaluates skills in interval-overlap reasoning, sweep-line algorithm design, event creation and deduplication, comparator and tie-breaking subtleties, and asymptotic time/space complexity analysis within the Coding & Algorithms domain.
Coding & AlgorithmsTechnical Screen - RipplingMediumSoftware EngineerConvert amounts between multiple currencies
This question evaluates understanding of graph modeling and path-optimization in directed weighted graphs, specifically reasoning about chained conversions and maximizing multiplicative path weights.
Coding & AlgorithmsTechnical Screen - RipplingMediumSoftware EngineerCourier Delivery Cost Tracker
Design a stateful tracker class to record courier delivery intervals and earnings, query running courier payouts, and calculate peak concurrent active deliveries within a specific time window.
Coding & AlgorithmsTechnical ScreenIntervalsLine SweepHash Table - 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 News Pull Scheduling, Article Storage, and Topic Reads
Design a scalable topic-based news aggregation system covering distributed feed scheduling, idempotent article ingestion, stable pagination, and a low-latency read path.
System DesignTechnical ScreenDistributed SystemsCachingJob Scheduling - 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 Deduplicated Personalized News Feed
Design a news aggregation and recommendation system that ingests multi-publisher articles, clusters coverage of identical real-world events, and serves a personalized, deduplicated feed with low latency.
System DesignTechnical Screensystem-designnews-feedclustering - RipplingMediumSoftware EngineerDesign a Driver Payroll System
Design an in-memory driver payroll system that records time-stamped earnings and supports efficient range queries for both individual drivers and company-wide aggregates.
Coding & AlgorithmsTechnical Screenbinary-searchprefix-sumdata-structure-design - 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 News Aggregation Feed
This question evaluates expertise in large-scale system design—specifically data ingestion, article clustering/deduplication, feed ranking and personalization, API and data-model design, scalability, reliability, and monitoring—within the System Design domain.
System DesignTechnical Screen - RipplingMediumSoftware EngineerDesign a News Aggregation Service
Design a scalable news aggregation platform that ingests high-volume publisher feeds, clusters and deduplicates coverage into cohesive stories, and serves fresh, personalized feeds with sub-second latency.
System DesignTechnical ScreenData PipelinesClusteringCaching - RipplingMediumSoftware EngineerDesign a News Aggregation System (Google News-style)
Design an end-to-end news aggregation platform that ingests articles at scale, deduplicates syndicated content, clusters articles into evolving story threads, and serves low-latency feeds.
System DesignTechnical ScreenDistributed SystemsData PipelinesClustering - 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 a User Behavior Tracking (Clickstream Analytics) System
Design a scalable clickstream analytics pipeline capable of ingesting high-throughput user interaction events, handling duplicate and out-of-order data, and supporting both real-time aggregated dashboards and raw behavioral query paths.
System DesignTechnical ScreenStream ProcessingData PipelinesOLAP - RipplingMediumSoftware EngineerDesign a delivery cost system
A Rippling software-engineer system-design screen: build an object-oriented, in-memory delivery cost dashboard that registers drivers with hourly rates, records completed deliveries, and reports total cost, paid and unpaid amounts via an idempotent payUpTo cutoff, and the maximum number of drivers simultaneously delivering in the last 24 hours. It tests time-interval modeling, exact monetary arithmetic without floating-point drift, sweep-line concurrency counting, idempotency, time-zone handling, and thread-safe O(1) dashboard reads. The walkthrough covers both prorated and whole-delivery payment semantics, a full Python reference implementation, and the production hardening a real payroll service would need.
System DesignTechnical Screen - RipplingHardSoftware EngineerDesign a flexible expense reimbursement system
This question evaluates system design and architecture skills for building a policy-driven, explainable expense reimbursement platform, specifically testing competencies in rule engines and DSL/config design, versioning and immutable evaluations, group-level aggregation and conflict resolution, data modeling and partitioning for scale, API and workflow design, observability/auditing, and access control. As a System Design interview prompt it is commonly asked because it forces candidates to articulate trade-offs between extensibility, explainability, consistency, and performance; the assessment targets practical application of architectural principles with strong conceptual reasoning.
System DesignTechnical Screen - RipplingMediumSoftware EngineerDesign a news aggregator like Google News
This problem tests your ability to design a distributed system that fetches, normalizes, and ranks news articles from various heterogeneous sources while maintaining high availability and low latency for users.
System DesignTechnical ScreenDistributed SystemsCachingScalability - RipplingHardSoftware EngineerDesign a real-time delivery dashboard
This question evaluates skills in designing scalable, low-latency real-time distributed systems—covering event ingestion and streaming, geospatial indexing, state management, consistency and availability trade-offs, fault tolerance, monitoring, and cost/performance considerations—and is categorized under System Design.
System DesignTechnical Screen - RipplingHardSoftware EngineerDesign a scalable expense rules engine
This question evaluates system-design and data-modeling competency for building a scalable, multi-tenant rules engine (category: System Design) that supports per-entity and aggregate (trip-level) evaluations, backward-compatible APIs, explainability/auditability, parsing/validation of string-typed inputs, and operational concerns like determinism, idempotency, and resilience. It is commonly asked to assess trade-off reasoning around extensibility, evaluation semantics (priority, combinators, short-circuiting), aggregation and caching strategies, and API/data-model stability, with a level of abstraction that is practical application focused while requiring conceptual architectural trade-offs and concrete design details.
System DesignTechnical Screen - RipplingHardSoftware EngineerDesign a user behavior tracking system
This question evaluates competency in designing scalable event-driven systems, covering client SDKs and server ingestion, buffering and delivery guarantees, schema evolution, storage trade-offs for interactive dashboards versus large-scale warehousing, enrichment placement, and privacy/compliance controls.
System DesignTechnical Screen