Persist Hardware Signals through an Asynchronous Sink

Read the full interview experience this question came from →

Quick Overview

Design a100-QPS hardware-signal sink with bounded batching and durable acceptance. Explain flush timing, object commit recovery, duplicates, backpressure, and the limits of memory-only buffering.

Persist Hardware Signals through an Asynchronous Sink

Company: Apple

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a service that receives hardware signals at about100 requests per second and efficiently persists them to object storage. Discuss asynchronous batching, memory buffering, and durability under failures. ### Clarifying Questions The reported request rate is100 QPS; payload sizes, burst shape, retention, and acceptable persistence delay are unspecified. Clarify what an acknowledgment guarantees, whether duplicate signals are possible, and whether ordering is needed per device. Do not infer a massive throughput requirement from the service name. ### What a Strong Answer Covers A durable ingestion boundary, bounded buffers, size/time-based batch flushing, object naming and commit tracking, retry and deduplication behavior, and recovery after a process crash. ### Follow-up Questions - What is lost if the service acknowledges after writing only to memory? - How would you handle a low-volume stream that never fills a size-based batch?

Overview: Design a100-QPS hardware-signal sink with bounded batching and durable acceptance. Explain flush timing, object commit recovery, duplicates, backpressure, and the limits of memory-only buffering.

Read the full Apple Software Engineer interview experience this question came from

Apple logo
Apple
Jul 25, 2026
mediumSoftware EngineerOnsiteSystem Design
0
0

Design a service that receives hardware signals at about100 requests per second and efficiently persists them to object storage. Discuss asynchronous batching, memory buffering, and durability under failures.

Clarifying Questions Guidance

The reported request rate is100 QPS; payload sizes, burst shape, retention, and acceptable persistence delay are unspecified. Clarify what an acknowledgment guarantees, whether duplicate signals are possible, and whether ordering is needed per device. Do not infer a massive throughput requirement from the service name.

What a Strong Answer Covers Guidance

A durable ingestion boundary, bounded buffers, size/time-based batch flushing, object naming and commit tracking, retry and deduplication behavior, and recovery after a process crash.

Follow-up Questions Guidance

  • What is lost if the service acknowledges after writing only to memory?
  • How would you handle a low-volume stream that never fills a size-based batch?