Practice
Solution
Step 1: Understand sequence number role in Snowflake
The sequence number differentiates IDs generated within the same millisecond on the same machine.Step 2: Analyze overflow handling
If the sequence exceeds its max (e.g., 4095), the generator must wait for the next millisecond to avoid duplicates. Resetting immediately (A) risks duplicates; wrapping (C) causes collisions; incrementing machine ID (D) is not part of the design.Final Answer:
Option A -> Option AQuick Check:
Sequence overflow -> wait next millisecond to avoid duplicates [check]
Solution
Step 1: Understand reverse proxy SSL termination failure
If the reverse proxy crashes, SSL termination stops, so backend servers receive unencrypted traffic if clients connect directly or fallback occurs.Step 2: Eliminate other options
Clients cannot connect directly if proxy is mandatory; SSL handshake fails only if proxy blocks connection; proxy can't forward encrypted requests without decrypting if crashed.Final Answer:
Option C -> Option CQuick Check:
Reverse proxy crash exposes backend to unencrypted traffic [check]
Solution
Step 1: Identify role of asynchronous replication
It propagates updates to other replicas to keep data fresh despite partitions.Step 2: Trace failure without async replication
Without it, replicas do not get updates, so reads return stale data indefinitely.Final Answer:
Option A -> Option AQuick Check:
No async replication -> stale reads persist during partition [check]
Solution
Step 1: Analyze Kafka broker bottlenecks at scale
Kafka brokers face partition leader overload and disk I/O saturation as event volume grows 10x.Step 2: Compare other components
Flink scales with more nodes; OLAP stores can shard; dashboards scale horizontally; Kafka's broker disk and network limits are hardest to scale first.Final Answer:
Option A -> Option AQuick Check:
Kafka broker disk I/O saturates first at 10x event volume [check]
Solution
Step 1: Analyze component scalability
Personalization stores can be sharded; ranking computations scale linearly; front-end servers can be horizontally scaled.Step 2: Identify Trie cache bottleneck
Trie caches hold large in-memory prefix trees; sharding by prefix has limits due to prefix overlap and memory footprint, causing latency and memory bottlenecks.Final Answer:
Option D -> Option DQuick Check:
Trie cache memory and shard limits -> first bottleneck at 10x scale [check]
