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?