Reliability & Availability — Series 2

Preview — 3 of 10 questions

A service calls a downstream dependency with no timeout configured at all. What goes wrong when that dependency starts responding very slowly (but not outright failing), and why does setting an explicit timeout help?

ATimeouts are purely cosmetic settings that have no effect on resource usage or failure propagation
BA missing timeout only affects the accuracy of logging timestamps, with no impact on system behavior
CSetting a timeout guarantees the downstream dependency will always respond faster, by definition
DWith no timeout, the calling service will wait indefinitely for a response — under load, this means threads/connections pile up waiting on the slow dependency, exhausting the caller's own resources (connection pool, thread pool) and potentially taking down the caller too, even though the caller itself is otherwise healthy. An explicit timeout bounds how long the caller will wait, failing fast instead of hanging forever, which frees up resources for other requests and lets the caller apply its own fallback or retry logic promptly

Two different reliability strategies for a critical piece of infrastructure are N+1 redundancy (run one extra unit beyond whats needed) and "2N redundancy" (run a fully duplicated, independent second set). Whats the practical difference?

AN+1 redundancy provides stronger protection than 2N redundancy in every scenario, making 2N unnecessary
BN+1 and 2N redundancy describe exactly the same level of protection, just expressed with different terminology
CN+1 redundancy provisions just one extra unit beyond the minimum needed to handle load — if any single unit fails, the spare covers it, but a second simultaneous failure could exceed capacity. 2N redundancy instead runs a fully separate, complete duplicate of the entire capacity — even if an entire primary set fails outright, the fully independent duplicate set can take over the whole load on its own, offering much stronger protection against larger-scale or correlated failures, at roughly double the cost
D2N redundancy means running exactly two total units, regardless of how many are actually needed to handle load

A companys disaster recovery plan defines both an RTO (Recovery Time Objective) and an RPO (Recovery Point Objective) for a critical database. Whats the difference between these two metrics?

ARTO measures how much money a disaster costs the company; RPO measures how many employees are needed to fix it
BRTO (Recovery Time Objective) is how long the system is allowed to be down before it must be restored to operation after a disaster — it measures tolerance for downtime. RPO (Recovery Point Objective) is how much data the organization can tolerate losing, measured as time — e.g., an RPO of 1 hour means backups/replication must be frequent enough that, worst case, no more than 1 hour of data is lost in a disaster. They answer different questions: "how long can we be down?" (RTO) vs. "how much data can we afford to lose?" (RPO)
CRTO and RPO are two different names for the exact same recovery metric
DRPO measures downtime tolerance, while RTO measures acceptable data loss — the definitions given in answer B are swapped

Sign up free to play

Answer all 10 questions (7 more), see explanations for every answer, and track your score.