Explain How Microservices Run and Fail on Kubernetes
Company: Netapp
Role: Software Engineer
Category: Software Engineering Fundamentals
Difficulty: medium
Interview Round: Onsite
## Prompt
Explain how a set of microservices can be deployed and operated on Kubernetes. Use one request that crosses two services to connect application boundaries with scheduling, service discovery, configuration, scaling, health checks, failure handling, and observability.
### Constraints & Assumptions
- Services communicate over the network and can fail independently.
- At least one service owns persistent data; Kubernetes itself is not the database consistency mechanism.
- Deployments must support controlled rollout and rollback.
- The answer should distinguish platform primitives from application-level reliability responsibilities.
### Clarifying Questions to Ask
- Are services synchronous, event-driven, or mixed?
- What availability and latency targets apply to the request path?
- Is the cluster single-region or multi-region?
- Which team owns ingress, secrets, policy, and cluster upgrades?
```hint Follow one request end to end
Trace DNS and load balancing into a pod, then explain what happens when that pod is unready, slow, restarted, or rescheduled.
```
### What a Strong Answer Covers
- Clear service boundaries and data ownership rather than arbitrary process splitting.
- Pods, deployments, services, ingress or gateways, DNS, configuration, and secret delivery.
- Readiness versus liveness probes and the consequences of configuring either incorrectly.
- Resource requests and limits, horizontal scaling signals, disruption budgets, and rollout strategy.
- Timeouts, bounded retries, idempotency, circuit breaking, and asynchronous recovery at the application layer.
- Persistent-state placement, schema changes, and why pod rescheduling does not solve distributed transactions.
- Logs, metrics, traces, correlation IDs, security policy, and operational ownership.
### Follow-up Questions
1. Why can a liveness probe create a restart loop during dependency failure?
2. What happens to in-flight requests during a rolling deployment?
3. Which metric should drive autoscaling for a queue consumer?
4. How do network policies and workload identity limit lateral movement?
5. When is a modular monolith preferable to another microservice?
Overview: Explain how microservices run and fail on Kubernetes by tracing one cross-service request through scheduling, discovery, configuration, health, scaling, recovery, and observability.