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
Expert 5 minSystem design

How would you auto-scale a live-sports platform for 50M+ concurrent viewers without over-provisioning?

Scenario

You are joining the platform team of a live-sports streaming service in India. Video is delivered as HLS and DASH segments through multiple CDNs; the control plane (playback API, auth, entitlement, DRM licences, heartbeats, ad decisioning) runs on three Kubernetes clusters in three cloud regions. Last season's semi-final peaked at 32 million concurrent viewers, and the team scaled by setting very high minReplicas a day early and hoping.

The interviewer asks

“The final is in six weeks and the forecast says 50 million concurrent viewers at the peak. Design the auto-scaling for our Kubernetes estate so we survive that peak without paying for three times the capacity all season. What scales, on what signal, and what happens when the forecast is wrong?”

The 30-second answer

First I split the system: video segments are absorbed by the CDN and the origin is fixed-size, so what actually scales with viewers is heartbeats, session start, entitlement, DRM and personalised manifests. I size those from the forecast, roughly 830k heartbeat requests per second and 80k session starts per second at 50 million, and provision each region for 50 percent of peak so we survive losing one of three. Scaling runs in two layers: a predictive floor driven by the match schedule and forecast, and a reactive layer on concurrency and per-pod request rate through KEDA, with Karpenter nodes, overprovisioning pause pods and reserved capacity underneath. When the forecast is wrong, pre-agreed degradation tiers shed non-essential features and admission-control new sessions so existing viewers keep playing.

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 (5 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?
  • A new region must take live traffic mid-final with zero cold-start impact. How do you make it truly warm?
  • How do you spread streaming workloads across zones so a node or zone failure never breaches the regional SLO?
  • 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