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 4591–4620 of 5874 results

  • 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 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 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 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 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 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 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 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 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
  • RipplingHardSoftware Engineer
    Design 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 Engineer
    Design 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 Engineer
    Design 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 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 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 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 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 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