Swiggy
Leading Indian food delivery aggregator with complex real-time logistics.
4 Rounds
~15 Days
Hard
The Interview Loop
Recruiter Screen (30 min)
Standard fit check, behavioral questions, and resume overview.
Technical Loop (3-4 Rounds)
Deep dive into domain knowledge, coding, and system design.
Interview Question Bank
Frontend Engineer
•
Behavioral
•
medium
Tell me about a time you had to push back on a Product Manager's requirement because of technical constraints or tight deadlines.
#Communication
#Stakeholder Management
#Prioritization
Frontend Engineer
•
Behavioral
•
medium
Describe a situation where you had to debug a critical production issue on the frontend (e.g., a blank screen on checkout). What was your approach?
#Debugging
#Incident Management
#Root Cause Analysis
Frontend Engineer
•
Behavioral
•
medium
Tell me about a time you mentored a junior engineer or helped level up your team's frontend practices.
#Mentorship
#Code Reviews
#Team Building
Frontend Engineer
•
Coding
•
medium
Implement a polyfill for Promise.all(). How would you handle a scenario where one of the promises rejects?
#Promises
#Asynchronous JavaScript
#Polyfills
Frontend Engineer
•
Coding
•
hard
Machine Coding: Build a nested comment system similar to Reddit or Swiggy restaurant reviews. It should support N-level deep replies, adding new comments, and deleting comments.
#React
#Recursion
#State Management
#DOM Manipulation
Frontend Engineer
•
Coding
•
medium
Create a custom React hook `useDebounce` and demonstrate how you would use it for a Swiggy restaurant search input to minimize API calls.
#Custom Hooks
#Debouncing
#Performance Optimization
Frontend Engineer
•
Coding
•
medium
Write a JavaScript function to flatten a deeply nested object. Keys should be concatenated with a dot (e.g., `user.address.city`).
#Recursion
#Object Manipulation
#Data Structures
Frontend Engineer
•
Coding
•
hard
Machine Coding: Build an autocomplete search bar for restaurants. It must include caching for previously searched terms and keyboard navigation (up/down arrows to select).
#React
#Caching
#Keyboard Accessibility
#Debouncing
Frontend Engineer
•
Coding
•
medium
Implement a generic Carousel component in React. It should support auto-play, infinite looping, and touch/swipe gestures for mobile users.
#React
#CSS Transitions
#Touch Events
#Component Design
Frontend Engineer
•
Coding
•
medium
Write a function to check if two DOM trees are structurally identical and have the same attributes and text content.
#DOM
#Recursion
#Tree Traversal
Frontend Engineer
•
Coding
•
easy
Machine Coding: Implement a 5-star rating component. It should support hover effects (highlighting stars up to the cursor) and allow fractional ratings (e.g., 4.5 stars).
#React
#CSS
#Event Handling
Frontend Engineer
•
Coding
•
medium
Implement an LRU (Least Recently Used) Cache in JavaScript. It should have `get(key)` and `put(key, value)` methods, both operating in O(1) time complexity.
#Data Structures
#Map
#Linked List
Frontend Engineer
•
Coding
•
medium
Write a polyfill for `Function.prototype.bind`.
#Polyfills
#this keyword
#Closures
#Arguments
Frontend Engineer
•
Coding
•
medium
Given an array of overlapping intervals representing a restaurant's operating hours, write a function to merge all overlapping intervals.
#Arrays
#Sorting
#Logic
Frontend Engineer
•
Coding
•
medium
Machine Coding: Build an infinite scrolling list for the Swiggy restaurant feed. It should fetch more data as the user scrolls near the bottom.
#React
#Intersection Observer
#Pagination
#API Integration
Frontend Engineer
•
Coding
•
hard
Write a function to deeply clone a JavaScript object. Ensure it handles circular references, Dates, and Arrays correctly.
#Recursion
#Memory Management
#Object Manipulation
Frontend Engineer
•
Coding
•
medium
Implement an Event Emitter class in JavaScript with `on`, `off`, `emit`, and `once` methods.
#Design Patterns
#Pub/Sub
#Classes
Frontend Engineer
•
Coding
•
medium
Write a function to find the length of the longest substring without repeating characters in a given string.
#Strings
#Sliding Window
#Hash Map
Frontend Engineer
•
Coding
•
hard
Machine Coding: Implement a multi-step form for a restaurant onboarding portal (Swiggy Partner). It should have validation, state persistence across steps, and a final review page.
#React
#Forms
#State Management
#Validation
Frontend Engineer
•
System Design
•
hard
Design the frontend architecture for Swiggy Instamart's live inventory and cart system. How do you handle scenarios where an item goes out of stock while it is in the user's cart?
#WebSockets
#State Synchronization
#Concurrency
#UI/UX
Frontend Engineer
•
System Design
•
medium
How would you optimize the performance of the Swiggy home page, which contains hundreds of restaurant images, carousels, and dynamic offers?
#Lazy Loading
#CDN
#Core Web Vitals
#Virtualization
Frontend Engineer
•
System Design
•
hard
Design the Swiggy Live Order Tracking screen. How do you handle real-time delivery partner location updates, map rendering, and battery/network efficiency on the web?
#Maps Integration
#WebSockets
#Polling
#Performance
Frontend Engineer
•
System Design
•
medium
Design a scalable frontend logging and error tracking system for the Swiggy consumer web app. How do you ensure it doesn't impact app performance?
#Error Boundaries
#Beacon API
#Batching
#Observability
Frontend Engineer
•
System Design
•
hard
Design the checkout page for Swiggy. How do you handle payment gateway integrations, coupon applications, and state recovery if the payment fails?
#State Management
#Security
#Resilience
#Third-party Integration
Frontend Engineer
•
System Design
•
medium
How would you implement internationalization (i18n) and localization in a large-scale React app to support multiple Indian languages?
#i18n
#Localization
#Asset Management
#React Context
Frontend Engineer
•
System Design
•
medium
Design a notification center for the Swiggy app that handles incoming push notifications, in-app alerts, and read/unread states across multiple tabs.
#Service Workers
#Broadcast Channel API
#State Synchronization
Frontend Engineer
•
Technical
•
medium
Explain the Event Loop in JavaScript. What is the difference between the microtask queue and the macrotask queue? Give an example of each.
#Event Loop
#Concurrency Model
#V8 Engine
Frontend Engineer
•
Technical
•
hard
What is React Fiber? How does it improve rendering performance compared to the older Stack Reconciler?
#React Internals
#Reconciliation
#Rendering
Frontend Engineer
•
Technical
•
easy
Explain the CSS Box Model. What is the difference between `box-sizing: border-box` and `box-sizing: content-box`?
#CSS
#Layouts
#Box Model
Frontend Engineer
•
Technical
•
medium
How does Redux work under the hood? Explain the difference between Redux Thunk and Redux Saga for handling side effects.
#Redux
#Middleware
#Generators
#Side Effects
Frontend Engineer
•
Technical
•
medium
What are Service Workers? How would you use them to make the Swiggy web app work offline or load faster on slow networks?
#PWA
#Service Workers
#Caching Strategies
#Offline
Frontend Engineer
•
Technical
•
easy
Explain the concept of closures in JavaScript. Provide a practical use case where closures are essential.
#Closures
#Scope
#Memory
Frontend Engineer
•
Technical
•
medium
How do you prevent unnecessary re-renders in a React application? Discuss `React.memo`, `useMemo`, and `useCallback`.
#Performance
#Hooks
#Re-rendering
Frontend Engineer
•
Technical
•
medium
Discuss the pros and cons of Server-Side Rendering (SSR) vs Client-Side Rendering (CSR). Why might Swiggy choose Next.js for its SEO-facing pages?
#SSR
#CSR
#Next.js
#SEO
Frontend Engineer
•
Technical
•
medium
What is Webpack? Explain how tree shaking works and how you would configure a project to ensure optimal bundle sizes.
#Webpack
#Bundling
#Tree Shaking
#Performance
Difficulty Radar
Based on recent AI-sourced data.
Meet Your Interviewers
The "Standard" Interviewer
Senior EngineerFocuses on core competencies, system constraints, and clear communication.
SimulateUnwritten Rules
Think Out Loud
Always explain your thought process before writing code or drawing architecture.