Video summary
Full Stack Developer Interview Questions 2025 | Web Development Interview Questions | Intellipaat
Main summary
Key takeaways
Main Ideas & Lessons (High Level)
The video presents commonly asked Full-Stack / Web development interview questions (2025) with answers, grouped into five modules:
- JavaScript fundamentals (hoisting, storage, performance, APIs, DOM, etc.)
- ReactJS (virtual DOM, state management, hooks, lifecycle, SSR, Redux, etc.)
- NodeJS & ExpressJS (async/event loop, middleware, routing, auth, sessions, REST APIs, MongoDB connection)
- MongoDB basics (documents/collections, replica sets, consistency, indexes, aggregation, sharding, transactions, etc.)
- Emphasizes that mastering these topics is enough to start applying for entry-level full-stack roles or freelancing.
Detailed Methodology / Key Instructions
JavaScript: Hoisting (Conceptual Methodology)
-
What hoisting is
- Declared variables/functions are moved to the top of their scope during the compile phase.
-
Types of hoisting covered
- Variable hoisting
- Only the declaration is hoisted, not initialization.
- Accessing before initialization yields
undefined.
- Function hoisting
- Function declarations are fully hoisted.
- You can call the function before its code appears.
let/consthoisting- They are hoisted but not initialized.
- Accessing them before initialization throws:
- “Cannot access … before initialization”
- This behavior is due to the Temporal Dead Zone (TDZ).
- Variable hoisting
-
Analogy used
- Like a “scope” throwing a “ball” (variable/function) to the top upon compile.
- TDZ likened to delivery agents “staying in a room” until value/ordering happens.
JavaScript: Local Storage vs Session Storage (Rule of Thumb)
-
LocalStorage
- No expiration by default.
- Persists after closing/reopening browser tabs.
- Persists until explicitly cleared.
- Example analogy: Amazon cart persistence.
-
SessionStorage
- Limited to a specific tab/session.
- Cleared when the tab is closed.
- Example analogy: LinkedIn form progress cleared after reload (as described).
Web Performance: Reduce Page Loading Time (Action List)
- Optimize images
- Prefer smaller formats (e.g., WebP) instead of large JPG/PNG where suitable.
- Minimize HTTP requests
- Bundle CSS and JS into fewer files to reduce requests.
- Enable browser caching
- Reuse previously fetched assets from the local machine.
- Use a CDN
- Serve content from geographically closer servers.
- Lazy loading
- Load images/videos only when needed (e.g., scrolling).
API Design: SOAP vs REST (Decision Criteria)
-
SOAP
- Protocol with strict rules/standards.
- Uses XML.
- Often stateful; more complex.
- Harder to modify; suited for complex/secure enterprise needs.
-
REST
- Architectural style using standard web methods (GET/POST).
- Uses JSON.
- Typically simpler and more flexible.
- Focus on speed and scalability.
GraphQL vs REST (Data Fetching Rules)
-
GraphQL
- Client specifies exactly which fields it needs.
- Can avoid over-fetching (REST returning extra data).
- Single endpoint; multiple query shapes.
-
REST
- Often returns full resource representations.
- Client filters afterward → can lead to over-fetching (and sometimes under-fetching).
CSS Box Model (How to Interpret/Structure)
A rendered element includes:
- Content (text/images; controlled by width/height)
- Padding (space inside border; increases inner spacing)
- Border (wraps padding/content)
- Margin (space outside border; separates elements; doesn’t change element size)
CSS Selectors: Class vs ID (Usage Constraints)
-
ID selector
- Should be used once per page element context (treated as unique).
- Higher specificity.
-
Class selector
- Can be reused across multiple elements.
- Lower specificity than ID.
JavaScript Data Types (Classification)
- Primitive (immutable)
- Number, BigInt, String, Boolean, Undefined, Null, Symbol
- Non-primitive (mutable)
- Object (key-value structures similar to JSON)
DOM (Core Model)
- DOM is a tree representation of HTML/XML.
documentis the root.- Elements (tags) become nodes; JavaScript can modify nodes.
JavaScript this (Context Rule)
thisrefers to the current execution context / calling object.- The value depends on how a function is called (e.g., event handlers, constructors, global context).
CDN Advantages (Why/When Used)
- Improved load times (geo proximity)
- Increased reliability (redundant servers)
- Reduced bandwidth cost
- Scalability / load distribution
- Enhanced security (DDOS protection/web firewalls described)
- SEO benefits (faster load → better engagement/ranking)
- Content caching
- Geographic distribution (example: Netflix)
Event Handling: Capturing vs Bubbling (Mechanism)
- Capturing
- Event travels top → bottom through DOM ancestors to the target.
- Bubbling
- Event travels bottom → top from the target to ancestors.
- Example described with toggling capture flag:
addEventListener(..., true)enables capturing.
JavaScript Strict Mode ("use strict")
- Enforces stricter parsing/error handling.
- Prevents accidental bugs like implicit globals from undeclared variables.
- Example described:
- Without strict mode, assignment might create a global variable.
- With strict mode, it throws ReferenceError (e.g.,
X is not defined).
Cookies vs Local Storage (Purpose-Driven)
- Cookies
- Commonly used for session management, personalization, tracking/analytics.
- Local Storage
- Client-side persistent storage for larger/local “state” (e.g., game progress).
Preventing Bots From Scraping APIs (Security Checklist)
- API rate limiting
- Limit number of requests per time window.
- CAPTCHA integration
- Distinguish human vs bot (example: mouse movement described).
- Honey pots
- Invisible/hidden traps that bots interact with.
- Obfuscate API endpoints
- Make endpoints less obvious to find.
- Anomaly detection
- Detect suspicious patterns (e.g., request spikes).
ReactJS Module: Core Interview Answers
Virtual DOM (Purpose)
- Virtual DOM is a lightweight copy of the real DOM.
- React compares virtual and real trees and updates only changed parts.
- Reduces unnecessary re-renders → performance improvement.
State Management in React (Concepts)
Mentions types:
- Component state
- Props
- Props drilling
- Context API
- State management libraries (e.g., Redux)
Common Hooks Described
useState(state variables)useEffect(side effects; interval/timer pattern described)useContext(read from context)
Component Lifecycle (Phases)
- Mounting: creation/insertion into DOM
- Updating: props/state changes trigger re-render
- Unmounting: component removed from DOM
- Analogy used: waking up → dressing/rendering → work/update → unmount/shutdown.
Context API vs Props (Difference)
- Props
- Passed explicitly parent → child; can cause prop drilling.
- Context API
- Share global state/data without passing through every layer.
- Avoids prop drilling; cleaner for large apps.
Performance Optimization (React)
- Use built-in optimizations like rendering only changed components.
- Lazy loading / code splitting (“load paths”).
- Optimize context usage (share only needed data).
- Memoization/caching-like strategies (conceptually linked to reducing repeated work).
- Reduce unnecessary component re-renders.
Higher-Order Component (HOC)
- Pattern: function that takes a component and returns a new component.
- Example described: show a loading UI while
isLoadingis true, otherwise show the wrapped component.
Handling Forms in React
- For a form:
- Manage input state (
useState) - Handle input changes (
handleChange) - Handle submit (
handleSubmit,preventDefault)
- Manage input state (
- For multiple fields:
- Use an object like
formData - Update the relevant property by input
name.
- Use an object like
Server-Side Rendering (SSR) vs Client-Side Rendering (CSR)
-
SSR
- Server pre-renders HTML before sending to the browser.
- Benefits:
- Faster initial load (perceived performance)
- Better SEO (content already in HTML for crawlers)
- Improved performance on slower devices
-
CSR
- Rendering occurs in the browser after JS runs.
- Example described: “initial view” may be SSR, later content becomes CSR.
Redux in React (Goal + Workflow)
Redux manages shared global state via:
- Store (central state container)
- Reducer (state changes based on actions)
- Actions (what change is requested)
- Dispatch (send actions)
- Selector (read state)
Steps described:
- Install Redux
- Create reducer (e.g., counter reducer with initial state and actions)
- Configure store
- Create action creators (
increment,decrement) - Use
useSelector/useDispatchin components - Wrap app with Redux
Providerin entry file
NodeJS & ExpressJS Module: Core Interview Answers
Asynchronous and Non-Blocking (Definitions)
- Asynchronous
- Start tasks and move on without waiting (background task completion).
- Non-blocking
- NodeJS continues executing other code while tasks run in background.
Event Loop (NodeJS)
- Mechanism enabling asynchronous operations even though JavaScript is single-threaded.
- Continuously checks completion of tasks and processes callbacks when ready.
Middleware in Express (Role)
- Middleware is a function with access to
req,res, andnext. - Sits between request and response.
- Used for:
- Logging
- Format conversion (e.g., JSON)
- Authentication
- Validation
- Error handling
- Middleware can be:
- Application-level
- Router-level
- Error-handling middleware
Handling Child “Threads/Processes” in Node (Concept)
Described via:
- Event loop + non-blocking IO (main async mechanism)
- Worker threads
- Child processes
Includes worker/child separation and notes IPC for inter-process communication.
Streams in NodeJS (What/Why)
- Streams process data piece-by-piece instead of all at once.
- Useful for large files/network data.
- Types mentioned:
- Readable, Writable, Duplex, Transform
- Example described:
- Read
example.txt→ transform to uppercase → write toresult.txt(via transform stream + piping).
- Read
Callback Hell and Fixes
- Callback hell
- Nested callbacks create unreadable “pyramid” code.
- Fixes mentioned
- Promises (
then/catch) to flatten and centralize error handling async/awaitfor more linear structure- Modularize code into smaller functions
- Promises (
Promises Improve Callback Handling (Benefits)
- Chaining with
.then - Cleaner linear code
- Centralized error handling with
.catch - More modular/flexible
package.json Purpose
- Central project configuration:
- dependencies, scripts, metadata, versions, etc.
process.nextTick vs setImmediate
process.nextTick- Runs after current operation, before next event loop cycle.
- Higher priority.
setImmediate- Runs in the next event loop cycle after IO completes.
- Lower priority.
Express Routing Using a Router Class
- Instead of many
app.get(...)routes in one file:- Create a separate router module (e.g.,
aboutRouter) - Mount it in the main app for modular structure
- Create a separate router module (e.g.,
Express Request Parts: params, query, body
req.params: route path parameters (e.g.,/users/:id)req.query: query string filters (sorting/filtering)req.body: data sent in request payload (often POST JSON/forms)
Express Error Handling + 404/Custom Errors
- 404 handling
- Return status 404 with a message.
- Custom errors
- Create an error class extending a base error
- Provide message/status and call
next(...)
Body-Parser
- Converts client payload (e.g., JSON string) into usable JS objects.
- Example described:
- Parse POST JSON/form data.
Authentication vs Authorization (JWT-Based Flow)
- Authentication
- Verify who the user is (username/password).
- Authorization
- Determine what authenticated users can do.
Implementation described:
- Use dummy user credentials
- Create JWT token with secret key + expiry
- Protect routes with middleware that:
- reads token from request header (
Authorization) - verifies token via JWT
- on success attaches decoded user info and allows access
- on failure returns 403 (forbidden) with error text
- reads token from request header (
CORS (Cross-Origin Resource Sharing)
- Security mechanism controlling which origins can access server resources.
- Controlled via HTTP headers.
Session Management (Express-Session)
- Use session middleware:
- store session data on server
- session ID identifies user
- Configuration described:
secretresavesaveUninitialized- cookie
maxAge
- Session usage:
- increment/read something like
req.session.views
- increment/read something like
Creating a RESTful API Using Express
Example: a simple to-do API:
- POST
/todos: add todo; respond with 201 - GET
/todos: list todos - GET
/todos/:id: fetch a single todo or 404 if not found - Update/delete patterns implied
Connect Express to MongoDB (MongoDB Atlas)
- Use
mongoose:- install mongoose
- connect with Atlas connection string via
mongoose.connect(...) - handle success/error with
.then/.catch(promise approach described)
MongoDB Module: Core Interview Answers
MongoDB vs Relational Databases (Key Differences)
-
Relational
- Data split into tables with strict relationships and foreign keys
- Schema changes can require updates
- Stronger transaction guarantees (as described)
-
MongoDB
- Stores related data in a single document (flexible schema)
- Fields can vary per document
- Adding fields doesn’t require restructuring the entire database
- Better fit for varying data, real-time analytics, big data (as described)
Document vs Collection
- Document: a single record (key-value structure)
- Collection: group of documents (similar to a table in relational DB)
Replica Set & How It Works
- Replica set: one primary + multiple secondaries
- Secondaries replicate data from primary
- If primary fails, failover maintains availability
- Read/write behavior:
- by default reads from primary (as described)
- writes directed to primary then replicated
Data Consistency (Models Mentioned)
- Eventual consistency
- Write concerns:
w1,w majority,w0(acknowledgement level) - Read concerns: local, majority, available (as described)
- Transactions: multi-document transactions mentioned
Indexes in MongoDB
- Indexes speed up search/sorting/filtering.
- Unique identity via
_id.
Aggregation
- Aggregation transforms/analyzes data.
- Example concepts:
- group, sum totals, compute average/sums
Sharding
- Distribute data across multiple shards for large-scale performance.
- Uses a shard key to decide distribution.
Query Types (As Mentioned)
- Result/query-like reading (find)
- Range queries
- Logical queries
- Update queries (
updateOne,updateMany) - Delete queries (
deleteOne,deleteMany) - Aggregation queries via pipeline concepts
ObjectId Role
_idformat contains:- creation time portion
- unique machine/process value
- incremental counter
Transactions in MongoDB
- Use a session:
- start session
- start transaction
- commit transaction
- end session
Speakers / Sources Featured
- Intellipaat (channel/brand hosting the content)
- Panel of experts / experts in the field (mentioned generally; no individual names identified)
- The video narrator/presenter (not named in subtitles; no specific person identified)