Rippling·Software Engineer·Onsite - System Design / Architecture
Jun 2026
System design round at Rippling for a software engineer role, focused entirely on building an ad performance measurement platform from scratch. Pretty intense scope, covering ingestion, stream processing, enrichment, and serving layers all in one session.
- Design a data platform to measure advertising performance, handling impression and click events from mobile and web clients at up to 500k events per second.
- What are the trade-offs between sending one request per event versus batching multiple events in a single request, particularly for mobile clients?
- How would you handle deduplication and out-of-order or late-arriving events in the pipeline?
- How would you enrich streaming events with campaign and ad metadata, and what are the trade-offs between stream-stream joins, stream-table joins, and batch enrichment?
- What data model and storage would you use to serve both near-real-time dashboard queries and historical batch reports over months of data?
“This is the main question and it's a lot.” The rest of the author's notes on Software Engineer interview at Rippling, Onsite - System Design / Architecture round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post