Top 100 Full Stack Developer Interview Questions & Answers for 2025

I’ve focused on advanced topics like backend frameworks (Node.js, Express, Spring Boot, Django), databases (MongoDB, SQL), architecture (MVC, event loop, promises), advanced frontend (React hooks, virtual DOM, animations), security (authentication, CORS), and tools (Git, Postman). Questions are drawn from the advanced section and more complex ones from earlier sections. Each includes the question and a concise answer.

      1. Explain the event loop in Node.js. The event loop allows asynchronous tasks to be handled efficiently without blocking execution. It processes synchronous JS first, then delegates I/O, timers, etc., to libuv. Phases include timers, pending callbacks, poll, check, etc., using FIFO queues.
      2. What is a Promise and explain its states? Promises handle asynchronous operations better than callbacks. States: Pending (initial), Fulfilled (successful), Rejected (failed). They improve error handling and readability for chained async tasks.
      3. Explain RESTful API and its usage. REST (Representational State Transfer) uses HTTP methods (GET, POST, PUT, DELETE) for CRUD operations. Requests/responses are in JSON. Used for client-server communication; server responds with resources like data or files.
      4. Difference between PUT and PATCH methods. PUT replaces the entire resource; requires full data. PATCH applies partial updates; sends only changes. PUT is idempotent; PATCH is efficient for small modifications.
      5. What is event bubbling and capturing in JavaScript? Bubbling: Event starts at innermost element and propagates outward. Capturing: Starts at outermost and propagates inward. Use event.stopPropagation() to control.
      6. Explain multithreading. Multithreading runs multiple threads in a process simultaneously for multitasking. Advantages: Efficient resource use, better response time, fault isolation, lower overhead than processes.
      7. Difference between Authentication and Authorization. Authentication verifies identity (e.g., login). Authorization checks permissions (e.g., access levels). Authentication precedes authorization; former uses ID tokens, latter access tokens.
      8. What is Temporal Dead Zone in ES6? TDZ is the period before let/const variables are initialized in their scope. Accessing them throws ReferenceError. Unlike var, which hoists to undefined.
      9. Explain version control system and Git workflow. VCS tracks code changes for collaboration. Git workflow: Clone repo, create branch, add/commit changes, push, create PR, merge after review.
      10. What are WebSockets, and how do they differ from HTTP? WebSockets enable full-duplex, persistent communication. HTTP is request-response, stateless; WebSockets support real-time (e.g., chat) without polling.
      11. Describe MVC architecture. Model: Data/logic. View: UI. Controller: Handles input, updates model/view. Flow: User → View → Controller → Model → View.
      12. How to debug frontend and backend issues? Reproduce issue. Frontend: DevTools for network/console. Backend: Logs, debugger. Check APIs/payloads. Use Postman for isolation.
      13. What is CORS? Browser mechanism for controlled cross-domain resource access, extending Same-Origin Policy. Enables APIs/scripts from other origins via headers.
      14. Difference between normalization and denormalization. Normalization removes redundancy for consistency. Denormalization adds redundancy for faster queries. Normalization optimizes space; denormalization performance.
      15. What is Callback Hell? Nested callbacks creating unreadable “pyramid” code in async JS. Solved by promises or async/await for better flow.
      16. How to handle user authentication? Use JWT: Collect credentials, verify, issue token. Send token in requests; validate on backend. Hash passwords (bcrypt), use HTTPS.
      17. Difference between Relational and Non-Relational Databases. Relational: Structured, ACID, vertical scale. Non-Relational: Flexible, scalable, horizontal, handles unstructured data.
      18. Purpose of package.json in Node.js. Defines metadata, dependencies, scripts. Ensures reproducible installs via npm install.
      19. How to use Postman for API testing? Create request with endpoint/method/headers/body. Send, check response. Use collections/tests for automation (e.g., status assertions).
      20. What is MathML in HTML5? Markup for mathematical expressions. Version 3 (2015) renders equations in browsers.
      21. Explain flow of HTTPS requests in Spring Boot. Client request → Controller (mapping) → Service (logic) → Repository (CRUD) → Response (JSP/JSON).
      22. Explain @RestController in Spring Boot. Combines @Controller and @ResponseBody for REST APIs. Handles HTTP methods, returns JSON/XML.
      23. Difference between @Controller and @RestController. @Controller for web apps (views). @RestController for APIs (data responses).
      24. Benefits of pull requests in projects. Enables collaboration on branches, code review, merging changes safely.
      25. What is a Git bundle? Single file packaging repo data (commits/branches) for offline transfer. Command: git bundle create <file> <refs>.
      26. What is Django ORM? Object-Relational Mapper for database interactions (add/delete/query). Access via python manage.py shell.
      27. What is a superuser in Django? Admin with full permissions. Create via python manage.py createsuperuser.
      28. How to create scrolling text/images? Use <marquee> tag: <marquee>content</marquee> for horizontal/vertical scroll.
      29. What is manifest file in HTML5? Text file for caching resources offline. Sections: CACHE, NETWORK, FALLBACK. Extension: .appcache.
      30. How to open hyperlink in new tab? Use target=”_blank” in tag.
      31. Explain Web Worker in HTML. Background JS execution without blocking UI. Types: Dedicated (single script), Shared (multiple).
      32. Define multipart form data. ENCTYPE for form data encoding, used for file uploads. Sends data in parts.
      33. How to add SVG to web page? Use <img>, <object>, <embed>, or <image> tags with src/data.
      34. Media element tags in HTML5? <audio>, <video>, <source>, <embed>, <track> for multimedia.
      35. How to handle JS events in HTML? Use attributes like onclick, onblur. Syntax: <element onclick=”script”>.
      36. Difference between Cellpadding and Cellspacing. Cellpadding: Space inside cell border/content. Cellspacing: Space between cells.
      37. What are pseudo-elements in CSS? Style parts of elements (e.g., ::before, ::after, ::first-letter).
      38. How to add gradients in CSS? Linear: background-image: linear-gradient(…). Radial: radial-gradient(…).
      39. Add 2D transformations in CSS? Yes, using translate(), rotate(), scale(), skewX/Y(), matrix().
      40. Add 3D transformations in CSS? Yes, using rotateX/Y/Z().
      41. What are CSS transitions? Animate property changes. Properties: transition-property, duration, timing-function, delay.
      42. How to animate using CSS? Use @keyframes and animation property for keyframe-based animations.
      43. What does box-sizing do in CSS? Defines how width/height includes padding/borders. Values: content-box (default), border-box.
      44. Make website responsive using CSS? Use media queries: @media (condition) { styles } for different screen sizes.
      45. What is ‘Strict’ mode in JS? Enables stricter parsing/execution. Use “use strict”; throws more errors for better code.
      46. How to get checkbox status? document.getElementById(“id”).checked; returns true if checked.
      47. Explain closures in JS and usage. Function remembering its lexical scope. Used for data privacy, module patterns.
      48. Difference between call() and apply()? call(): Calls function with ‘this’ value and arguments individually. apply(): With argument array.
      49. How to open hyperlink in new window? Use target=”_blank” or JS window.open().
      50. Errors in JS? Syntax (parsing), Runtime (execution), Logical (incorrect logic).
      51. Ways to access HTML element in JS? getElementById, getElementsByClassName, getElementsByTagName, querySelector.
      52. What is event bubbling? Event propagates from target to root. Use e.stopPropagation() to stop.
      53. Update state using callback in React? this.setState(st => ({ stateName: newValue })); ensures updates based on previous state.
      54. What is React Material UI? Open-source component library for React, based on Google’s Material Design.
      55. What is flux architecture in Redux? Unidirectional data flow: Actions → Dispatcher → Store → View.
      56. Role of journaling in MongoDB? Ensures durability by logging changes before applying. Impacts performance with extra I/O but aids recovery.
      57. Implement full-text search in MongoDB? Create text index: db.collection.createIndex({ field: “text” }); Query: $text { $search: “term” }.
      58. Serve static files in Express.js? Use express.static(‘directory’) middleware.
      59. Use of app.use() in Express.js? Adds middleware or routes. e.g., app.use(express.json()).
      60. Error handling in Express.js? Use next(err) to pass errors; add error middleware: app.use((err, req, res, next) => { … }).
      61. Difference between traditional server and Express.js server. Traditional: Basic HTTP handling. Express: Framework with routing, middleware for easier web apps.
      62. Purpose of next() in Express.js? Passes control to next middleware/route. Without it, request hangs.
      63. Explain util module in Node.js. Provides utilities like promisify, types checking. Not for core functions.
      64. Handle environment variables in Node.js? Use process.env.VAR; load from .env with dotenv package.
      65. Explain DNS module in Node.js. For name resolution/DNS lookups without memorizing IPs.
      66. What are child processes in Node.js? Spawn subprocesses for multi-threading; communicate via messaging.
      67. What is tracing in Node.js? Enables/disables tracing categories for debugging events.
      68. What is Thymeleaf? Java template engine for dynamic web pages in Spring.
      69. Explain Spring Data and Data JPA. Spring Data: Abstractions for data access. JPA: Relational DB support via entities/repositories.
      70. Explain Spring MVC. Web framework: Model (data), View (UI), Controller (logic/requests).
      71. What is a Spring Bean? Object managed by Spring IoC container.
      72. What are Inner Beans in Spring? Beans defined within another bean’s scope, without ID.
      73. Git object model? Blobs (files), trees (directories), commits (snapshots), tags (references).
      74. Explain git rebase? Moves commits to new base for linear history. Use for clean merges.
      75. What is a Git hook? Scripts run at workflow points (pre-commit). Use for tests, linting.
      76. Caching strategies in Django? Per-site, per-view, template fragment, low-level API for dynamic pages.
      77. What is NoSQL and does Django support it? Non-relational DB. Django doesn’t officially support (e.g., MongoDB), but extensions exist.
      78. What is ‘Strict’ mode in JS and how to enable? Stricter rules for errors. Enable with “use strict”;.
      79. How to get checkbox status? element.checked returns boolean.
      80. Explain closures and when to use? Function accessing outer scope variables. Use for privacy, factories.
      81. call() and apply() methods? call: Individual args. apply: Array args. Both set ‘this’.
      82. How to open hyperlink in new window? target=”_blank” or window.open(url, ‘_blank’).
      83. Errors shown in JS? Syntax, Runtime, Logical.
      84. HTML element access in JS code? By ID, class, tag, querySelector.
      85. Event bubbling in JS? Event propagates up DOM tree.
      86. Update state with callback? setState callback for previous state dependency.
      87. React-Material UI? Component library for Material Design in React.
      88. Flux architecture in Redux? Unidirectional: Action → Store → View.
      89. Journaling in MongoDB and performance impact? Logs changes for recovery. Adds I/O overhead, balances durability vs speed.
      90. Full-text search in MongoDB? Use text indexes and $text operator.
      91. Serve static files in Express? app.use(express.static(‘public’)).
      92. app.use() in Express? Mount middleware.
      93. Error handling in Express? Error middleware with 4 params.
      94. Traditional vs Express server? Express adds routing/middleware on Node.
      95. next() in Express? Calls next handler.
      96. Util module in Node? Helpers like promisify.
      97. Environment variables in Node? process.env; dotenv for .env files.
      98. DNS module in Node? For DNS lookups/resolution.
      99. Child processes in Node? Spawn for parallel execution.
      100. Tracing in Node? Enable/disable event tracing categories.

Blog