JS Guide
HomeQuestionsTopicsCompaniesResources
BookmarksSearch

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

ResourcesQuestionsSupport
HomeQuestionsSearchProgress
HomeCompaniesRazorpay

Razorpay

Razorpay is India's leading fintech company building payment solutions, banking, and lending products. Their frontend team builds the merchant dashboard, checkout experiences, and maintains the open-source Blade design system using React, TypeScript, and Redux.

Fintech
JavaScript
TypeScript
React
React Native
Redux
Careers pageCompensation data

42

Questions

21

Day Plan

5

Stages

17

Topics

Frontend Roles

Frontend Engineer

SDE-1 to SDE-3

Builds React components and user interfaces for Razorpay's payment products including the merchant dashboard, checkout flows, and internal tools.

Senior Frontend Engineer

SDE-3 to SDE-4

Leads frontend initiatives across product teams, contributes to the Blade design system, drives technical decisions, and mentors junior engineers.

Staff Frontend Engineer

SDE-4+

Defines frontend architecture across the organization, drives cross-team technical strategy, establishes best practices, and mentors senior engineers.

Interview Process

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

1

JavaScript Fundamentals

1 hour

Output-based JavaScript questions covering core concepts. You are shown code snippets and asked to predict the console output, explain behavior, and identify edge cases.

JavaScript output questions
Hoisting
Closures
Promises
this keyword
2

Machine Coding Round

1.5-2 hours

Build a working React application or component from scratch in CodeSandbox. You are given a problem statement and must implement a functional solution with clean code, proper state management, and component structure.

React component building
CodeSandbox
Custom hooks
State management
3

System Design / Web Fundamentals

1-1.5 hours

Design a frontend system or discuss web fundamentals in depth. Topics range from designing an analytics dashboard to explaining browser security mechanisms and caching strategies.

Frontend architecture
CORS
XSS
CSRF
Caching
Performance
4

Hiring Manager Round

1 hour

Discussion with the hiring manager about your past projects, technical decisions, team collaboration, and cultural fit. Expect questions about how you handled challenges and your approach to learning.

Cultural fit
Past projects
Behavioral questions
5

HR Round

30-45 minutes

Final round covering compensation expectations, notice period, team fit, and logistics. This round is typically for senior roles and above.

Total process duration: 2-4 weeks

Razorpay has no DSA round for frontend roles. The process emphasizes practical JavaScript knowledge, machine coding in React, and frontend system design. Interviews are collaborative and pair-programming style.

Study Plan

21-day study plan across 3 phases

1
JavaScript Fundamentals
Days 1-7
Hoisting
Closures
this keyword
call/apply/bind
Scope
Type coercion

Questions to practice:

  • How does JavaScript hoisting work?
  • What is a closure in JavaScript and why are they useful?
  • How does the 'this' keyword work in JavaScript?
  • What are call, apply, and bind and how do they differ?
  • What is the difference between block scope and function scope?
  • How does type coercion work in JavaScript?

Topics to study:

Hoisting
Closures
The this Keyword
Variables
Scope & Scope Chain
Type Coercion
2
Async JavaScript & Patterns
Days 8-14
Promises
Async/await
Event loop
Debounce/throttle
Currying

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.
  • How would you implement a debounce function from scratch with advanced features?
  • What is currying and partial application in JavaScript?

Topics to study:

Promises & Async/Await
Event Loop & Runtime
Debounce & Throttle
Currying & Partial Application
3
React & Web Security
Days 15-21
React hooks
Custom hooks
Pagination
State management
CORS
Security

Questions to practice:

  • Explain the useState and useEffect hooks and their common patterns.
  • How would you implement a useLocalStorage custom hook?
  • How would you implement a useFetch custom hook?
  • How would you design and implement a reusable Pagination component in React?
  • How do useSelector and useDispatch work in React-Redux?
  • What is CORS, when do CORS errors occur, and how can they be resolved?
  • What security vulnerabilities should you address in React applications and how do you prevent them?

