Interview › Kubernetes, Docker, Helm & Podman
What is the difference between a request and a limit for CPU versus memory?
Kubernetes, Docker, Helm & Podman · Basic level
Answer
CPU requests influence scheduling and CPU shares, while CPU limits cause throttling. Memory requests influence scheduling, and memory limits are fatal when exceeded because memory is not compressible the way CPU time is.
Technical explanation
CPU is compressible: the workload can be throttled and continue slowly. Memory is non-compressible: exceeding a limit can terminate the process.
A common production pattern is memory limit with careful headroom, and CPU requests without strict CPU limits for latency-sensitive services.
Health and resources are production controls, not just YAML fields; wrong settings cause outages, noisy restarts, bad rollouts, or wasted capacity.
Requests affect scheduling and node capacity planning; readiness affects traffic; liveness affects restart behavior.
Validate settings with real load, startup timing, memory profiles, and deployment rollout behavior.
Hands-on example
1. Create a namespace and deploy a small HTTP app specifically to test: compare CPU limit throttling with memory limit OOM behavior.
2. Add probes and resources in YAML, then run kubectl describe pod, kubectl top pod, and kubectl rollout status to observe behavior.
3. Introduce a controlled failure such as slow startup, bad health endpoint, CPU load, or memory spike.
4. Tune thresholds, requests, and limits until rollout and runtime behavior are stable, then document the production values and why.
Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.
More Kubernetes, Docker, Helm & Podman interview questions
- What is Kubernetes, and what problem does it solve over running containers manually?
- Explain the Kubernetes control plane components (API server, etcd, scheduler, controller manager).
- What runs on a worker node (kubelet, kube-proxy, container runtime)?
- What is a Pod, and why does Kubernetes schedule Pods rather than containers?
- What is the difference between a Pod, a ReplicaSet, and a Deployment?
- How does a Deployment perform a rolling update, and how do maxSurge and maxUnavailable work?
- How do you roll back a Deployment, and how does Kubernetes track revisions?
- What is a Service, and what are the types (ClusterIP, NodePort, LoadBalancer, ExternalName)?