SRE Interview Questions, and What a Strong Answer Shows

SRE interviews test five things: reliability targets such as SLOs and error budgets, systematic debugging of Linux and network problems, distributed systems failure modes, incident handling and postmortems, and automation through code. Strong answers state assumptions, narrow the problem methodically, name trade-offs, and connect technical choices to user impact rather than reciting definitions.

Reliability targets

What is the difference between an SLI, an SLO, and an SLA? The indicator is a measurement, such as the proportion of requests served successfully under 300 milliseconds. The objective is the target for that measurement over a window. The agreement is a contract with consequences, usually looser than the internal objective.

How would you choose an SLO for a service? A strong answer starts from users: which journeys matter, what latency or failure they notice, and what the service has actually delivered historically. It avoids picking nines for their own sake and explains that a target stricter than users need spends engineering effort for nothing.

What do you do when the error budget is exhausted? Show that the budget drives decisions: slowing risky releases, prioritising reliability work, and agreeing that policy in advance with product owners so it is not negotiated during an outage.

Debugging a live system

Expect open scenarios: a host is slow, a service returns intermittent errors, a disk is full, DNS resolution fails for some clients.

The interviewer is watching your method. Start with scope: one host or many, one endpoint or all, since when, what changed. Check the obvious resources, CPU, memory, disk, file descriptors, network, before exotic causes. Use the tools you would really reach for and say why: load averages versus CPU usage, memory pressure and the OOM killer, disk space versus inode exhaustion, connection states, packet loss, resolver configuration.

A classic: a disk is full, but deleting files does not free space. The answer is that a process still holds the deleted file open. Finding it and restarting or signalling the process releases the space. Knowing why matters more than the command.

Another: what happens when you request a URL? Use it to show depth where you have it, such as DNS resolution and caching, TCP and TLS handshakes, load balancers, and where each step can fail.

Distributed systems failure

  • Retries. When do retries help, and when do they make an outage worse? Strong answers mention exponential backoff with jitter, retry budgets, and idempotency.
  • Timeouts. How do you set them across a chain of services? The caller's timeout must exceed the callee's, and every hop needs one.
  • Cascading failure. How does one slow dependency take down a fleet? Thread and connection pool exhaustion, queue growth, and retries amplifying load. Mitigations include load shedding, circuit breakers, and bulkheads.
  • Consistency. What happens during a network partition, and what does your system choose to give up?

Design questions, such as building a rate limiter or a job scheduler, test the same instincts at larger scale. State requirements, sketch the simplest design, then find where it fails.

Incidents and postmortems

Describe an incident you handled, start to finish. Structure matters: detection, impact, your role, mitigation, diagnosis, communication, and what changed afterwards. Be honest about what went wrong, including your own mistakes. Interviewers distrust stories where the candidate was the hero and nothing was learned.

You are paged at 3am and the site is down. What do you do first? Acknowledge, assess impact, and mitigate before you diagnose: roll back a recent change, fail over, or shed load. Declare an incident and pull in help early. Root cause can wait until users are served.

What makes a good postmortem? Blameless framing, an evidence-based timeline, contributing causes rather than a single culprit, and actions with owners that actually get done.

Automation and coding

SRE coding rounds usually involve practical tasks: parse logs and summarise errors, write a script that safely rotates or cleans files, implement a small rate limiter, or poll a health endpoint with backoff. Write readable code, handle errors, and think about what happens when the script runs twice or fails halfway. Idempotency and safety are the SRE-specific signals.

Frequently asked questions

What are the most common SRE interview questions?
Expect questions on SLIs, SLOs, and error budgets; debugging scenarios such as a slow host or a full disk; what happens when a URL is requested; retries, timeouts, and cascading failure; walking through a past incident; handling a page at 3am; postmortem practice; and a practical coding or scripting task. Kubernetes and cloud questions depend on the team's stack.
How should I answer an SRE troubleshooting question?
Narrate a method. Clarify scope and recent changes, check basic resources before exotic causes, form a hypothesis, name the tool you would use to test it and why, and adjust based on what you would expect to see. Interviewers value a methodical approach that converges over a lucky guess at the right answer.
Do SRE interviews include coding?
Usually, yes. Most include a practical coding or scripting round, often log parsing, automation of an operational task, or a small component such as a rate limiter. Readability, error handling, and safety when a script is rerun or interrupted matter more than algorithmic cleverness. Some roles add a systems design round.
How is an SRE interview different from a software engineering interview?
SRE interviews weight debugging, operations, and failure far more heavily. Design questions focus on how systems degrade and recover, not just how they work. Expect scenario questions about outages and incidents, questions on reliability targets, and coding tasks shaped like operational automation rather than pure algorithm puzzles.