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 4591–4620 of 5874 results
- 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 Complete or Partial Hands
This question evaluates implementation of card-hand evaluation logic, combinatorial reasoning about incomplete information, and deterministic tie-breaking rules for comparing complete and partial poker-like hands.
Coding & AlgorithmsOnsite - 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 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 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 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 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 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 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 - RipplingHardSoftware EngineerDesign a Google News-like aggregator
This question evaluates system design skills for building a large-scale, multi-region news aggregation platform, assessing competencies in ingestion architecture, deduplication and clustering, indexing and retrieval, personalization and ranking, and operational concerns like monitoring, consistency, and compliance.
System DesignOnsite - RipplingHardSoftware EngineerDesign a Hotel Booking System
This question tests your ability to design a distributed system that manages transactional integrity, high concurrency during bookings, and efficient searching for room availability.
System DesignOnsiteConcurrencyDatabase ModelingDistributed Systems - RipplingMediumSoftware EngineerDesign a Hotel Search and Reservation System
Design an end-to-end hotel search and booking platform balancing high-throughput search with strictly consistent, transactional room inventory management across continuous date ranges.
System DesignOnsitesystem-designdistributed-systemsconcurrency - 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 Personalized News Feed Aggregator
Design a personalized news-feed system that ingests articles from many sources and builds a home feed. Connect requirements and APIs to data modeling, consistency, scaling, failure recovery, observability, and the important design trade-offs.
System DesignOnsite - 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 Scalable News Feed
This problem tests your ability to design a high-scale feed delivery system, specifically focusing on the trade-offs between 'push' (fan-out) and 'pull' (fan-in) models for delivering content to users.
System DesignOnsiteScalabilityDatabase ShardingCaching - 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