Frontend engineering at Indian product companies has matured significantly: the era of 'jQuery developer' or 'HTML/CSS person' is gone. Senior frontend engineers at Razorpay, CRED, and Swiggy design component architectures, optimise Core Web Vitals, build design systems, and own the entire user-facing experience of products serving tens of millions of users. This guide covers every interview question type, the JavaScript and React depth expected at different levels, CSS architecture, performance, and salary benchmarks.
Frontend Interview Question Types at Indian Product Companies
Five question types in Indian frontend engineer interviews: (1) JavaScript fundamentals (the most predictable category: 'Explain the event loop and call stack', 'What is the difference between == and ===?', 'Explain closures with a practical example', 'What is the difference between null and undefined?', 'How does Promise.all differ from Promise.allSettled, Promise.race, and Promise.any?'). (2) React depth ('Explain when a component re-renders and how to prevent unnecessary re-renders', 'What is the difference between useMemo, useCallback, and React.memo?', 'Implement a custom hook that debounces a search input', 'Explain what useEffect cleanup does and when you need it'). (3) CSS and layout ('Flex vs grid: when would you use each?', 'Explain CSS specificity with an example of a cascade conflict', 'What is the critical rendering path and how does CSS affect time-to-first-paint?'). (4) Performance ('A React page with 500 list items is slow: diagnose and fix', 'What is code splitting and how do React.lazy and Suspense implement it?', 'Explain Core Web Vitals: LCP, FID/INP, CLS and how to measure each'). (5) Frontend system design ('Design the state management for a multi-step checkout flow with 5 steps, validation, and server-side persistence at each step', 'Design the architecture for a real-time collaborative document editor in the browser').
JavaScript Concepts for Indian Frontend Interviews
JavaScript depth tested at Indian product companies: Closures (a function that retains access to its lexical scope even after the outer function has returned; the basis of module patterns, the factory function pattern, and memoisation). Prototype chain (JavaScript inheritance: every object has a [[Prototype]] pointing to its prototype object; class syntax is syntactic sugar over prototype-based inheritance; interviewers probe this by asking you to implement inheritance without the class keyword). Event loop mechanics (the call stack for synchronous code, the task queue for setTimeout/setInterval callbacks, the microtask queue for Promise resolutions and queueMicrotask; Promises go to the microtask queue and run before the next setTimeout callback, regardless of which was enqueued first). this binding (four binding rules: default, implicit, explicit via call/apply/bind, and new binding; arrow functions have no own this and inherit it lexically). TypeScript generics (function generics, class generics, conditional types, mapped types, utility types: Partial, Required, Readonly, Pick, Omit, ReturnType, InstanceType; TypeScript depth is increasingly a differentiator at senior level at Indian product companies).
React Interview Depth at Different Levels
React depth by level: Junior (0-2 years): component lifecycle understanding (componentDidMount = useEffect with empty deps, componentDidUpdate = useEffect with deps, componentWillUnmount = useEffect cleanup). useState and useEffect basics. Controlled vs uncontrolled components. Mid-level (2-5 years): reconciliation algorithm (how React diffs the virtual DOM to compute minimal DOM updates; keys: why they must be unique and stable, not array indices for dynamic lists). Custom hooks for reusable stateful logic. Context API for shared state and when it causes unnecessary re-renders (any context consumer re-renders when any value in the context changes). useMemo and useCallback: when they help (expensive computation, callback identity for child component props) vs when they hurt (overhead of memoisation exceeds the benefit for cheap computations). Senior (5+ years): Concurrent React (React 18: useTransition marks an update as non-urgent so React can interrupt and resume it; useDeferredValue defers a value until urgent updates are flushed; Suspense for data fetching with React's use() hook). React Server Components (components that render on the server without client JS; they cannot have useState, useEffect, or browser APIs; how Next.js App Router implements them with the 'use client' directive boundary).
Preparing for frontend engineer interviews in India? Use HireStepX to practise React system design and JavaScript technical questions with AI voice coaching. Get instant scored feedback.
Practice freeFrontend Engineer Salary Benchmarks 2026
Frontend engineer salary ranges: junior (0-2 years): Rs 5-18 LPA. Mid-level (2-5 years): Rs 15-45 LPA. Senior (5-8 years): Rs 40-90 LPA. Staff/Principal (8+ years): Rs 80-160 LPA. Top-paying frontend employers: CRED (premium consumer product with a very high UI quality bar; Rs 30-80 LPA mid-senior), Razorpay (payments product frontend; Rs 25-70 LPA), Swiggy (consumer delivery app; Rs 20-55 LPA), Flipkart (e-commerce scale frontend engineering; Rs 20-55 LPA), Groww (investment app with high data visualisation quality; Rs 20-55 LPA). Frontend engineers earn 10-20% less than backend engineers at equivalent levels at most Indian product companies; this gap is narrowing as companies recognise that frontend performance and quality directly impact user retention and conversion rates.
Frequently asked questions
Explore more