Software Engineer Interview Question

Explain what ACID means and what each property actually guarantees.

What the interviewer is probing, how to structure your answer, and a spoken example you can adapt.

Quick answer

ACID describes the guarantees a transaction gives you. Atomicity means all of the writes land or none do. Consistency means the transaction moves the database from one valid state to another, respecting its constraints. Isolation means concurrent transactions do not see each other's partial work, to the degree the isolation level promises. Durability means that once a commit returns, the data survives a crash.

Why interviewers ask this

Almost every production bug involving money, inventory or double writes traces back to a misunderstanding here. The interviewer wants to check that you treat these as guarantees the database gives you rather than magic, and specifically that you know isolation is tunable and the default in most systems is not full serializability. Precise definitions signal you can reason about correctness under concurrency.

How to structure your answer

  • Define each of the four letters in one sentence.
  • Emphasize that isolation is a dial, not a single setting.
  • Connect one property to a real bug you have seen.
  • Mention what changes once you are distributed.

Example answer

Spoken example, first person

Atomicity is all or nothing: if I debit one account and credit another, either both writes commit or neither does. Consistency means the transaction leaves the database satisfying its constraints, so foreign keys and check constraints hold on either side of it. Isolation is the interesting one, because it is a dial rather than a promise. Most databases default to read committed, which still allows non repeatable reads and phantom rows, so if you assume serializable behavior you will eventually ship a race. Durability means that once the commit returns, the write survives a power cut, usually because it hit the write ahead log and was flushed. The place this bit me was a coupon redemption endpoint. We checked the remaining uses and then decremented in two separate statements under read committed, and two concurrent requests both saw one use left. The fix was a single conditional update with a where clause on the remaining count, which made the check and the write atomic.

Walking into this interview soon? GhostPilot listens to your live call, spots the question the moment it is asked, and puts a structured answer on your screen in real time. Try it on your next mock, or grab a $29 Session Pass, no subscription, for the real thing.

See how it works

Follow-up questions to expect

  • Which isolation level is your database running by default?
  • What is a phantom read and which level prevents it?
  • How do these guarantees change once you shard across nodes?

Related software engineer questions

Your interviewer will ask their own version of this. Paste your actual job description into the free Question Predictor and get the 20 questions that role is most likely to ask, with what each one is really probing.

Predict my questions

Rehearse the hard questions before they are asked

Practise with a live copilot, then walk in ready. A $29 Session Pass gets you through the interview with no subscription and no lock-in.

Get GhostPilot