800+ fullstack developer interview questions with complete answers, code examples and diagrams.
JavaScript · TypeScript · React · Next.js · React Native · Node.js · NestJS · SQL & PostgreSQL · API Design · System Design · Microservices · AWS · DevOps · Web Security · Testing
A free, open-source collection of fullstack, frontend and backend interview questions and answers for software engineers preparing for technical interviews in 2026. Every question has a complete answer: a short answer you can say out loud first, then the deeper explanation, working code, comparison tables and diagrams.
Use it to prepare for a JavaScript, React, Node.js or system design interview, to brush up before a senior engineer interview loop, or as a question bank when you are the one running the interview.
Every question is tagged by level:
🟢 Junior: fundamentals you should know cold🟡 Middle: how things work under the hood, common trade-offs🔴 Senior: production experience, architecture, failure modes
⭐ If this helps you prepare, star the repo so you can find it again before your next interview, and so other developers can find it too.
| Topic | Covers | Questions | 🟢 / 🟡 / 🔴 | Diagrams |
|---|---|---|---|---|
| Frontend | HTML, CSS, browser internals, web performance, accessibility | 48 | 14 / 24 / 10 | 7 |
| JavaScript | Closures, event loop, prototypes, async, implement-it-yourself | 48 | 15 / 21 / 12 | 7 |
| TypeScript | Generics, narrowing, conditional & mapped types, tsconfig | 43 | 10 / 19 / 14 | 4 |
| React | Hooks, rendering, concurrent features, React 19, performance | 47 | 16 / 21 / 10 | 7 |
| Next.js | App Router, Server Components, caching, Server Actions | 42 | 10 / 18 / 14 | 8 |
| React Native | New Architecture, Hermes, navigation, performance, Expo & releases | 45 | 12 / 20 / 13 | 8 |
| Backend | Auth, caching, queues, concurrency, rate limiting, architecture | 46 | 13 / 20 / 13 | 9 |
| Node.js | Event loop, libuv, streams, workers, production Node | 46 | 12 / 21 / 13 | 7 |
| NestJS | Modules, DI & scopes, request lifecycle, guards, testing | 47 | 12 / 22 / 13 | 8 |
| Databases | SQL, transactions, isolation, indexes, replication, NoSQL | 49 | 13 / 23 / 13 | 11 |
| PostgreSQL | MVCC, vacuum, EXPLAIN, index types, locking, replication | 50 | 11 / 23 / 16 | 8 |
| API Design | REST, GraphQL, gRPC, pagination, idempotency, versioning | 47 | 12 / 22 / 13 | 9 |
| DevOps | Docker, Kubernetes, CI/CD, IaC, observability | 49 | 13 / 21 / 15 | 10 |
| AWS | IAM, VPC, Lambda, S3, DynamoDB, SQS/SNS, DR & cost | 48 | 13 / 21 / 14 | 9 |
| Microservices | DDD, sagas, outbox, Kafka, resilience patterns | 42 | 8 / 20 / 14 | 10 |
| System Design | Concepts + case studies with architecture diagrams | 32 | 1 / 16 / 15 | 18 |
| Web Security | OWASP, XSS, CSRF, SSRF, auth & session security | 47 | 13 / 20 / 14 | 9 |
| Testing | Unit/integration/e2e, RTL, Playwright, mocking, flaky tests | 41 | 11 / 19 / 11 | 6 |
| Total | 817 |
The questions that come up in almost every fullstack interview:
| Topic | Question |
|---|---|
| JavaScript | How does the event loop work (macrotasks vs microtasks)? |
| JavaScript | What is a closure? |
| JavaScript | Implement debounce and throttle |
| TypeScript | type vs interface: what is the difference? |
| React | What is the virtual DOM and why does React use it? |
| React | How does useEffect work? Dependencies and cleanup |
| Next.js | What are Server Components and Client Components? |
| Node.js | Explain the Node.js event loop and its phases |
| Backend | Sessions vs JWT: which should you choose? |
| Databases | Transaction isolation levels and their anomalies |
| Databases | How does a B-tree index work? |
| Databases | Explain the CAP theorem and PACELC |
| PostgreSQL | How does MVCC work in PostgreSQL? |
| API Design | REST vs GraphQL vs gRPC vs tRPC |
| API Design | What is CORS and why does the same-origin policy exist? |
| DevOps | Docker image vs container |
| Microservices | Implement a saga orchestrator with compensations |
| System Design | Design a URL shortener |
| Web Security | What is the OWASP Top 10 (2025 edition)? |
- Preparing for an interview: read the short answer first and try to say the rest out loud before you read it. The
> Follow-up:lines show where an interviewer usually goes next. - Running an interview: pick questions by level. The follow-ups are useful for probing depth.
- Learning: the diagrams and code samples are meant to stand on their own, so skim them first.
- Frontend developers preparing for JavaScript, TypeScript, React, Next.js and React Native interviews
- Backend developers preparing for Node.js, NestJS, SQL, PostgreSQL, API design and microservices interviews
- Fullstack engineers who need both, plus system design, AWS and DevOps
- Senior engineers preparing for system design and architecture rounds
- Hiring managers and interviewers who want a leveled question bank with reference answers
Diagrams are written in Mermaid (<topic>/diagrams/*.mmd) and rendered to PNG with mermaid-cli:
npm install
npm run diagrams # render new or changed diagrams
npm run readme # refresh the topics table aboveFound a mistake or have a better answer? PRs are welcome. See CONTRIBUTING.md for the question format.