Skip to content
tezvyn:

⚙️Backend Dev

Backend engineering, APIs, and databases

533 bites

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

Interview questions in Backend Dev, page 24

easy2 min read

Why use an ASGI server like Uvicorn instead of the dev server?

Tests: dev vs prod environment distinction. Answer: Uvicorn is a prod server program; contrast dev server's constant restart/break/fix cycle with prod needs for performance, stability, and uninterrupted access.

intermediate1 min read

What are key Dockerfile steps for Node.js Express apps?

Use lightweight base image, copy app, install deps, expose port, set NODE_ENV, run.

intermediate1 min read

Predicate pushdown and why it speeds queries

Apply WHERE conditions at the scan or remote source, prune partitions and rows early, shrink data movement.

intermediate1 min read

Criterion: the standard Rust benchmarking library

Criterion runs on stable Rust, collects many samples, applies statistical analysis with confidence intervals, and compares against saved baselines to detect regressions.

What are the key responsibilities for Nginx versus Uvicorn?
intermediate2 min read

What are the key responsibilities for Nginx versus Uvicorn?

This tests the reverse-proxy versus ASGI-server boundary. A strong answer gives Nginx TLS termination, static files, buffering, and load balancing, while Uvicorn runs the Python app and async workers.

intermediate1 min read

dependencies vs devDependencies in production?

Dependencies are needed at runtime, devDependencies only for development. npm install includes both, npm ci --only=production excludes dev.

intermediate2 min read

The buffer pool's role in database IO

Caches pages, serves reads from RAM, buffers dirty writes flushed later, uses eviction like LRU.

intermediate1 min read

Structural Go interfaces versus nominal Rust traits

Go interfaces are satisfied implicitly by method shape (structural); Rust traits must be explicitly implemented (nominal).

intermediate2 min read

How do you manage configuration and secrets for a containerized FastAPI app?

Tests 12-factor config separation and Docker secret hygiene. A strong answer uses pydantic-settings with runtime env vars, lru_cache, and keeps .env out of the image. Red flag: baking credentials into Dockerfile layers or committing .env files.

intermediate2 min read

PM2 cluster mode and multi-core utilization?

Cluster mode forks multiple worker processes using Node.js cluster module, distributes load, uses all CPU cores.

intermediate1 min read

Vectorized query execution and its speedups

Process column batches per operator call, amortize per-tuple overhead, use cache locality and SIMD.

intermediate1 min read

Goroutines and channels versus ownership-based concurrency

Go uses cheap goroutines and CSP-style channels to coordinate by communication; Rust uses ownership plus Send/Sync to make data races a compile error.

intermediate2 min read

Explain multi-stage Docker builds for Python and builder vs runtime

Tests separation of build-time and runtime concerns. A strong answer contrasts the builder stage (gcc, headers, wheels) with the runtime stage (slim base, copied artifacts, no compiler). Red flag: citing size alone while ignoring security and caching.

advanced1 min read

Graceful shutdown implementation and zero-downtime deployments?

Listen for SIGTERM, stop accepting new connections, drain in-flight requests, close resources, exit.

advanced2 min read

Diagnosing a slow FastAPI endpoint under load

Add timing and tracing to isolate the slow span, watch CPU vs wait time and event-loop lag, then use profilers like py-spy or cProfile and DB EXPLAIN.

intermediate1 min read

Sessionizing clickstream events into sessions

Order events per user, split on inactivity gap, assign session ids, pick event or session grain.

intermediate2 min read

Go (T, error) versus Rust Result for error handling

Go returns a separate error value you may ignore; Rust wraps success or error in one Result enum the compiler forces you to handle. Go favors simplicity, Rust favors compile-enforced safety.

advanced1 min read

Multi-stage Docker builds for lean production images?

Build stage compiles/installs, runtime stage copies artifacts only, discards build tools.

advanced1 min read

Limits of BackgroundTasks vs Celery or ARQ

BackgroundTasks run in the same worker with no persistence, retries, or visibility, and die with the process; Celery or ARQ add durability, retries, scheduling, and separate workers.

intermediate1 min read

Diagnosing database latency layer by layer

Split total time into pool-wait, query execution, and ORM-generated query patterns; use metrics at each layer.

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