Backend Engineer track
Backend interview questions and answers
Backend interviews test APIs, databases, caching, queues and what happens when things fail. Then you write code. Practice the concepts and the coding with follow-ups.
Questions
Interview questions and answers.
Real questions from this track, from easier to harder, with what a good answer covers. In the mock interview, each one comes with follow-ups based on what you say.
What are the main HTTP methods, and when do you use each?
A good answer covers that GET reads, POST creates, PUT replaces, PATCH changes part of a resource and DELETE removes it.
What is the difference between a SQL and a NoSQL database?
A good answer covers that SQL databases store rows in tables with a fixed schema and support joins.
What is the difference between an inner join and a left join?
A good answer covers that an inner join keeps only rows that match in both tables.
What is the difference between authentication and authorization?
A good answer covers that authentication checks who the user is.
What does it mean for a web service to be stateless?
A good answer covers that the server keeps nothing about a user between requests in its own memory.
How do you pick the HTTP status code for a response?
A good answer covers that 2xx means it worked, 4xx means the client sent something wrong and 5xx means the server failed.
What makes an API RESTful?
A good answer covers that resources are named by URLs and acted on with HTTP methods.
What are primary keys and foreign keys?
A good answer covers that a primary key uniquely identifies each row in a table.
What is a database index?
A good answer covers that an index is a sorted structure that lets the database find rows without reading the whole table.
How should a backend store user passwords?
A good answer covers that passwords are never stored as plain text or with reversible encryption.
What is a database transaction, and what does ACID mean?
A good answer covers that a transaction groups several changes so they all happen or none do.
When would you add a cache in front of a database, and how does it work?
A good answer covers that a cache keeps copies of frequent reads in fast memory, like Redis.
When would you move work into a background job or queue?
A good answer covers that slow or unreliable work, like emails or reports, leaves the request so the user does not wait.
Why and how would you rate limit an API?
A good answer covers that rate limits protect the service and other users from one heavy or abusive client.
What is the difference between logs, metrics and traces?
A good answer covers that logs record individual events with details.
What is the N+1 query problem?
A good answer covers that it is one query for a list followed by one more query for each item in it.
How do you paginate a large list in an API?
A good answer covers that offset pagination skips a number of rows and gets slower deep into the list.
What is SQL injection, and how do you prevent it?
A good answer covers that SQL injection is user input that ends up changing the query itself.
Compare session cookies with JWT tokens for keeping users logged in.
A good answer covers that a session cookie holds an id the server looks up in its store.
How do you change an API without breaking the clients that use it?
A good answer covers that adding fields is safe while removing or renaming them breaks clients.
How do you find and prevent race conditions in a web backend?
A good answer covers that two requests can read the same value and both write, so one update is lost.
How do you split tests for a backend service?
A good answer covers that unit tests cover business logic quickly without a database.
What are transaction isolation levels, and what can go wrong at each?
A good answer covers that isolation decides what one transaction sees of others running at the same time.
How does the column order in a composite index matter?
A good answer covers that a composite index is sorted by its first column, then the next.
How do you make a payment endpoint safe when clients retry?
A good answer covers that a retry after a timeout can repeat a request the server already handled.
How do you keep a cache from serving wrong data?
A good answer covers that the cache entry is deleted or replaced when the data changes.
How should one service call another so failures do not spread?
A good answer covers that every call needs a timeout so a slow service does not hold up the caller.
How do you change a database schema without taking the service down?
A good answer covers that old and new code run at the same time during a deploy, so both must work with the schema.
What do at-most-once, at-least-once and exactly-once delivery mean?
A good answer covers that at-most-once can lose messages and at-least-once can deliver them twice.
How do you save to the database and publish an event without losing either?
A good answer covers that writing to the database and then publishing can fail between the two steps.
Your main database is near its limit. How do you scale it?
A good answer covers that you first find the cause, like slow queries, missing indexes or connection limits.
An order touches payments, stock and shipping in three services. How do you keep them consistent?
A good answer covers that one database transaction cannot span services, and two-phase commit is rarely worth it.
Users say the API is slow sometimes, but averages look fine. How do you find out why?
A good answer covers that averages hide the slow tail, so you look at p95 and p99 latency.
How would you keep each customer's data separate in a multi-tenant service?
A good answer covers that tenants can share tables with a tenant id, have their own schema or their own database.
When would you split a monolith into services, and how?
A good answer covers that services pay off when teams need to release on their own or parts must scale differently.
Traffic will grow ten times in six months. How do you get the backend ready?
A good answer covers that you measure current limits with load tests to find what breaks first.
How do you decide where a system needs strong consistency and where eventual is fine?
A good answer covers that strong consistency means every read sees the latest write, at a cost in speed and availability.
How would you set and run reliability targets for a set of backend services?
A good answer covers that service level objectives are set on what users feel, like success rate and latency.
How would you move a live service to a new database without downtime or data loss?
A good answer covers that you copy the existing data and keep it in sync, by writing to both or streaming changes.
How would you design a public API that many outside developers build on?
A good answer covers that the API is a long-term contract, so naming, errors and pagination are consistent from day one.
What it covers
Topics.
How it works
How the mock interview runs.
Concept questions that start simple and get harder.
Follow-ups on every answer, so you explain the why.
One coding challenge in a live editor.
Your report scores technical correctness, problem-solving & tradeoffs, communication clarity, with quotes from your answers as proof.
Questions.
What do backend interviews cover?
Expect API design, SQL and indexes. Transactions, caching and queues come up a lot. Senior roles add retries and keeping a service up when traffic jumps.
How does an Orin mock interview work?
You talk with Orin by voice, like a video call. It asks questions, listens and asks follow-ups based on what you said. Coding happens in a live editor and design on a live whiteboard. After the interview you get a report with quotes from your answers, what cost you points and what to practice next.
Is it free?
Your first interview is free: a 15-minute round with a short coding exercise. No card needed.
Practice the real thing.
A backend engineer mock interview by voice, with follow-ups and feedback you can use. First interview free.
Start free interview