Practice
Solution
Step 1: Trace Feature Flag Service behavior at Step 4
The service relies on a local cache for low latency; if stale, it uses last known state to avoid blocking.Step 2: Evaluate fallback behaviors
The service returns a default 'enabled' response, potentially exposing features prematurely risks exposing features prematurely; The service falls back to querying the central feature flag store synchronously adds latency; The request is rejected with an error indicating feature flag unavailability causes availability issues. The service uses the last known flag state without validation, risking inconsistent behavior matches typical cache stale handling.Final Answer:
Option D -> Option DQuick Check:
Feature flag cache stale -> use last known state, risk inconsistency [check]
Solution
Step 1: Understand distributed lock requirements
Single Redis instance with SETNX risks single point of failure and split-brain issues.Step 2: Evaluate Redlock's multi-instance coordination
Redlock uses multiple Redis masters to reduce risk of deadlocks and ensure safety under partial failures.Final Answer:
Option A -> Option AQuick Check:
Redlock coordinates multiple Redis masters for safer distributed locks [check]
Solution
Step 1: Trace retrieval dependency on metadata service
The metadata service provides object location and version info; without it, retrieval cannot resolve where to fetch data.Step 2: Eliminate other options
Stale metadata retrieval is impossible without metadata service; blocking indefinitely is unlikely as client errors occur; silent integrity failures require data access, which fails first.Final Answer:
Option B -> Option BQuick Check:
Metadata service absence causes unresolved object location errors [check]
Solution
Step 1: Understand absence of bulkhead isolation
Without bulkheads, saturation causes blocking (B) and thread starvation, but automatic rejection (C) is a bulkhead feature. Queuing indefinitely (A) is unlikely without bulkheads. Load balancers (D) don't detect internal resource saturation.Step 2: Trace failure impact
Without bulkheads, blocking threads cause cascading failures; with bulkheads, requests are rejected to contain blast radius.Final Answer:
Option C -> Option CQuick Check:
Without bulkheads, blocking causes cascading failures [check]
Solution
Step 1: Trace failure impact of message queue outage
Without the queue, fallback requests may be retried repeatedly due to lack of proper acknowledgment, causing duplicates.Step 2: Evaluate failure symptoms
Silent loss (A) is prevented by queue durability. Blocking (B) is unlikely as fallback is decoupled. Confidence scores (D) are independent of fallback queue. Indefinite retries causing duplicates (C) is the exact failure.Final Answer:
Option B -> Option BQuick Check:
Queue failure causes indefinite retries and duplicate notifications [check]
