Back to Backend Engineer Job Simulation

Prerequisites & resources - Backend Engineer simulation

Nothing to install, nothing to upload. Both tickets are answered in the browser: five questions and a written note each. No repository is submitted and no code of yours is executed.

Everything needed is printed in the tickets - an Express route handler, a Postgres schema, a query plan, and a partner webhook contract.


What you should already know

You do not need production backend experience. You need to read someone else's Node service and say what is wrong with it.

  • Node.js runtime model - one thread runs your JavaScript, and what that means for a *Sync call
  • Express handlers - async route handlers, and what happens to a promise nobody awaits
  • SQL basics - SELECT ... WHERE, joins, and what an index is for
  • Reading a query plan - enough to tell a sequential scan from an index scan
  • Connection pooling - why a server shares connections instead of opening one per request
  • Transactions - what commits together, and what does not belong inside one
  • HTTP semantics - status codes, retries, and what makes an endpoint safe to call twice

You do not need Kubernetes, message brokers, or any specific cloud.


Reference material

Looking things up is part of the job.

  • The event loop - Node.js docs → The Node.js Event Loop, and Don't Block the Event Loop
  • Floating promises - MDN → Promise rejection handling; Node's unhandledRejection
  • pg pooling - node-postgres docs → Pooling, and why Client per request is wrong
  • Indexes - PostgreSQL docs → Indexes, especially multicolumn indexes and ordering
  • Reading EXPLAIN - PostgreSQL docs → Using EXPLAIN (seq scan vs index scan)
  • The N+1 problem - any reputable write-up; the fix is a join or one WHERE id = ANY($1)
  • Idempotent receivers - Stripe's webhook best practices, and unique-constraint idempotency
  • Transactional outbox - the standard pattern for "commit a row, then call a third party"

Ground rules

  • Answer from the code and the plan given. Generic backend advice scores badly. Each question points at a specific line, a specific index, or a specific numbered requirement.
  • BE-101 has four separate failures, not one. A note that merges them loses marks even if every individual fix is right - Tom says so in the ticket.
  • Using AI assistance is allowed, as on the job. It will not carry you: the answers turn on this handler and this contract, and the notes are graded on reasoning you would defend in review.
  • Two free submissions per ticket. Read the feedback before resubmitting.