Katkat

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 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
    Build 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 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
    Compare 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 Engineer
    Compare 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 Engineer
    Compute 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 Engineer
    Compute 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 Engineer
    Compute 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 Engineer
    Compute 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 Engineer
    Compute 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 Engineer
    Convert 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 Engineer
    Courier 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 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 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 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 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 Engineer
    Design 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 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 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 Engineer
    Design 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 Engineer
    Design 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 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 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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