Skip to content
tezvyn:
Menu

⚙️Backend Dev

Backend engineering, APIs, and databases

534 bites

Test yourself: Top 30 intermediate Backend Dev interview questions →Multiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Intermediate everything in Backend Dev, page 5

intermediate1 min read

Handling async errors in Express middleware

Await inside try/catch and call next(err) on failure, or wrap the handler in an async error adapter; never let a rejected Promise go uncaught.

intermediate1 min read

Running independent requests with Promise.all and race

Start all requests then await Promise.all to get all results or fail fast on first rejection; use Promise.race when only the fastest settled result matters.

intermediate1 min read

Output order of sync, microtask, and macrotask

C runs first synchronously, then B drains from the microtask queue, then A from the macrotask queue.

intermediate1 min read

SemVer and the caret vs tilde range operators

MAJOR.MINOR.PATCH signals breaking/feature/fix; caret allows minor and patch updates, tilde allows only patch; use tilde for tighter control.

intermediate1 min read

Layered structure for a scalable Express API

Routes map URLs, controllers handle HTTP, services hold business logic, data layer talks to the DB; keep each layer ignorant of HTTP except controllers.

intermediate1 min read

Choosing between CommonJS and ES Modules

ESM is the standard with static import/export and top-level await; set type to module; CJS uses require and module.exports and is synchronous.

intermediate1 min read

Why package-lock.json must be committed

Lockfile pins exact versions of the whole dependency tree including transitive deps; guarantees identical installs across machines and CI.

intermediate1 min read

Offloading CPU-bound work with Worker Threads

Synchronous CPU work freezes the loop and all requests; offload to a Worker, communicate via messages or SharedArrayBuffer, use a pool.

intermediate1 min read

nextTick vs setImmediate vs setTimeout(fn, 0)

NextTick is a microtask that drains before the loop continues; setImmediate runs in check; setTimeout(0) in timers.

intermediate1 min read

Order of the Node.js event loop phases

Timers, pending callbacks, poll, check, close phases in order; I/O completion runs in poll.

intermediate1 min read

Diagnosing high Redis eviction and cache misses

Use INFO memory and stats to confirm pressure, check fragmentation ratio, pick LFU over LRU for skewed access, set sane TTLs.

intermediate1 min read

Modeling IoT data with tags and fields

Tags are indexed identifying metadata, fields are unindexed measured values, and tag cardinality drives memory.

intermediate1 min read

Problems the Lakehouse architecture solves

Lakehouse adds ACID transactions, schema enforcement, and time travel on cheap object storage.

intermediate1 min read

Why choose Kafka over a REST endpoint for ingestion

Kafka buffers spikes, decouples producers from consumers, replays and fans out durably.

intermediate1 min read

Cutting managed database costs without breaking SLOs

Pool connections, prune and tune indexes, offload reads, tier or partition cold data, right-size storage IOPS.

intermediate1 min read

Designing an HA/DR strategy for an OLTP database

Sync standby in-region for zero data loss, async cross-region for DR, automated failover with a quorum.

intermediate1 min read

Diagnosing and optimizing a slow production query

Read the EXPLAIN ANALYZE plan, find the costly node, then fix via indexing, rewrite, or stats.

intermediate1 min read

Optimizing queries on a billion-row fact table

Partition to prune scans, index for selective lookups, materialize views to precompute aggregates; each adds write or maintenance cost.

intermediate1 min read

Logical vs physical query plans and the optimizer

Logical plan says what (relational algebra, no algorithms); physical plan says how (specific operators); cost-based optimizer enumerates physical options and picks the cheapest using statistics.

intermediate2 min read

How databases implement GROUP BY aggregation

Hash aggregation builds a hash table keyed by group holding running aggregates; sort aggregation orders rows then aggregates adjacent groups; optimizer picks based on data and memory.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles