CrackOps
Interview PrepTracksLinuxAWS LabSoonInterview RoomSoon
Sign inStart free
CrackOps

Interview prep for the people who keep production up.

[email protected]
ProductInterview PrepTracksDashboardInterview Room
RolesDevOpsSREPlatformCloud
CompanyAboutContactPrivacyTerms
© CrackOps
Tracks/Kubernetes & EKS
Advanced 4 minSystem design

How do you spread streaming workloads across zones so a node or zone failure never breaches the regional SLO?

Scenario

A live-sports streaming platform runs each region's control plane on a Kubernetes cluster spread over three availability zones: playback API, heartbeat and entitlement services (stateless, 60 to 200 replicas each), a Redis cache, and a Kafka cluster for heartbeats. In a recent incident one zone lost power during a league match; the scheduler had packed 55 percent of the playback API pods into that zone, the survivors overloaded, and video start failures hit 6 percent for twelve minutes.

The interviewer asks

“Design the scheduling for our playback services so that losing a node, or an entire availability zone, at peak does not breach the regional streaming SLO. Show me the topology spread, affinity and disruption budget config you would use, and the capacity maths behind it.”

The 30-second answer

Spreading only works if every zone can carry the load of the zone that fails, so I start with capacity: with three zones each zone holds half of peak, 1.5 times peak in total, provisioned before the failure. Then zone topology spread with maxSkew 1 and DoNotSchedule plus nodeTaintsPolicy Honor so a dead zone does not block scheduling, and a soft hostname spread so no node holds more than a few percent of a service. Required anti-affinity is reserved for small stateful sets like Redis and Kafka, which also get rack awareness. PDBs protect against drains and consolidation, not outages. Traffic stays zone-local with a zonal shift runbook for gray failure, and I prove it with a real zone-failure drill.

Sign in to finish this question

A free account unlocks the rest of it, and saves your progress across every track.

  • The voiced mock interview (4 min)
  • The full senior answer, step by step
  • Animated architecture diagrams
  • The whole conversation, 14 turns
  • Deep dive: how it works, mistakes, risks and trade-offs
  • 3 copy-ready command snippets
  • 5 follow-up questions they'll ask next
  • A self-check of 8 things interviewers listen for
Create a free accountSign in

More Kubernetes & EKS interview questions

  • A Kubernetes pod is stuck in CrashLoopBackOff. How do you diagnose and fix it?
  • How would you auto-scale a live-sports platform for 50M+ concurrent viewers without over-provisioning?
  • A new region must take live traffic mid-final with zero cold-start impact. How do you make it truly warm?
  • Grafana shows CPU above 90%, but the HPA won't add pods. How do you debug it?
  • Festival traffic just hit 10x and autoscaling is minutes behind. What do you do first, and what do you fix after?
All Kubernetes & EKS questions

Linux commands for this track

  • kubectl get List Kubernetes resources and their status
  • kubectl describe Explain an object's state, conditions and events
  • kubectl logs Read and follow container logs
  • kubectl exec Run a command or shell inside a running container
  • kubectl apply Create or update resources from YAML, declaratively
  • kubectl delete Delete Kubernetes resources safely
  • kubectl scale Change the replica count of a workload
  • kubectl rollout Watch, undo and restart Deployment rollouts