Java Reliability and operations

What a senior candidate is really being assessed on: what happens when part of this is broken at 2am.

3 concepts · 9 interview questions

What this topic covers

Every concept in reliability and operations, and the questions each one gets asked as. Where a question links, it has a full write-up.

Designing for failure

Every component fails; the design decides whether that is contained or total. Single points of failure are usually discovered during the incident.

  • What happens to this design when the database is unavailable?
  • Where are the single points of failure in what you just drew?
  • What is graceful degradation here, concretely?

SLOs and error budgets

A target for reliability, and an explicit allowance for failing to meet it. The budget is what makes the trade-off against shipping speed discussable.

  • What is the difference between an SLA, an SLO and an SLI?
  • What availability target would you set, and what does it cost?
  • What is an error budget for?

Deploying without an outage

Releasing to a running system needs a way to change one instance at a time, and a way back when it goes wrong.

  • How do you deploy a change with no downtime?
  • How do you make a database migration reversible?
  • Blue-green or canary?

More in System design

See the whole reference map →