InterviewStack.io LogoInterviewStack.io

Data Reliability and Fault Tolerance Questions

Designing pipelines that survive failures: retries, idempotency, checkpointing, exactly-once semantics, dead-letter handling, and recovery/replay. Covers reasoning about partial failures, poison messages, and consistency guarantees under faults. The resilience angle distinct from monitoring (detecting and alerting on a failure) and from Workflow Orchestration and Scheduling (the DAG/scheduler mechanics that decide whether and when a task runs again, including backfills and dependency management): this topic owns whether the data itself stays correct, not lost, not duplicated, not corrupted, when a process is retried or replayed.

EasyTechnical
29 practiced

Describe checkpointing versus snapshotting in stateful stream processors: what gets checkpointed and why it's necessary, how each is implemented, their impact on latency and throughput, and recovery-time trade-offs. When is incremental checkpointing preferable to a full snapshot? How often would you checkpoint in a low-latency pipeline processing 50k events/sec, and what does an on-call engineer need to know to restore a job after an operator crash (including offsets and external-sink consistency)?

HardTechnical
34 practiced

Provide pseudocode for the Chandy-Lamport distributed snapshot algorithm adapted to capture consistent operator state and in-flight messages in a streaming dataflow. Include handling for a snapshot attempt that partially fails and how to resume or abort safely. Then explain how you would adapt the same algorithm to implement consistent checkpoints across cooperating microservices that exchange events over Kafka or message queues, and discuss the practical challenges of capturing in-flight messages and integrating with persisted broker logs.

EasyTechnical
29 practiced

What is the circuit breaker pattern and how is it used to make downstream API calls safer in data pipelines? Describe parameters such as failure threshold, cooldown window, and how this interacts with retry/backoff policies and backpressure.

MediumTechnical
38 practiced

Write Python-style pseudocode for a streaming operator that performs idempotent writes to an external datastore using Redis to track processed message IDs. Requirements: persist processed IDs in Redis atomically with write intent, use TTL or compaction to prevent unbounded growth, and handle crashes and replays safely. Explain the failure modes.

MediumTechnical
35 practiced

Implement a simple write-ahead log (WAL) in Python that supports append(record), fsync durability, and replay() to return records in order after a crash. Describe the on-disk record format (including checksums) and include pseudocode for crash recovery and segment rotation.

Unlock Full Question Bank

Get access to all 22 Data Reliability and Fault Tolerance interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.