âIn an SRE interview, the silence of the interviewer is the loudest signal.â
If you want to know why Senior Software Engineers routinely fail Google SRE loops, read these transcripts.
This file contains two simulated interviews. They expose the hidden Interviewer Scorecards in real-time, showing exactly how candidates are graded during Googleâs two most notorious rounds.
Contents:
Why include this: This is our strongest flagship NALSD scenario for this entire Google SRE bundle. Googleâs public AI infrastructure direction makes it a credible forward-looking practice problem, although the exact interview prompt is unverified. Senior-level Google SRE-style NALSD mock interview for 2027+ preparation: global LLM inference capacity planning, token throughput, KV-cache sizing, accelerator provisioning, regional failure reserves, and infrastructure BOM.
The math that matters: Input/output token throughput, concurrent streams, accelerator throughput, KV-cache footprint, prefill/decode capacity, and regional failure reserves.
Interview simulation ¡ Senior infrastructure engineering ¡ Capacity sizing and BOM
We will treat this as a live, interviewer-led NALSD round. The candidate will reason aloud, calculate resource requirements, justify architectural decisions, and respond to follow-up questions as they arise.
One distinction upfront: this is a realistic simulated interview, not a transcript of an actual Google interview. The prompt and constraints are supplied; accelerator throughput, model configuration details, and hardware prices are not. Where those missing inputs affect the BOM, the candidate will state assumptions rather than invent benchmark results.
The objective is to demonstrate how a strong candidate approaches the problem in the interviewânot to recite a prewritten architecture.
âDesign a globally distributed LLM inference platform with hierarchical KV-cache management for Gemini-class models. We need 100,000 QPS globally, 4,000 input tokens on average, 500 output tokens, P99 TTFT under 300 milliseconds, P99 TPOT under 25 milliseconds, and 99.95% availability. How would you design it?â
âI would start by establishing the workload and the resource constraints. At this scale, the critical question is not just how many requests we can accept, but how much prefill computation, decode throughput, accelerator memory, and network capacity those requests consume.
I have three clarifications before sizing the system.
First, is 100,000 QPS the peak aggregate across all regions, and should I assume that traffic can be unevenly distributed?
Second, are the input and output token counts averages for initial and subsequent chat turns combined, or should I model separate workload classes?
Third, should I assume a particular accelerator and benchmarked model throughput, or can I use explicit planning assumptions and derive a conditional BOM?â
âTreat 100,000 QPS as peak global traffic. Traffic is uneven, and multi-turn sessions reuse prefixes. Use a representative accelerator configuration, but state your assumptions. We expect regional failure tolerance.â
Candidateâs interpretation: I will design for peak traffic rather than average daily traffic. I will distinguish logical conversation history from reusable KV-cache state. I will also avoid assuming that all requests consume the same amount of accelerator time.
The SLOs are requirements to validate, not performance guarantees that can be claimed before sizing and testing.
The first calculations establish the amount of work entering the platform.
Given:
Input-token rate: \(100,000 \times 4,000 = 400,000,000\) That is 400 million input tokens per second before accounting for cache hits.
Output-token rate: \(100,000 \times 500 = 50,000,000\) That is 50 million generated tokens per second.
| Input throughput | Output throughput |
|---|---|
| 400M tokens/second |
50M tokens/second |
These are logical workload rates before prefix-cache savings, not measured accelerator throughput.
If we assume an average request generates 500 tokens at an average of 25 milliseconds per token, the estimated generation duration is: \(500 \times 0.025 = 12.5\text{ seconds}\)
Using Littleâs Law, the approximate number of concurrent generation streams is: \(100,000 \times 12.5 = 1,250,000\)
So the initial planning estimate is 1.25 million concurrent generation streams.
But I would explicitly tell the interviewer that this estimate assumes the stated 25 milliseconds is representative of average token-generation time. The actual requirement is a P99 TPOT bound, so the average cannot be derived from the P99 alone. We need a measured or separately specified average to finalize concurrency.
âYou have calculated 1.25 million streams. Does that mean you need 1.25 million independent accelerator allocations?â
âNo. That is the concurrency across the serving fleet, not the number of accelerators. Continuous batching allows an accelerator to serve multiple sequences concurrently, subject to memory capacity, memory bandwidth, and the latency target.
I need measured per-accelerator throughput and a validated batch configuration to translate these streams into an accelerator count. I will calculate memory demand next, because the KV cache can limit the feasible concurrency even when compute capacity appears sufficient.â
âIâll use an explicit example KV-cache configuration so the estimate is reproducible. Assume 64 transformer layers, 8 KV heads, a head dimension of 128, and one byte per KV value. These are illustrative assumptions, not a claim about Geminiâs internal architecture.â
For each token, the cache holds both keys and values:
\(KV_{bytes} = 2 \times L \times H_{KV} \times D \times B\) \(= 2 \times 64 \times 8 \times 128 \times 1\) \(= 131,072\text{ bytes}\)
That is 128 KiB per token before implementation-specific overhead.
For an active request containing approximately 4,250 tokens:
\[4,250 \times 131,072 = 557,056,000\text{ bytes}\]That is approximately 557 MB per request under this particular configuration.
This number is large, but it follows directly from the stated assumptions. It is not a universal KV-cache footprint.
Using the illustrative concurrency estimate of 1.25 million active requests:
\(KV_{total} = 1.25 \times 10^6 \times 557.056\text{ MB}\) \(\approx 696\text{ PB}\)
| Illustrative uncached aggregate KV footprint |
|---|
| # â 696 PB |
This is a workload-derived theoretical footprint, not a proposed HBM allocation.
The estimate assumes the example KV format and dimensions apply to all requests, all estimated token positions remain resident, and prefix sharing provides no reduction. Actual cache residency can differ substantially.
âYou have just calculated hundreds of petabytes of KV state. Are you proposing to buy that much accelerator memory?â
âNo. The calculation exposes why we cannot retain every requestâs full KV state in accelerator HBM. It also tells me that I must validate the workload assumptions before committing to the hardware budget.
I would separate three things: active decode state that must be immediately accessible, reusable prefix state that can be cached, and conversation history that can be persisted and recomputed when necessary.
I would also verify the actual modelâs KV dimensions and precision. If the interviewer expects a feasible production BOM, I need benchmarked per-accelerator throughput and a realistic cache-residency target. Otherwise, the aggregate figure is a useful upper-bound scenario, not a purchase order.â
(Interviewer Note: This is an important NALSD moment. The candidate has used math to expose a physical constraint instead of jumping to a familiar architecture).
âFine. The platform must still support multi-turn conversations. How will you manage the cache, how many accelerator nodes do you need across prefill and decode, and what happens to our latency budget when a primary region goes dark?â
You have reached the end of the public preview (Phases 1â3).
Most candidates fail NALSD interviews at this exact moment: they freeze when faced with physical hardware ceilings like the 696 PB KV-cache footprint, or they throw arbitrary GPU counts at the board without deriving capacity. Passing an L5/L6 Google SRE round requires using mathematical constraints to dictate the architectural boundary before placing a single server.
In the complete interview session included in our bundle, the candidate steps through the rest of the 45-minute loop:
This scenario is just one part of the end-to-end curriculum designed to build your operational reflexes under real interview pressure.
đ Unlock the Full Walkthrough in the Google SRE Interview Career Launchpad
Stop guessing the math under pressure. Master the simulation.
Why include this: This exposes the hidden âExecution Sequencingâ rubric. It proves why finding the bug is less important than stabilizing the system.
đŁď¸ INTERVIEWER:
âYou are the on-call SRE for a global e-commerce checkout service. It is Black Friday. At 14:00 UTC, the p99 latency for the /checkout endpoint spikes from 150ms to 4.5 seconds. Global error rates climb to 15%.
You check your dashboards. CPU and Memory on the API pods are at 40% (completely normal).
What do you do?â
Candidate A is a brilliant Senior Backend Developer. They know Kubernetes and Linux. They are optimizing for âFinding the Bugâ.
Candidate A: âOkay, latency is high but CPU is normal. This sounds like a downstream dependency issue or a bad database query holding up the threads. Iâm going to exec into one of the API pods and run curl to test the local endpoint.â
Interviewer: âThe curl command hangs for 4 seconds, then returns a 500 Internal Server Error.â
Candidate A: âAlright, I want to look at the application logs. Iâll search Elasticsearch for the last 5 minutes of errors. What do I see?â
Interviewer: âYou see thousands of context deadline exceeded errors pointing to the downstream Payment Gateway.â
Candidate A: âGot it. The Payment Gateway is the root cause. Iâm going to check the deployment history for the Payment team. Did they push a bad config?â
đ [Interviewerâs Internal Notes - Candidate A]
- Time Elapsed: 8 Minutes.
- User Impact: 15% of Black Friday checkouts are still dropping. Revenue is burning.
- Execution Sequencing: FAILED. Candidate jumped straight to Root Cause Analysis (RCA). Did not attempt to stabilize the system.
- Blast Radius: FAILED. Candidate did not ask if this was a regional or global issue before diving into logs.
- Current Score: L3 (Junior) / No Hire.
Candidate B has the exact same technical knowledge, but they are optimizing for âOperational Survivabilityâ.
Candidate B: â15% error rate on Black Friday is a SEV-1. Before I look at any logs, I need to understand the blast radius. Is this happening in all regions, or just one specific availability zone?â
Interviewer: âIt appears to be happening globally across all clusters.â
Candidate B: âOkay, since itâs global and our compute resources are normal, our worker threads are likely getting blocked by a downstream bottleneck. My immediate priority is to stop the bleeding and restore the user experience. I am not going to investigate the root cause yet.â
Interviewer: âWhat is your mitigation?â
Candidate B: âI will trigger our Load Shedding playbook. I want to drop all non-critical background traffic (like analytics batching) to free up connection pools. Simultaneously, I will enable Circuit Breakers on the downstream Payment API. We need to fail fast. Returning a clean âPlease try againâ error in 50ms is infinitely better than holding a userâs connection open for 4.5 seconds and exhausting our ephemeral ports.â
đ˘ [Interviewerâs Internal Notes - Candidate B]
- Time Elapsed: 3 Minutes.
- User Impact: Halted. System is stabilized into a degraded, but safe, state.
- Execution Sequencing: EXCEPTIONAL. Demonstrated âMitigate First, Debug Secondâ reflex without being prompted.
- Operational Empathy: Recognized that hanging for 4.5 seconds is worse for users (and infrastructure) than a fast failure.
- Current Score: L5 / L6 (Senior/Staff) Strong Hire trajectory.
Interviewer: âThe circuit breaker trips. Your p99 latency drops back to 150ms, but 20% of checkouts are now failing fast. What next?â
Candidate B: âUsers are out of the âhangingâ state and our infrastructure is protected from a connection-pool collapse. Now that we are stable, I will initiate the root cause investigation. Since CPU is fine, I suspect a hidden kernel or network bottleneck. Iâll check the TCP connection backlog (ss -s) and look for D-state (uninterruptible sleep) processes to see if the network stack is choked.â
đ˘ [Interviewerâs Internal Notes - Candidate B (Continued)]
- Systems Intuition: EXCEPTIONAL. Candidate knows that âhealthy CPUâ during an outage often masks I/O or Kernel queue exhaustion.
- Hypothesis Discipline: Candidate states exactly why they are running a command before running it.
Candidate A and Candidate B both knew how to use logs. Both knew how to check CPU.
Candidate A failed because they acted like a developer fixing a bug.
Candidate B passed because they acted like an Incident Commander managing a crisis.
Google does not grade you on whether you find the broken server. They grade you on the sequence of decisions you make while the system is burning.
Reading a transcript creates an âAha!â moment. But doing this live, while a Google engineer is intentionally withholding information and watching a timer, is a completely different game.
If you jump to grep logs under pressure, you will fail the round. You must train the Stabilize First reflex until it is automatic.
I built a complete Simulation-Based Training System designed to build this exact muscle memory.
đ The Complete Google SRE Interview Career Launchpad (Gumroad)
What is inside the full system:
Donât let a sequencing error cost you a $300k+ offer. Stop guessing. Start simulating.