Topics to study:

Hooks
Advanced Patterns
State Management
CORS
Security

Questions to Practice (42)

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

What is the difference between var, let, and const in JavaScript?

javascript
junior

How does JavaScript hoisting work?

javascript
junior

How does type coercion work in JavaScript?

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

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

How do you implement data polling in JavaScript?

javascript
mid

Explain JavaScript's prototype chain and how inheritance works.

javascript
senior

What is CORS, when do CORS errors occur, and how can they be resolved?

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

Explain the useState and useEffect hooks and their common patterns.

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 do useSelector and useDispatch work in React-Redux?

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

When should you use Context API vs Redux for state management?

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

Build an infinite scroll component in React using Intersection Observer that loads more items as the user scrolls, with loading states and race condition handling.

react
mid

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

react
senior

Explain common React patterns: Compound Components, Render Props, and Custom Hooks.

react
senior

What are Higher-Order Components (HOCs) in React, and why are they less commonly used today?

react
senior

What is Redux and Redux Thunk, and how do they manage application state and async operations?

react
senior

What security vulnerabilities should you address in React applications and how do you prevent them?

react
senior

How would you design and implement a reusable Pagination component in React?

react
senior

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

react
senior

Implement a basic version of useState from scratch.

react
senior

Implement a basic version of useEffect from scratch.

react
senior

Recommended Topics (17)

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.

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.

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.

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.

Type Coercion

JavaScript automatically converts types during operations (implicit coercion) — the + operator favors strings, other arithmetic operators favor numbers, and there are exactly 8 falsy values.

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.

Variables

var is function-scoped and hoisted with undefined, let is block-scoped and reassignable, const is block-scoped and cannot be reassigned — modern JavaScript favors const by default and let when reassignment is needed.

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.

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.

CORS

CORS (Cross-Origin Resource Sharing) is a browser-enforced security mechanism that uses HTTP headers to control whether JavaScript on one origin can access resources from a different origin.

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.

State Management

Redux provides predictable state with a single store, actions, and reducers (RTK simplifies this with createSlice). Zustand offers a lighter alternative. Choose based on app complexity — most apps can start with useState + Context.

Advanced Patterns

React patterns evolved from mixins to HOCs to render props to hooks — compound components share implicit state for flexible APIs, while custom hooks have replaced most logic-sharing patterns.

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.

Security

JSX auto-escapes values to prevent XSS by default, but dangerouslySetInnerHTML, href='javascript:', and localStorage token storage are common vulnerability vectors that require explicit mitigation.

Interview Tips

  • Focus on output-based JS questions — practice predicting console output for closures, hoisting, promises, and this keyword
  • The machine coding round is the most critical — practice building React components in CodeSandbox under time pressure
  • There is no DSA round for frontend roles — invest that time in JavaScript fundamentals and React proficiency
  • Be ready to implement utility functions from scratch (debounce, throttle, custom polyfills)
  • Understand web security deeply (CORS, XSS, CSRF) as it comes up in the system design round
  • Razorpay uses their open-source design system Blade — familiarize yourself with it to show genuine interest
  • Practice building custom React hooks (useLocalStorage, useFetch) as they are commonly asked in machine coding
  • For system design, prepare to discuss analytics dashboards with filters, caching, rate-limited API calls, and virtualized lists

Job Search Tips

  • Apply at razorpay.com/jobs — filter for Frontend Engineering roles
  • Razorpay is active on LinkedIn — follow their engineering blog and engage with their tech content
  • Employee referrals are highly valued — connect with Razorpay engineers on LinkedIn
  • Check out the Razorpay engineering blog and Blade design system GitHub repo to understand their technical culture
  • Razorpay hires from Instahyre, LinkedIn, and their careers page — apply on multiple channels
  • For senior roles, open-source contributions to Blade or similar React design systems can differentiate 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.