It is 02:10. You are paged: three of your twenty worker nodes have flipped to NotReady, pods are being evicted onto the survivors, and now new pods are stuck Pending. Latency on the main API is climbing. Take me through your first thirty minutes.
What they are really testing: They want to hear you stop a cascade before you explain it, and they are listening for whether you understand that eviction plus a shrinking pool is a feedback loop that will take the whole cluster down if you spend twenty minutes reading kubelet logs.
A real interview question
It is 02:10. You are paged: three of your twenty worker nodes have flipped to NotReady, pods are being evicted onto the survivors, and now new pods are stuck Pending. Latency on the main API is climbing. Take me through your first thirty minutes.
What most people say
drag me
“I would SSH into one of the NotReady nodes and check the kubelet logs to find out why it went down, then fix it and bring it back.”
It is not wrong, it is just out of order, and order is the whole test here. While the candidate reads logs the cascade keeps eating nodes, so a thirty minute diagnosis turns a three node problem into a cluster wide outage that the diagnosis will not undo.
The follow-ups they ask next
All three nodes are in the same availability zone. What does that tell you?
Stop looking at the nodes and start looking at the zone. Check the control plane path, the NAT gateway or the CNI in that AZ, and consider cordoning the whole zone so the scheduler stops placing work there.
You scale the node group up but the new nodes never join. Now what?
That is a bigger signal than the original page. Check the node group's quota, the AMI, the bootstrap script and the kubelet certificate. It means your capacity lever is broken, so switch to shedding load, scale batch to zero and protect the API.
How do you keep evictions from making it worse next time?
PodDisruptionBudgets on the critical services, priority and preemption classes so batch loses first, topology spread constraints across zones, and resource requests that actually reflect usage so the scheduler does not overpack.
What the interviewer is listening for
- Names the eviction cascade as a feedback loop within the first sentence
- Adds capacity and cordons at risk nodes before opening a single log file
- Groups the three nodes by zone, instance type or AMI to find the common cause
- Preserves one failed node as evidence instead of terminating everything
What sinks the answer
- Goes straight to kubelet logs while nodes keep flipping
- Terminates all three nodes and loses every piece of evidence
- Never mentions PodDisruptionBudgets, priority classes or Pending pods
- Cannot say why pods went Pending after nodes left
If you genuinely do not know
Say this instead of freezing. Reasoning out loud from what you do know beats silence every single time, and a good interviewer is listening for exactly that.
“I have not run this exact incident, but here is how I would reason about it. Three nodes leaving is not the problem, the problem is that their pods are now crushing the nodes that are left, so I would add capacity and cordon the shaky nodes first, and only once the Ready count is climbing would I go looking for what the three had in common.”
Keep going with troubleshooting
Junior
You get paged at 2am. Checkout latency has gone from 200ms to 4 seconds and it started right after the 11pm deploy. Walk me through what you do.
Junior
It is 3am and you get paged: the primary application server is at 100% disk usage and the app is throwing write errors. You are the only one online. Walk me through exactly what you do.
Junior
You push a new version of a service and within two minutes the pods are all showing CrashLoopBackOff. The team is watching you share your screen. Walk me through exactly what you do.
Junior
A developer pings you: the checkout service cannot reach the payments service, the calls just hang and time out. You have never worked on either service. Walk me through what you do.
Junior
A developer messages you: 'My app suddenly gets Access Denied writing to the S3 bucket. Nothing changed.' It worked yesterday. Walk me through what you do.
Mid
Your load balancer shows 5xx errors jumping from 0.1 percent to 12 percent of requests over ten minutes. There was no deploy. What do you do?
Knowing the answer is not the same as recalling it under pressure
Sign in to send the questions you fumble to spaced recall, so they come back right before you would forget them, and learn the concepts behind them with hands-on labs.
Start free