๐ŸŽฏ Interview Prep โ€” Updated June 2026

Top Full Stack Interview Questions
and Answers for Experienced Professionals

15 must-know Full Stack interview questions with detailed answers โ€” covering React, Node.js, MongoDB, Express, HTML, CSS, JavaScript. Prepared by Vtricks Bangalore faculty based on real interview patterns from Bangalore companies in 2026.

15
Questions Covered
5,200+
Full Stack Jobs Bangalore
โ‚น4.5โ€“7 LPA
Fresher Salary Range
600+
Vtricks Students Placed
Interview Preparation

Full Stack Interview Questions and Answers for Experienced Professionals โ€” 2026

These are the most commonly asked Full Stack interview questions for experienced professionals in 2026 โ€” compiled by Vtricks faculty based on real interview feedback from students placed at companies like Accenture, Mindtree, Mphasis, Sapient, startups, product companies in Bangalore.

There are currently 5,200+ active Full Stack job openings in Bangalore. Freshers can expect โ‚น4.5โ€“7 LPA at companies across Bangalore's tech corridor โ€” Whitefield, Electronic City, Koramangala, and the CBD. Preparation matters: candidates who practise these questions consistently perform significantly better in technical rounds.

Interview Tips from Vtricks Faculty
  • Always explain your reasoning process โ€” interviewers want to see how you think, not just the final answer.
  • Use real examples from projects you have worked on when answering scenario-based questions.
  • If you don't know the answer, say so honestly and describe how you would find the answer โ€” this is better than guessing.
  • For Bangalore companies specifically: be ready to answer follow-up questions โ€” they often go 2-3 levels deep on any concept.
  • Always ask clarifying questions before answering complex scenario-based questions โ€” this demonstrates professional problem-solving approach.
Easy โ€” basic concept check
Medium โ€” applied knowledge
Hard โ€” senior/deep dive
All 15 Questions

Full Stack Interview Questions โ€” Experienced Professionals

Q1. What is server-side rendering (SSR) vs client-side rendering (CSR) vs static site generation (SSG)?
Technical Hard
ANSWER
CSR โ€” browser downloads minimal HTML + JavaScript, JavaScript runs in browser to fetch data and render UI. Fast initial load of the HTML shell, slow time-to-content, bad for SEO (crawlers may not execute JavaScript). SSR โ€” server renders full HTML for each request, sends complete HTML to browser. Better SEO, faster time-to-content, but higher server load and full page refresh feel. SSG โ€” pages are pre-rendered at build time as static HTML. Extremely fast, best for CDN delivery, great SEO, but cannot handle real-time data. Next.js supports all three: getStaticProps (SSG), getServerSideProps (SSR), and default React CSR. Choose based on: data freshness requirements, SEO needs, and performance requirements.
Q2. Explain React's reconciliation algorithm and Virtual DOM.
Technical Hard
ANSWER
When state changes, React creates a new Virtual DOM tree (lightweight JavaScript representation of the real DOM). React then diffs the new tree against the previous tree using the reconciliation algorithm (React Fiber): Element type changes โ€” React destroys the old tree and builds a new one. Same type elements โ€” React compares attributes and updates only changed ones. Lists โ€” React uses the key prop to match old and new list items efficiently โ€” always use stable, unique keys (not array index for dynamic lists). React Fiber (React 16+) breaks rendering work into chunks, allowing React to pause, prioritise, and resume work โ€” enabling concurrent features like Suspense and transitions. This allows React to keep UIs responsive during heavy rendering.
Q3. What are React hooks and how do they replace class components?
Technical Medium
ANSWER
React hooks (React 16.8+) allow functional components to use state and lifecycle features previously only available in class components. Core hooks: useState (state), useEffect (side effects โ€” replaces componentDidMount, componentDidUpdate, componentWillUnmount), useContext (consume Context), useReducer (complex state logic โ€” like Redux pattern). Performance hooks: useMemo (memoise expensive calculations), useCallback (memoised function references to prevent child re-renders). Ref hooks: useRef (access DOM elements, persist values without re-render). Custom hooks allow you to extract and reuse stateful logic. Rules of hooks: only call at top level (not inside conditions/loops), only call from React functions.
Q4. How do you optimise a React application's performance?
Technical Hard
ANSWER
Key optimisation techniques: React.memo() โ€” prevents unnecessary re-renders of pure functional components when props haven't changed. useMemo() โ€” memoises expensive calculations, recomputes only when dependencies change. useCallback() โ€” memoises function references to prevent child component re-renders. Code splitting with React.lazy() and Suspense โ€” loads components only when needed. Virtualisation for long lists โ€” react-window or react-virtual renders only visible items instead of all thousands of items. Image optimisation โ€” lazy loading, WebP format, appropriate sizes. Avoid anonymous functions in JSX โ€” creates new reference on every render. Use production builds (npm run build) โ€” removes development warnings and minifies code. Profile with React DevTools Profiler to identify actual bottlenecks.
Master These Questions
Practice Full Stack with Live Mentors at Vtricks
600+ students placed ยท 89% placement rate ยท Starts at โ‚น40,000
Free Demo Class โ†’
Q5. Explain JWT authentication implementation with refresh tokens.
Technical Hard
ANSWER
Secure JWT authentication with refresh tokens: Access token โ€” short-lived JWT (15 minutes), stored in memory (not localStorage). Sent in Authorization header with each API request. Refresh token โ€” long-lived (7 days), stored in HttpOnly cookie (not accessible by JavaScript โ€” prevents XSS attacks). Sent automatically with requests to /api/auth/refresh. Flow: login returns both tokens. API requests use access token. When access token expires (401 response), client calls /api/auth/refresh endpoint using refresh token cookie. Server validates refresh token against stored token in database (allows revocation), issues new access token. On logout, delete refresh token from database and clear cookie. Implement token rotation โ€” each refresh issues a new refresh token and invalidates the old one.
Q6. What is GraphQL and when do you choose it over REST?
Technical Hard
ANSWER
GraphQL is a query language for APIs and a runtime for executing those queries. Clients specify exactly what data they need in a single request โ€” no over-fetching (getting more data than needed) or under-fetching (needing multiple requests for related data). Key concepts: Schema defines types and relationships. Queries (read) and Mutations (write) specified by client. Resolvers fetch data for each field. Subscriptions for real-time updates. Choose GraphQL over REST when: you have complex, nested, related data; multiple client types (mobile, web) need different data shapes; rapid frontend iteration needs field additions without backend changes. Stick with REST when: simple CRUD operations, public API where clients are external, team is small and REST tooling is sufficient.
Q7. How do you implement real-time features in a full stack application?
Technical Hard
ANSWER
Options for real-time features: WebSockets โ€” full-duplex, persistent connection between client and server. Use Socket.io for easier implementation with fallbacks. Best for: live chat, real-time collaboration, multiplayer games, live notifications. Server-Sent Events (SSE) โ€” one-way server-to-client streaming over HTTP. Simpler than WebSockets, works through proxies, automatic reconnection. Best for: live feeds, progress updates, dashboards. Long polling โ€” client makes request, server holds it until new data arrives or timeout. Simplest implementation, works everywhere, but less efficient. Implementation in MERN: Socket.io with Express, emit events from server on database changes, listen in React with useEffect cleanup to disconnect on unmount.
Q8. What is micro-frontend architecture?
Conceptual Hard
ANSWER
Micro-frontends extend microservices concepts to the frontend โ€” a large application is broken into smaller, independent frontend applications owned by different teams. Each micro-frontend can be built with different frameworks, deployed independently, and composed into the final application. Implementation approaches: iframes (simple but limited), JavaScript integration (Module Federation with Webpack 5 โ€” most popular, allows sharing code between builds at runtime), server-side composition (edge-side includes), web components. Benefits: independent deployment, team autonomy, gradual migration from monolith. Challenges: consistent UX across teams, cross-team communication, performance overhead of multiple frameworks. Best suited for large organisations with multiple independent product teams.
Q9. Explain database indexing and query optimisation in MongoDB.
Technical Hard
ANSWER
MongoDB indexes support efficient query execution by maintaining an ordered data structure. Without indexes, MongoDB performs collection scans โ€” reading every document. Types: Single field index, Compound index (multiple fields โ€” order matters), Text index (full-text search), Geospatial index. Create with: collection.createIndex({'field': 1}) (1 ascending, -1 descending). Use explain() to analyse query plans โ€” look for COLLSCAN (bad) vs IXSCAN (good). Optimisation: create indexes on fields used in find(), sort(), and aggregation $match. Covered queries โ€” index covers all fields in the query and projection (no document fetch needed). Use the Aggregation Pipeline for complex transformations. Limit index count โ€” each write operation must update all indexes.
Master These Questions
Practice Full Stack with Live Mentors at Vtricks
600+ students placed ยท 89% placement rate ยท Starts at โ‚น40,000
Free Demo Class โ†’
Q10. What is the difference between cookie, localStorage, and sessionStorage?
Technical Medium
ANSWER
Cookies: 4KB limit, sent automatically with every HTTP request (including to server), can be HttpOnly (no JavaScript access โ€” XSS protection), can be Secure (HTTPS only), has expiry date, can be scoped to domain and path. Use for: session tokens, authentication. localStorage: 5-10MB, persists until explicitly cleared, accessible only to JavaScript (same origin), never sent to server automatically. Use for: user preferences, non-sensitive cached data. sessionStorage: 5-10MB, cleared when browser tab closes, otherwise same as localStorage. Use for: single-session form data, shopping cart. Security: never store JWT tokens or sensitive data in localStorage or sessionStorage โ€” vulnerable to XSS. Store auth tokens in HttpOnly cookies.
Q11. How do you architect a scalable full stack application?
Scenario Hard
ANSWER
Scalability considerations: Frontend โ€” use CDN for static assets, lazy loading and code splitting, caching strategies (service workers, stale-while-revalidate). Backend โ€” stateless API design (no server-side sessions โ€” use JWTs), horizontal scaling with load balancer, database connection pooling, caching layer (Redis for sessions, frequently accessed data). Database โ€” read replicas for read-heavy workloads, database sharding for very large datasets, efficient indexing, query optimisation. Async processing โ€” use message queues (RabbitMQ, SQS) for heavy background tasks (email sending, image processing) instead of blocking HTTP requests. Microservices for teams over 50 engineers โ€” each service independently scalable. Monitor with APM tools to identify bottlenecks before scaling.
Q12. Explain WebSockets implementation with Socket.io.
Technical Medium
ANSWER
Socket.io enables real-time, bidirectional communication. Server setup (Express): const io = require('socket.io')(server, {cors: {origin: '*'}}); io.on('connection', socket => { socket.on('message', data => { io.emit('message', data); }); socket.on('disconnect', () => {...}); }). Client (React): import {io} from 'socket.io-client'; const socket = io('http://localhost:5000'); socket.on('connect', () => {...}); socket.emit('message', data); socket.on('message', data => setMessages([...messages, data])). Cleanup in useEffect: return () => socket.disconnect(). Rooms โ€” group sockets: socket.join('room1'); io.to('room1').emit(...). Scale Socket.io with Redis adapter for multiple Node.js instances (sticky sessions or Redis pub/sub for cross-instance communication).
Q13. What is Redux and when should you use it?
Technical Medium
ANSWER
Redux is a predictable state management library for JavaScript applications. It stores all application state in a single store, state is read-only and changed only by dispatching actions, pure reducer functions specify how state transforms. Use Redux when: multiple unrelated components need the same data, deeply nested component state needs to be shared across the tree, complex state update logic, need time-travel debugging. Do NOT use Redux for: simple applications (useState and useContext are sufficient), server state (use React Query, SWR instead โ€” better for caching, revalidation, loading states). Modern alternatives: Zustand (simpler API), Jotai (atomic state), or just React Context + useReducer for moderate complexity.
Q14. How do you handle error boundaries in React?
Technical Medium
ANSWER
Error boundaries are React class components that catch JavaScript errors in child components and display fallback UI instead of crashing the entire application. Implement with componentDidCatch() and getDerivedStateFromError(). Use ErrorBoundary components around: route-level components, third-party widgets, complex feature sections. Error boundaries do NOT catch: event handler errors (use try-catch), asynchronous errors (use window.onerror or promise rejection handlers), server-side rendering errors, errors in the error boundary itself. react-error-boundary npm package provides a functional hook-friendly alternative. Log caught errors to error tracking services like Sentry. Show a user-friendly error message with an option to retry.
Master These Questions
Practice Full Stack with Live Mentors at Vtricks
600+ students placed ยท 89% placement rate ยท Starts at โ‚น40,000
Free Demo Class โ†’
Q15. Describe your approach to testing a full stack application.
Technical Hard
ANSWER
Testing strategy (Testing Trophy): Unit tests โ€” test individual functions and components in isolation. Backend: Jest for utility functions, database layer. Frontend: React Testing Library tests components from user perspective, not implementation. Integration tests โ€” test how components work together: API endpoint tests with Supertest (simulates HTTP requests to Express), database integration tests. E2E tests โ€” test complete user flows in a real browser with Cypress or Playwright. Test what matters: user interactions, business logic, API contracts. Mock external dependencies (database, APIs) in unit tests. Use MSW (Mock Service Worker) for frontend API mocking. Aim for: high unit + integration test coverage for business logic, selective E2E tests for critical user journeys.
Company Insights

What Full Stack Companies in Bangalore Actually Ask

Based on interview feedback from Vtricks students placed at Bangalore companies in 2026:

Round 1 โ€” Written/Online Test

Most Bangalore companies start with a written or online test covering full stack fundamentals, multiple choice questions on React and Node.js, and basic problem-solving questions. Duration: 30โ€“60 minutes. Companies like Accenture and Mindtree use platforms like HackerRank or their own internal assessments.

Round 2 โ€” Technical Interview (Most Important)

This is where most candidates are filtered. Expect: direct questions from this list, hands-on tasks (write a SQL query, debug a piece of code, explain a dashboard you built), and scenario-based questions where you walk through how you would solve a real problem. Be prepared to share your screen and code live.

Round 3 โ€” Managerial / HR Round

Focuses on: why you chose full stack as a career, how you handle ambiguous requirements, a project you are proud of (have this ready in detail โ€” situation, what you did, result), and salary expectations. Research the company's tech stack and recent news before this round.

Tools You Must Be Able to Demonstrate
  • React โ€” be ready to use this live in an interview
  • Node.js โ€” be ready to use this live in an interview
  • MongoDB โ€” be ready to use this live in an interview
  • Express โ€” be ready to use this live in an interview
  • HTML โ€” be ready to use this live in an interview
  • CSS โ€” be ready to use this live in an interview
  • JavaScript โ€” be ready to use this live in an interview
More Resources

More Full Stack Interview Preparation

Prepare for Your Full Stack Interview at Vtricks

Our students practise all these questions with live mentors and get placed at top Bangalore companies. Join 600+ students already working in Full Stack.

Mock interviews with mentors Live daily classes 89% placement rate Starts at โ‚น40,000
Book Free Demo Class at Vtricks โ†’

Vijayanagar, Bangalore ยท Online also available ยท No payment required