JS Guide
HomeQuestionsTopicsCompaniesResources
BookmarksSearch

Built for developers preparing for JavaScript, React & TypeScript interviews.

ResourcesQuestionsSupport
HomeQuestionsSearchProgress
HomeCompaniesFlipkart

Flipkart

Flipkart is India's leading e-commerce company, building large-scale consumer shopping experiences serving hundreds of millions of users. Their frontend team builds the web and mobile applications for product discovery, search, checkout, and seller dashboards using React, JavaScript, and Node.js.

E-commerce
JavaScript
React
React Native
Node.js
TypeScript
Careers pageCompensation data

54

Questions

28

Day Plan

4

Stages

26

Topics

Frontend Roles

UI Engineer 1

SDE-1

Builds React components and user interfaces for Flipkart's consumer-facing products including product pages, search experiences, and checkout flows.

UI Engineer 2

SDE-2

Leads frontend feature development, drives performance optimization for high-traffic pages, mentors junior engineers, and contributes to Flipkart's shared component libraries and design system.

Senior UI Engineer

SDE-3+

Defines frontend architecture for product verticals, drives cross-team technical initiatives, establishes best practices for large-scale React applications, and mentors the engineering team.

Interview Process

Based on publicly available information. Actual processes may vary by team and role.

1

Machine Coding Round

90-120 minutes

Build a complete working application using only vanilla JavaScript, HTML, and CSS. No frameworks or libraries allowed. You are given a problem statement (e.g., e-commerce UI, chat application, search bar with API integration) and must implement a functional, well-structured solution with proper DOM manipulation, event handling, and clean code. Conducted on Google Meet with screen sharing.

Vanilla JavaScript
HTML/CSS
DOM manipulation
Event handling
Code structure
API integration
2

JavaScript & React Deep Dive

1-1.5 hours

In-depth discussion of JavaScript fundamentals and React concepts. Expect output-based questions where you predict console output for closures, hoisting, promises, and event loop scenarios. React questions cover hooks, context, reconciliation, and rendering patterns. May include DSA problems solved in JavaScript.

Closures
Hoisting
Promises
Event loop
Prototypes
IIFE
React hooks
Context API
Reconciliation
3

UI Tech & Web Fundamentals

1 hour

Broad discussion of HTML, CSS, JavaScript, and Web APIs. Topics include CSS layout techniques (Flexbox/Grid), event propagation, browser rendering pipeline, TypeScript vs JavaScript, HTTP request/response cycle, CSS specificity, and debounce/throttle implementations.

CSS Flexbox/Grid
Event propagation
Browser rendering
CSS specificity
Debounce/throttle
Performance
4

Hiring Manager & HR

1-1.5 hours

Discussion with the hiring manager about past projects, technical decisions, team collaboration, and cultural fit. Expect detailed questions about your specific contributions to projects, challenges faced, and how you approach learning. HR round covers compensation, notice period, and logistics.

Past projects
Technical decisions
Cultural fit
Behavioral questions

Total process duration: 2-4 weeks

Flipkart's machine coding round is the most distinctive part of the process — it strictly requires vanilla JavaScript with no frameworks or libraries. The emphasis is on clean, well-organized code with proper DOM manipulation, event delegation, and modular architecture. A code review discussion typically follows the machine coding round on the same day.

Study Plan

28-day study plan across 4 phases

1
Vanilla JavaScript Fundamentals
Days 1-7
Closures
Hoisting
this keyword
Scope
IIFE
Event propagation
Prototypes

Questions to practice:

  • What is a closure in JavaScript and why are they useful?
  • How does JavaScript hoisting work?
  • How does the 'this' keyword work in JavaScript?
  • What is the difference between block scope and function scope?
  • What is an IIFE (Immediately Invoked Function Expression) and why is it used?
  • Explain event bubbling, capturing, and how stopPropagation works.
  • Explain JavaScript's prototype chain and how inheritance works.

Topics to study:

Closures
Hoisting
The this Keyword
Scope & Scope Chain
IIFE (Immediately Invoked Function Expression)
Events
Prototypes & Inheritance
2
Async JavaScript & Advanced Patterns
Days 8-14
Promises
Async/await
Event loop
WeakMap/WeakSet
Custom Promise
Polyfills

Questions to practice:

  • What are Promises in JavaScript and how do they work?
  • How do async/await work and how do they relate to Promises?
  • Explain the JavaScript Event Loop and how it handles asynchronous operations.
  • What are WeakMap and WeakSet, and how do they differ from Map and Set?
  • How would you implement a simplified Promise from scratch?
  • What are polyfills and how do you implement Array.prototype.map from scratch?

Topics to study:

Promises & Async/Await
Event Loop & Runtime
Data Structures
Memory Management & Garbage Collection
3
React & Component Patterns
Days 15-21
React hooks
Context API
Reconciliation
Memoization
SSR/CSR
Fragments
Lifecycle

Questions to practice:

  • Explain the useState and useEffect hooks and their common patterns.
  • What is React Context and when should you use it?
  • How does React's reconciliation algorithm work?
  • Explain React.memo, useMemo, and useCallback. When should each be used?
  • What are the differences between CSR, SSR, and SSG in React applications?
  • What are React Fragments and when should you use them?
  • How do React component lifecycle methods map to hooks in functional components?

Topics to study:

Hooks
Context API
React Internals
Performance Optimization
Concurrent React
4
CSS, Performance & System Design
Days 22-28
Flexbox/Grid
Web Vitals
Virtualization
Hydration
Long tasks
Scheduling APIs

Questions to practice:

  • Explain the CSS Flexbox axis model and how to solve common layout challenges with it.
  • How does CSS Grid work and how does it differ from Flexbox?
  • What are Core Web Vitals and why do they matter?
  • How does list virtualization (windowing) work in React and when should you use it?
  • Explain React's hydration process and common hydration mismatch issues.
  • How do you identify and optimize long tasks on the main thread?
  • What is requestIdleCallback and how does it compare to other scheduling APIs?

Topics to study:

Flexbox Layout
CSS Grid Layout
Core Web Vitals & Performance Metrics
Rendering Strategies & Critical Rendering Path
Runtime Performance & Profiling

Questions to Practice (54)

Questions relevant to preparing for frontend interviews at Flipkart, based on their known tech stack and common frontend interview patterns.

How does JavaScript hoisting work?

javascript
junior

What is event delegation in JavaScript and why is it useful?

javascript
junior

How do you select and manipulate DOM elements in JavaScript?

javascript
junior

What is an IIFE (Immediately Invoked Function Expression) and why is it used?

javascript
junior

What is a closure in JavaScript and why are they useful?

javascript
mid

What are Promises in JavaScript and how do they work?

javascript
mid

How do async/await work and how do they relate to Promises?

javascript
mid

Explain the JavaScript Event Loop and how it handles asynchronous operations.

javascript
mid

How does the 'this' keyword work in JavaScript?

javascript
mid

What is the difference between microtasks and macrotasks in JavaScript?

javascript
mid

What are Promise.all, Promise.race, Promise.allSettled, and Promise.any, and when do you use each?

javascript
mid

How do debounce and throttle work, and when would you use each?

javascript
mid

What is currying and partial application in JavaScript?

javascript
mid

When should you use Map and Set instead of plain objects and arrays?

javascript
mid

What are call, apply, and bind and how do they differ?

javascript
mid

What is the difference between block scope and function scope?

javascript
mid

What are WeakMap and WeakSet, and how do they differ from Map and Set?

javascript
mid

Explain event bubbling, capturing, and how stopPropagation works.

javascript
mid

How do you implement data polling in JavaScript?

javascript
mid

Explain JavaScript's prototype chain and how inheritance works.

javascript
senior

How does JavaScript garbage collection work and how can you prevent memory leaks?

javascript
senior

How would you implement a debounce function from scratch with advanced features?

javascript
senior

How would you implement a simplified Promise from scratch?

javascript
senior

What is requestIdleCallback and how does it compare to other scheduling APIs?

javascript
senior

How do WebSockets work and when would you use them over HTTP?

javascript
senior

How would you implement Function.prototype.bind from scratch?

javascript
senior

How would you implement Promise.all and Promise.race from scratch?

javascript
senior

What is the difference between functional and class components in React?

react
junior

What is state in React and how is it different from props?

react
junior

What is the Virtual DOM and how does it work?

react
junior

Explain the useState and useEffect hooks and their common patterns.

react
mid

What is React Context and when should you use it?

react
mid

What are custom hooks and how do you create them?

react
mid

What is useRef and when should you use it?

react
mid

How would you implement a useLocalStorage custom hook?

react
mid

How would you implement a useFetch custom hook?

react
mid

How do React component lifecycle methods map to hooks in functional components?

react
mid

Build an autocomplete/typeahead search component in React that fetches suggestions from an API with debouncing, keyboard navigation, and highlighted matching text.

react
mid

Explain React.memo, useMemo, and useCallback. When should each be used?

react
senior

How does React's reconciliation algorithm work?

react
senior

What are React's concurrent features and how do Suspense and transitions work?

react
senior

How does list virtualization (windowing) work in React and when should you use it?

react
senior

Explain React's hydration process and common hydration mismatch issues.

react
senior

Explain React's diffing algorithm in detail. How does it achieve O(n) complexity?

react
senior

Implement a basic version of useState from scratch.

react
senior

Implement a basic version of useEffect from scratch.

react
senior

What are Core Web Vitals and why do they matter?

performance
junior

What is the difference between SSR, SSG, and CSR?

performance
mid

How do you identify and fix JavaScript runtime performance issues?

performance
senior

What is the Critical Rendering Path and how do you optimize it?

performance
senior

How do you identify and optimize long tasks on the main thread?

performance
senior

How does CSS Flexbox work and when should you use it?

css
junior

How does CSS Grid work and how does it differ from Flexbox?

css
mid

Explain the CSS Flexbox axis model and how to solve common layout challenges with it.

css
mid

Recommended Topics (26)

Closures

A closure is a function that retains access to variables from its outer (enclosing) scope even after the outer function has returned, enabled by JavaScript's lexical scoping.

Hoisting

Hoisting is JavaScript's behavior of moving declarations to the top of their scope during compilation — var is initialized as undefined, let/const enter a Temporal Dead Zone, and function declarations are fully available before their code position.

Promises & Async/Await

Promises represent eventual completion or failure of async operations with three states (pending, fulfilled, rejected), and async/await provides syntactic sugar for writing promise-based code that reads like synchronous code.

Event Loop & Runtime

JavaScript is single-threaded with one call stack — the event loop enables async behavior by processing microtasks (promises) before macrotasks (setTimeout) between each cycle of the call stack.

The this Keyword

The this keyword is dynamically bound based on how a function is called — four binding rules (new, explicit, implicit, default) determine its value, with arrow functions being the exception that inherits this lexically.

Prototypes & Inheritance

Every JavaScript object has an internal [[Prototype]] link forming a chain — property lookups walk this chain until found or null. ES6 classes are syntactic sugar over this prototypal inheritance model.

Scope & Scope Chain

JavaScript uses lexical scoping where variable access is determined by code structure at write time — the engine walks up the scope chain from inner to outer scopes until it finds the variable or reaches the global scope.

IIFE (Immediately Invoked Function Expression)

An IIFE is a function expression that is defined and executed immediately. Before ES6 modules, IIFEs were the primary mechanism for creating private scope and avoiding global namespace pollution.

Events

DOM events flow through three phases — capture, target, and bubble — and event delegation leverages bubbling to handle events on dynamic child elements with a single parent listener.

Memory Management & Garbage Collection

JavaScript automatically manages memory through garbage collection using a mark-and-sweep algorithm — objects are freed when they become unreachable from root references, but common patterns like forgotten timers and detached DOM nodes cause memory leaks.

Data Structures

ES6 introduced Map and Set as specialized alternatives to plain objects and arrays — Map allows any key type with guaranteed order, while Set stores unique values with O(1) lookups.

DOM

The Document Object Model (DOM) is a tree-structured programming interface that lets JavaScript read, modify, and respond to a web page's content, structure, and styles in real time.

Currying & Partial Application

Currying transforms a function with multiple arguments into a sequence of single-argument functions, while partial application fixes some arguments upfront and returns a function expecting the rest.

Debounce & Throttle

Debounce delays execution until a pause in events, while throttle limits execution to a fixed interval — both are essential for controlling high-frequency event handlers.

Hooks

Hooks let functional components manage state (useState), run side effects (useEffect), access refs (useRef), and extract reusable logic into custom hooks — all following strict rules about call order.

Context API

Context provides data to any descendant component without passing props through every level — it solves prop drilling but is not state management, and context value changes re-render all consumers.

React Internals

React's reconciliation algorithm diffs virtual DOM trees in O(n) using two heuristics — different element types tear down the subtree, same types compare attributes — while the Fiber architecture makes this work interruptible so the browser stays responsive during large updates.

Performance Optimization

React.memo skips re-renders when props haven't changed, useMemo caches computed values, and useCallback caches function references — but these are targeted optimizations, not defaults for every component.

Concurrent React

Concurrent rendering lets React interrupt and prioritize work — Suspense provides declarative loading states, useTransition marks updates as non-urgent, and useDeferredValue defers expensive re-renders.

Components

React components are reusable, self-contained UI building blocks — functional components (plain functions returning JSX) have replaced class components for most use cases since hooks were introduced in React 16.8.

State

State is internal, mutable data owned by a component — updates must be immutable (creating new objects, not mutating existing ones) and are batched asynchronously in React 18+ for performance.

Flexbox Layout

Flexbox is a one-dimensional layout model for distributing space and aligning items along a main axis and cross axis, with container properties controlling flow direction and item properties controlling grow, shrink, and basis behavior.

CSS Grid Layout

CSS Grid provides two-dimensional layout control over rows and columns simultaneously, using grid-template definitions, the fr unit for fractional space, auto-fit/auto-fill for responsive grids, and named grid areas for semantic layout declarations.

Core Web Vitals & Performance Metrics

Core Web Vitals are Google's three key metrics (LCP, INP, CLS) that measure real-world user experience for loading speed, interactivity, and visual stability, directly impacting search rankings.

Rendering Strategies & Critical Rendering Path

Choosing between CSR, SSR, SSG, and ISR determines when and where HTML is generated, while understanding the Critical Rendering Path (DOM, CSSOM, render tree, layout, paint) reveals how browsers turn that HTML into visible pixels.

Runtime Performance & Profiling

Runtime performance focuses on what happens after the page loads: identifying long tasks that block the main thread, avoiding layout thrashing, using requestAnimationFrame for smooth animations, and offloading heavy computation to Web Workers.

Interview Tips

  • The machine coding round is strictly vanilla JavaScript — practice building complete apps without any framework or library (no React, jQuery, Lodash)
  • Focus on clean code structure in machine coding — use proper separation of concerns, event delegation, and reusable functions
  • Master output-based JavaScript questions — practice predicting console output for closures, hoisting, promises, var/let/const scope, and this keyword
  • Be ready to implement polyfills from scratch (Array.prototype.map, Array.prototype.reduce, Promise, debounce, throttle, Function.prototype.bind)
  • Understand event propagation deeply — bubbling vs capturing, stopPropagation, and event delegation are commonly tested
  • React questions go beyond basics — expect deep dives into reconciliation, hooks internals, Context API performance, and CSR vs SSR tradeoffs
  • For system design, practice designing scalable frontend architectures (product listing with filters, real-time notifications, authentication flows)
  • CSS layout questions are practical — be ready to build layouts with Flexbox and Grid from memory, including responsive card grids and navigation bars
  • Prepare a strong project narrative — interviewers ask detailed questions about your past contributions, challenges, and architectural decisions

Job Search Tips

  • Apply at flipkartcareers.com — filter for UI Engineer or Frontend Developer roles
  • Flipkart is active on LinkedIn — follow their engineering team and engage with their tech content
  • Employee referrals are highly effective — connect with Flipkart engineers on LinkedIn
  • Check the Flipkart tech blog to understand their engineering culture and the challenges of building at scale
  • Flipkart hires from LinkedIn, Naukri, and their careers page — apply on multiple channels for better visibility
  • For senior roles, experience with large-scale e-commerce frontends, design systems, or performance optimization strengthens your application

Interview information is curated from publicly available sources and may not reflect current processes.

All company names and trademarks are the property of their respective owners. JS Guide is not affiliated with, endorsed by, or sponsored by any of the companies listed. Use of company names is for informational and educational purposes only.