Fault Tolerance, High Availability, and Disaster Recovery Questions

Keeping a system serving despite failure, from code-level resilience to infrastructure-level recovery: circuit breakers, retries with backoff and jitter, timeouts, bulkheads, graceful degradation, and preventing cascading failures, alongside redundancy, failover (active-active versus active-passive), RPO and RTO objectives, backup and restore, and multi-region failover. Covers dependency-failure isolation, chaos engineering to validate resilience, failure-mode analysis, designing to nines of availability, cost-versus-availability tradeoffs, and recovery runbooks. Spans both the patterns that isolate partial failure and the disaster-recovery planning that restores a business-critical system after a major outage.

MediumTechnical
66 practiced

Implement a circuit breaker class with closed, open, and half-open states. It should open after a configurable run of consecutive failures, wait a cooldown period, then allow a single trial request in half-open before deciding whether to fully close again. Use whatever language you're comfortable in.

EasyTechnical
70 practiced

For availability targets of 99.9%, 99.99%, and 99.999%, calculate the allowed downtime per year and per month for each. Then walk through what architectural changes actually get you from one tier to the next.

EasyTechnical
79 practiced

What's the difference between Recovery Time Objective and Recovery Point Objective? Given the business requirement 'payments must be restored within 30 minutes with no more than 5 minutes of data loss,' walk through how that translates into your replication and backup design.

HardTechnical
78 practiced

Give a mathematical model for user-facing availability given the availability of individual components, combined in series and in parallel, and with redundant replicas across regions. How would you use that model to decide where an extra dollar of redundancy buys the most availability?

HardTechnical
63 practiced

Two regions running asynchronous replication get network-partitioned, and both keep accepting writes. When the partition heals, how do you detect the divergence and reconcile the conflicting writes?

Unlock Full Question Bank

Get access to all Fault Tolerance, High Availability, and Disaster Recovery interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.