SDE 2 | Swiggy
SDE 2Swiggy SDE 1 Interview Experience | Dec25 | Backend Engineer | SDE 1 Interview Leetcode | Bangalore
SDE 1Swiggy SDE-1 Interview Experience | A Very High Expectation in LLD Round
SDE-1Swiggy | SDE-2 | Interview Exp | 4 yrs Exp
SDE-2Swiggy Interview Experience - Full Stack (SDE-2)
Full Stack (SDE-2)21 more experiences below
Summary
I interviewed for an SDE 2 position at Swiggy and was rejected after struggling with the Low-Level Design (LLD) round, despite performing well in the Data Structures and Algorithms (DSA) section.
Full Experience
Round 1 ) OA Round 2 ) DSA + LLD
DSA - Find smallest in rotated sorted array LLD - Parking Lot
Recieved a rejection mail after 1 week .
Verdit : Rejected , I have answered dsa very well . But I struggled in lld while corss questioning.
Interview Questions (2)
Find the smallest element in a rotated sorted array.
Design a Parking Lot system.
Summary
Applied through OA link, cleared all rounds including LLD and HM interviews. Final outcome pending.
Full Experience
I applied through an OA link provided directly by HR. The first round was an online assessment with three Leetcode medium problems. The second round focused on DSA and Java Springboot basics. The third round was an LLD round where I designed a cart with functionalities like adding items, payment, and discounts using the Strategy Design Pattern. The fourth round was an HM interview discussing my current project, SQL, and behavioral questions. The interviewers were supportive and engaged throughout the process.
Interview Questions (4)
Count the number of binary trees that can be generated by taking numbers from 1 to n. I discussed a brute force approach followed by a DP solution.
A problem involving a sliding window technique. The exact problem statement wasn't provided, but it was categorized as a Leetcode medium problem.
A problem requiring finding the shortest path in a graph. The exact problem statement wasn't provided, but it was categorized as a Leetcode medium problem.
An array problem related to finding the nth root. The exact problem statement wasn't provided, but it was categorized as a Leetcode medium problem.
Summary
I interviewed for the SDE-1 role at Swiggy, where I successfully navigated a DSA round involving optimizing a Codeforces problem and implementing a LeetCode DP problem. However, I was ultimately rejected after a challenging LLD round focused on designing and implementing Splitwise, where the expectations for completion within the given timeframe felt overwhelming.
Full Experience
I recently had my interview experience for the SDE-1 role at Swiggy, which consisted of two rounds.
1st Round – DSA (60 mins)
My first round was a 60-minute Data Structures & Algorithms session. I was presented with two problems. The first one was Codeforces 1133C, which I initially approached with a brute-force O(n²) solution and then managed to optimize to O(n log n) within 25 minutes. For the second question, 'Partition Array Into Two Arrays to Minimize Sum Difference' from LeetCode, I thoroughly explained my DP-based logic and proceeded to complete the full code in the remaining 30 minutes. This round concluded positively, and I was advanced to the next stage.
2nd Round – LLD (Design + Implementation) (60 min)
The second round was a 60-minute Low-Level Design session, which involved both design and implementation. It began with a brief 5-minute self-introduction. The interviewer then tasked me with designing and implementing a Splitwise application. I dedicated about 10 minutes to discussing the functional requirements and identifying the key objects necessary for the design. The interviewer was very keen on seeing the actual coding. I started sketching a UML diagram, but the sheer volume of requirements combined with the limited time began to make me panic. Despite this, I managed to start coding in VS Code and implemented partial functionality. However, it became clear that the interviewer expected a fully working application within the allotted time, which I couldn't deliver. Consequently, I was rejected after this round.
In my opinion, the LLD round was genuinely overwhelming, and expecting a fully functional Splitwise application complete with a UML diagram in just 45 minutes felt quite unrealistic.
Interview Questions (3)
Design and implement a Splitwise application.
Summary
I interviewed for the SDE-2 role at Swiggy and despite a good performance across all rounds (DSA, LLD, and system design), I was ultimately not selected due to switching companies within 3 months.
Full Experience
My interview process for the SDE-2 role at Swiggy was quite structured. It began with an Online Assessment (OA) where I tackled two medium-level coding questions focusing on Arrays, HashMap, and Sliding Window topics, both of which I solved within the time limit.
The second round was another Coding Round, where I faced two DSA questions. One was a medium-level coding question on finding the longest subsequence from a string, and the other was a hard-level graph problem involving finding the shortest path with 'k' hops. I implemented both solutions efficiently and made sure to discuss edge cases and possible optimizations.
Next up was the Low-Level Design (LLD) round. I was given the task to design a Cab Booking System. During this round, I covered all essential aspects: defining entities like Rider, Driver, Trip, and Cab; outlining core functionalities suchas booking, allocation, and ride status. I presented a class diagram, the overall system flow, and API designs. We also delved into scalability considerations and various edge cases.
The final round was with the Hiring Manager, which was a blend of system design and techno-managerial discussions. We discussed my previous projects in depth, covering design patterns I had used. The conversation also touched upon technologies like Kafka, Redis optimizations, and database internals. My thought process around scaling systems and handling bottlenecks was also evaluated.
Ultimately, the verdict was not selected. The feedback indicated that my performance was good across all rounds. The final rejection reason given was my decision to switch companies within 3 months of joining my then-current company. Overall, it was a good learning experience, and I found Swiggy’s interview process to be well-structured and balanced across DSA, LLD, and system knowledge.
Interview Questions (3)
A medium-level coding question on Data Structures & Algorithms, focused on finding the longest subsequence from a given string. This typically involves dynamic programming or a greedy approach.
A hard-level graph problem that required finding the shortest path between two points in a graph, with the additional constraint of needing to complete the path in exactly 'k' hops.
I was asked to design a Low-Level Design for a Cab Booking System. This involved identifying core entities like Rider, Driver, Trip, and Cab, along with outlining core functionalities such as booking, allocation, and ride status. I also presented a class diagram, the system flow, and API designs. Additionally, we discussed scalability considerations and various edge cases for the system.
Preparation Tips
My preparation involved a balanced approach covering Data Structures & Algorithms, Low-Level Design, and general system knowledge, which I found aligned very well with Swiggy’s structured interview process across various rounds.
Summary
I interviewed for a Full Stack SDE-2 role at Swiggy. The process included an online coding test, a JavaScript coding round, a System Design discussion, and a Hiring Manager interview, ultimately resulting in a rejection.
Full Experience
I applied for a Full Stack (SDE-2) position at Swiggy after seeing a Google Form shared by a recruiter on LinkedIn. With 2.5 years of experience in a service-based company, I was eager for this opportunity.
My journey began with an Online Test on HackerEarth. The task was to build a CRUD application, with a React frontend and a Node.js backend. I had three hours for this. I managed to get all frontend test cases to pass, but unfortunately, one backend test case failed. Overall, I'd rate the difficulty as medium.
A week later, I received a call from a third-party vendor, informing me that I had cleared the online test and would be proceeding to the first interview round.
Round 1 - (JavaScript, HTML, CSS) was conducted by an interviewer from the same third-party vendor. We started with a discussion about my projects. Following that, I was presented with an easy-to-medium level JavaScript coding problem that required the use of currying. I initially explained an approach, but while coding, I realized it wouldn't work. I quickly corrected myself and provided a working solution using currying. The interviewer was very supportive and even allowed me to debug with the console. The feedback was positive.
The very next day, the recruiter called to inform me that I had cleared the first round and would be moving on to interviews with the Swiggy team.
Round 2 – HLD + LLD started with a problem statement: designing 'Book Search functionality'. I followed a structured approach, beginning with requirements gathering, then moving into High-Level Design (HLD) discussions. We spent most of our time on HLD and didn't get a chance to dive into Low-Level Design (LLD). Towards the end, we discussed the frontend part, where I explained UI implementation, Server-Side Rendering (SSR), and CDN usage.
Again, the next day, the recruiter called to confirm I had cleared the second round and would be proceeding to the final interview with the Hiring Manager.
Round 3 – Hiring Manager was scheduled for an hour, but it started 15 minutes late. The recruiter had mentioned it would be a mix of behavioral and technical questions. It began with a few behavioral questions and some casual talk. Surprisingly, the round ended abruptly after only about 15 minutes. Despite answering all questions, I felt the brevity was unusual.
About two hours later, I received an automated rejection email. I'm unsure if the decision was predetermined given the short HM round, but overall, it was a great learning experience throughout the process.
Interview Questions (3)
The task was to build a CRUD (Create, Read, Update, Delete) application. This involved developing two separate applications: a Frontend using React and a Backend using Node.js. The time allotted for this was 3 hours.
I was presented with an easy-to-medium level JavaScript coding problem. The core of the solution required implementing the concept of currying.
The problem statement required me to design a 'Book Search functionality'. The discussion primarily focused on the High-Level Design (HLD) aspects, including gathering requirements and outlining the overall architecture. We did not delve into the Low-Level Design (LLD).
Preparation Tips
My preparation involved consistent practice of coding problems, which proved crucial for quickly identifying and correcting my approach during the JavaScript round. For the system design, I focused on a structured methodology for tackling HLD problems. I also gained practical experience by building a CRUD application, which was directly relevant to the online test.
Summary
I successfully navigated a three-round interview process for a Backend Engineer (SDE 2) position at Swiggy in July 2025, which included multiple DSA rounds, a system design round, and a behavioral bar-raiser, ultimately receiving an offer.
Full Experience
Swiggy — Backend Engineer (SDE 2) Interview Experience
Month / Year: July 2025
Position: Software Development Engineer II (Backend)
Background: ~3 years in a product-based company, Tier-2 college (2022)
Source
A Senior Talent Partner from Swiggy reached out on LinkedIn. I was scheduled for interviews. It was a three-round elimination track:
- Round 1: DSA buffet (multiple problems, one sitting)
- Round 2: DSA with a design mindset
- Round 3: Bar-raiser — project depth, architecture judgement, PRD→TRD thinking, and behavioural probes
Round 1 — DSA Buffet
Problem 1 — Number of Islands
Expectation (what they’re really checking):
Can you recognize a grid problem as a graph problem and quickly deploy a standard traversal with correct visited handling, full edge cases, and clean complexity analysis?
Problem:
Given an m × n grid of '1' (land) and '0' (water), count islands where connections are 4-directional (no diagonals).
How I recognized the pattern (my first 10 seconds):
- “Count groups in a grid” → connected components on an implicit graph.
- Node = cell, Edge = up/down/left/right adjacency.
- The move is flood-fill (DFS or BFS) from every unvisited land cell.
Mental map you can reuse:
- Reframe: grid ⇒ graph.
- Invariant: each land cell is visited exactly once; once visited, it never contributes to another island.
- Plan: scan → on
'1', increment islands and flood-fill to mark the entire component as visited.
Data structures and invariants:
- In-place marking: turn
'1'to'0'during traversal. - DFS recursion is fine for interview-scale grids; BFS queue if you want to avoid recursion depth.
Complexity:
- Time:
O(mn)— each cell processed once. - Space:
O(mn)worst-case recursion depth;O(1)aux if BFS with a queue size bounded bymn.
Where people stumble:
- Forgetting to mark visited → double counting.
- Accidentally allowing diagonals.
- Using an expensive
visited[m][n]array when in-place marking is possible.
Problem 2 — Count of Subsets With Given Sum
Expectation:
Correctly map to subset-sum, design a memoized recursion, and adapt when the interviewer changes constraints (negative numbers).
Problem:
Count the number of subsets whose sum equals target. Then extend to arrays that may contain negative numbers.
My thought process:
- Non-negative numbers: natural state is
(index, remaining_sum).
A 2D DP table works becauseremaining_sumstays within[0, target]. - With negatives:
remaining_sumcan go below zero and above target unpredictably, so array indexing fails.
Switch to hash-map memoization keyed by(index, current_sum).
Reusable mental map:
- Identify the binary decision per element: take or skip.
- Define a state that uniquely determines the future: index + sum notion.
- Attach memoization to that state.
- Reassess the state model if constraints change.
Complexity:
- Non-negative:
O(n * target)time/space. - With negatives:
O(n * sum_range)using an unordered_map.
Common pitfalls:
- Treating the negative case with the same DP table → invalid indices.
- Forgetting that the empty subset counts when
target == 0.
Problem 3 — Implement a Trie
Expectation:
Clarity on prefix trees, why isEndOfWord exists, and the difference between search and startsWith.
My thought process:
- Trie node must support branching; a single char + pointer = linked list, not a Trie.
isEndOfWorddistinguishes a valid word from “just a prefix.”
Mental map:
- Insert: walk or create nodes; mark end at the last node.
- Search: walk nodes; return
isEndOfWordat the last node. - StartsWith: walk nodes; return true if path exists.
Where people stumble:
- Returning true for
search("app")after only inserting"apple". - Overcomplicating the node structure.
Round 2 — DSA with a Design Mindset
Problem A — RandomizedSet
Expectation:
Engineer O(1) insert/remove/random by combining data structures and keep removal constant-time.
Reasoning:
- Uniform
getRandom()⇒O(1)indexing ⇒ vector. O(1)membership/index lookup ⇒ hashmap.O(1)remove ⇒ swap victim with tail, pop_back, update map.
Problem B — Minimum Days to Make Bouquets of k Adjacent Flowers
Expectation:
Recognize binary search on answer, write a feasibility check, and reason about adjacency.
Restated Problem:bloomDay[i] = day i-th flower blooms. Need m bouquets, each with k adjacent bloomed flowers. Return min day D possible, else -1.
My thought process:
- Reframe: “By day d, can I make ≥ m bouquets?”
- Convert each flower to usable if
bloomDay[i] ≤ d. - Count disjoint k-blocks in usable runs.
Key invariant:
Within a usable run length L, max disjoint bouquets = floor(L / k).
Algorithm:
- Early exit: if
n < m * k→ -1. - Binary search day range.
- For each mid day, linearly count bouquets; reset streak on unusable.
Complexity:O(n log D).
Common mistakes:
- Not resetting streak after counting a bouquet → overlaps.
- Skipping the
n < m*kearly check.
Round 3 — Bar-Raiser: Projects, Architecture
Goal:
Assess design judgement, trade-off clarity, and metric anchoring.
My chosen project: Kafka-backed Order Event Processor (Not writing the actual usecase here)
Context:
200k events/min; strict ordering per orderId; at-least-once delivery; idempotent downstream effects.
Story structure:
- Problem: Ordered, deduplicated event fan-out to inventory & dispatch.
- Constraints: Throughput, SLA (
<1s p95), ordering by key, back-pressure, visibility. - Decisions:
- Partition byorderIdfor sequencing.
- Redis idempotency keys.
- Two-tier retries; DLQ for poison events.
- At-least-once + idempotency over exactly-once for simplicity. - Operations: Deploy strategy, SLOs, dashboards, runbooks.
- Impact:
-40%missed updates,-300mslatency.
Behavioural Qs:
- Bias for Action: Thin TRD slice with feature flags to unblock.
- Dive Deep: Refactor if
≤30%cost of rewrite; else rewrite behind adapter. - Disagree & Commit: Accepted alternate sharding; optimized it later.
Technical Desgining:
- Extract explicit/implied requirements.
- Model entities, invariants, life-cycles.
- Define API contracts + idempotency rules.
- Design storage: partitioning, indexes, constraints.
- Decide consistency model.
- Plan observability (RED metrics, traces, logs).
- Scalability strategy.
- Operational readiness & runbooks.
- Stakeholder review & risk mitigation.
Verdict
Got the offer.
- Round 1: Speed + clarity in DSA
- Round 2: Feasibility reasoning + DS choice
- Round 3: Depth in design + behavioural alignment
Interview Questions (8)
Given an m × n grid of '1' (land) and '0' (water), count islands where connections are 4-directional (no diagonals).
Count the number of subsets whose sum equals target. Then extend to arrays that may contain negative numbers.
Implement a Trie data structure supporting insert, search, and startsWith operations, demonstrating clarity on prefix trees, the purpose of isEndOfWord, and distinguishing between search and startsWith functionality.
Implement insert, remove, and getRandom operations in O(1) time complexity.
bloomDay[i] = day i-th flower blooms. Need m bouquets, each with k adjacent bloomed flowers. Return min day D possible, else -1.
Design a system to process 200k events/min with strict ordering per orderId, at-least-once delivery, and idempotent downstream effects for ordered, deduplicated event fan-out to inventory & dispatch. Consider throughput, SLA (<1s p95), ordering by key, back-pressure, and visibility.
Questions asked include 'Bias for Action', 'Dive Deep', and 'Disagree & Commit'.
Describe the general process and considerations for approaching a technical design problem, including requirements, modeling, APIs, storage, consistency, observability, scalability, and operational readiness.
Preparation Tips
My preparation mantra for all three: know the pattern, explain the intuition, state invariants, and code cleanly while narrating trade-offs.
Closing Takeaways
- Pattern recognition beats recall. Name the pattern (“connected components”, “binary search on answer”).
- Name your invariant. It’s your correctness proof.
- Monotonicity is a superpower.
- Combine DS wisely.
- Own the why. Numbers without reasons are noise.
Summary
I interviewed for a Data Science Intern position at Swiggy on campus, undergoing resume shortlisting, Python/SQL screening, a technical deep dive into ML concepts, and an HR round where I discussed auto-search functionality, ultimately receiving a rejection.
Full Experience
So I am From an IIIT College so Swiggy came to My campus with Data Science Intern
So 1 st round of Resume ShortListing
2nd Round is an Interview Based on Python and SQL they have Given Two Question 1 is of Python and 2nd One is of SQL
3 rd Round is a Technical Interview with an Swiggy Data Scientist II role person as We have a Deep Dive into Core ML concepts in an Verbal Way examples with Regularization etcc and They Apprached Core Conepts with my projects
4th round is of HR Round, as the HR approached in an Hurry Mode and Asked a auto Search Functionality And I answered with saying use Prefix Trie and I explained the Apprach and At Last I have given a Idea to Implement it to find the customers genuine or not in Swiggy Dine IN Restaurant
At Last Rejection Mail and Mailed to the team to know what could be the feedback or any reasons for the rejection but no response
Interview Questions (1)
The HR round included a question about implementing an auto-search functionality. I discussed using a Prefix Trie (Trie) and explained my approach. I also provided an idea to implement this to identify genuine customers in Swiggy Dine-In restaurants.
Summary
I went through a hiring process for an SDE-2 Full Stack role at Swiggy. The process included an online assessment with two development questions, followed by a JavaScript coding and HTML/CSS concepts interview, which ultimately led to a rejection.
Full Experience
There was a Google form floating around on LinkedIn by Swiggy HR for SDE II Full stack Developer role. I filled out and received an email from HR stating my profile was shortlisted for the next stage of the selection process i.e. online test. I was instructed to complete the online test within 3 days.
Round 0 - HackerEarth Online Test (3 hours)
This was a long OA containing 2 questions focused on both frontend and backend-heavy development. In both questions, technical specifications, implementation details/rules, and testing/submission instructions were provided.
Question 1 - Build an API for a word game application in NodeJS, fetching from SQLite DB.
Question 2 - Develop a home inventory manager application using React with TypeScript.
I received a call from HR after a couple of days of taking the test, stating that I have cleared and moved forward to the interview stages. She gave the flexibility to choose a date/time that worked for me. Since my current week was packed, I requested to schedule the interview early next week.
Round 1 - JavaScript Coding and HTML CSS Concepts (1 hour)
This round was taken by InterviewVector on behalf of Swiggy. The title of the round was 'JavaScript Coding and HTML CSS Concepts'.
I was given one JS problem to build an OTP input component in 40 mins and use a platform like JSFiddle/CodePen. The functional requirements were bit too much even for an experienced developer to complete in such a short span, and top of that my speed is not that great, honestly. The last 10 minutes were for HTML/CSS conceptual questions, which I answered most. Regardless, I was not able to build all the features properly (there was a rendering/event listener issue which I could not debug successfully under pressure).
Later in the day, I got rejection mail with the following scope of improvement:
- Should practice more JavaScript-related problems and also work on debugging skills
- Learn about different UI events. Also, work on writing modular and scalable code.
Overall, a good experience and a chance to improve in future and bounce back stronger.
JS Question:
Build an otp input component
Input Fields:
- The component should have six individual input fields for the OTP digits (or customizable length).
- Only numeric input (0-9) should be allowed.
- Auto-focus on the next field after entering a digit.
- Automatically move to the previous field if the user presses backspace on an empty field.
- Provide a method for the user to paste the entire OTP, filling in the fields automatically.
Validation:
- Add basic validation to ensure all input fields are filled before submission.
- Provide real-time feedback if a non-numeric character is entered.
Accessibility: optional
- Ensure that the component is keyboard accessible (e.g., arrow keys for navigation between fields).
- Screen readers should announce appropriate input instructions.
Customization:
- The component should be flexible to support a variable OTP length (e.g., 4-digit or 8-digit OTP).
Error Handling:
- Handle any edge cases like handling rapid user inputs, invalid characters, or incomplete OTP submission.
Conceptual Questions
- Lifecycle methods in JS. How do promises work?
- Which CSS library would you use and why?
- When to use class selectors and inline styling in CSS?
- Explain the role of Content Security Policy in HTML.
- Role of event loop in JS.
- Difference between map and forEach in JS.
- What are some of the HTML errors that can negatively affect SEO?
- How does HTML remain compatible with different browsers?
Interview Questions (11)
Build an API for a word game application in NodeJS, fetching from SQLite DB. Technical specifications, implementation details/rules, and testing/submission instructions were provided.
Develop a home inventory manager application using React with TypeScript. Technical specifications, implementation details/rules, and testing/submission instructions were provided.
I was given one JS problem to build an OTP input component in 40 mins and use a platform like JSFiddle/CodePen. The functional requirements were bit too much even for an experienced developer to complete in such a short span, and top of that my speed is not that great, honestly. The last 10 minutes were for HTML/CSS conceptual questions, which I answered most. Regardless, I was not able to build all the features properly (there was a rendering/event listener issue which I could not debug successfully under pressure).
Input Fields:
- The component should have six individual input fields for the OTP digits (or customizable length).
- Only numeric input (0-9) should be allowed.
- Auto-focus on the next field after entering a digit.
- Automatically move to the previous field if the user presses backspace on an empty field.
- Provide a method for the user to paste the entire OTP, filling in the fields automatically.
Validation:
- Add basic validation to ensure all input fields are filled before submission.
- Provide real-time feedback if a non-numeric character is entered.
Accessibility: optional
- Ensure that the component is keyboard accessible (e.g., arrow keys for navigation between fields).
- Screen readers should announce appropriate input instructions.
Customization:
- The component should be flexible to support a variable OTP length (e.g., 4-digit or 8-digit OTP).
Error Handling:
- Handle any edge cases like handling rapid user inputs, invalid characters, or incomplete OTP submission.
Lifecycle methods in JS. How do promises work?
Which CSS library would you use and why?
When to use class selectors and inline styling in CSS?
Explain the role of Content Security Policy in HTML.
Role of event loop in JS.
Difference between map and forEach in JS.
What are some of the HTML errors that can negatively affect SEO?
How does HTML remain compatible with different browsers?
Summary
I interviewed for the SDE II Backend Engineer role at Swiggy in November 2024. The interview included rounds on Data Structures & Algorithms, backend concepts, project discussions, and low-level system design.
Full Experience
Nov 2024 | Role Like: Backend Engineer (Java, Spring Boot)
YOE: 2.5
Round 1: DSA + Backend (60 mins)
DSA Questions:1. Build tree from Inorder & Preorder
2. Longest valid parentheses substring (interviewer was a bit confused between substring vs subsequence)
Backend Questions:
- What is SOLID?
- What is DIP (Dependency Inversion Principle)?
- SQL vs NoSQL
- Spring Boot Questions:
- Different ways to autowire an object
- Spring IoC container
Round 2: Resume + LLD(60 mins)
1. Deep dive into past projects2. LLD: Design a Vehicle Rental System
Interview Questions (9)
Build a binary tree from its inorder and preorder traversal sequences.
Find the length of the longest valid (well-formed) parentheses substring within a given string.
What are the SOLID principles? Explain each principle in detail.
Explain the Dependency Inversion Principle (DIP).
Discuss the differences, use cases, advantages, and disadvantages of SQL and NoSQL databases.
Describe different ways to autowire an object in Spring Boot.
Explain the concept and functionality of the Spring IoC (Inversion of Control) container.
A deep dive discussion into past projects, likely covering design choices, challenges, and lessons learned.
Perform a Low-Level Design (LLD) for a Vehicle Rental System.
Summary
I applied through a Google form found on LinkedIn for an SDE 1 (Android) role at Swiggy, passed through multiple rounds including machine coding, DSA, and a hiring manager round, and received an offer of 28 LPA, which was ultimately rescinded due to my college dropout status.
Full Experience
Applied through some google form found in Linkedin.
Recruiter Call
- Recruiter discussed YOE, notice period, "Why do you want to join swiggy?"
- This was just a normal call to understand the motivation and the expectation.
Round 1 - InterviewVector
- This was a machine coding round.
- Interviewer asked me to create a library management application within 45 minutes.
- After successfully coding it we discussed approach and archetecture that I have choosen.
- For next 15 minutes he asked Android related questions.
Swiggy HR called and told I have passed this round and moved to the onsite rounds
Round 2 - PS/DS Round
- Interviewer introduced himself and told me to introduce myself as well.
- He explained that the interview will be in 2 parts, first 30 minutes is for DSA and the last 30 minutes for android.
- He first asked a very easy question (Haven't seen the question anywhere), I am able to solve it, but it took more time than I anticipated.
- I only got like 10 minutes for next question, and he asked the Edit Distance problem, and I haven't solved this previously so it took me 10 minutes to discuss my approach, but I couldn't code it due to time limitation.
- Next he moved to Android related question, I answered 80% of them.
Interviewer called after a week and told I got a "weak hire" and scheduled my next round
Final Round - Hiring manager round.
- We first introduced ourselves and started discussing my current role and responsibility.
- He then asked alot of questions from the Resume.
- Then he started to ask deep questions regarding Android and kotlin, Some topics he asked was: Extension function, dagger hilt, coroutines etc..
- Then at the final 10 minutes he asked me a leetcode question - Next permutation.
- I was able to successfully tell the approach to him, but didn't get the time to code it and interviewer told he had another meeting as well.
After 4 days HR called and told I passed all the rounds
I received a 28 LPA offer, but the HR didn't proceed further because I’m a college dropout and don’t have a degree.
Interview Questions (6)
Create a library management application within 45 minutes. After successfully coding it, discuss the chosen approach and architecture.
General Android related questions for 15 minutes.
The Edit Distance problem was asked. I spent 10 minutes discussing my approach but couldn't code it due to time constraints.
Android related questions for 30 minutes.
Deep questions regarding Android and Kotlin, specifically covering topics like Extension functions, Dagger Hilt, and Coroutines.
A LeetCode question: Next Permutation. I was asked to describe my approach.
Summary
I successfully cleared an off-campus interview process for a Data Scientist 1 role at Swiggy, comprising four distinct rounds: a coding assessment with DSA and Python fundamentals, an in-depth ML and statistics discussion, a challenging ML system design round, and a final behavioral hiring manager interview, ultimately leading to an offer.
Full Experience
My Interview Experience and offer (Swiggy Data Scientist 1 role)
Off-campus opportunity via referral. All of these were knockout rounds
1) Coding round:
- 1 hr interview with data scientist 2
- The coding-focused interview covering Python (functions, try-except, loops, decorators, multithreading), basic Pandas (like groupby), and SQL (including subqueries). It also included one DSA question—Stocks Buy and Sell (LeetCode, easy-medium level). Throughout the round, I was asked to explain my approach and reasoning behind each solution.
2) ML depth/breath round:
- 1 hr interview with senior data scientist
- The ML depth/breath round covered core statistics including mean, variance, central limit theorem, Type I/II errors, the reasoning behind sample standard deviation being σ/√n, and a proof for the variance of the sample mean. Probability questions were also asked. In data science, I was questioned on evaluation metrics like precision, recall, F1-score, ROC-AUC, regularization techniques, bias-variance tradeoff, and metrics for evaluating KMeans clustering. The deep learning section included CNN output size formula with reasoning behind each term (like why +1 is added), dropout behavior (including impact of stacking dropout layers vs placing dropout between layers), vanishing gradients in RNNs, and how LSTMs solve them.
P.S. This is just summary of second round. He dived deep into each concepts and created "what if" scenarios
3) Problem Solving round:
- 1 hr interview with Director Instamart (they were hiring for Instamart team)
- The Problem Solving round focused on ML system design, starting with a discussion on my past work, approach, and reasoning. I was then given real-world problems the team is working on. The first task was to design a solution for dynamically displaying filters based on the searched product. The second was to build a model to estimate delivery time, inspired by a Swiggy Bytes technical blog.
4) Hiring Manager round:
- 1 hr interview with Senior Manager Instamart
- It was a casual conversation focused on behavioral and situational questions, discussing how I relate to Swiggy's values. It was mostly informal with no technical questions asked.
Compensation details : https://leetcode.com/discuss/post/6740557/swiggy-data-scientist-1-bangalore-by-kus-fat9/
Interview Questions (7)
Implement the 'Stocks Buy and Sell' problem, typically found on LeetCode. I was asked to explain my approach and reasoning behind the solution.
Explain concepts such as mean, variance, central limit theorem, Type I/II errors, the reasoning behind sample standard deviation being σ/√n, and provide a proof for the variance of the sample mean. Also, answer general probability questions.
Discuss evaluation metrics such as precision, recall, F1-score, ROC-AUC. Explain regularization techniques and the bias-variance tradeoff. Describe metrics used for evaluating KMeans clustering.
Explain the CNN output size formula with reasoning for each term. Discuss dropout behavior, including the impact of stacking dropout layers versus placing dropout between layers. Describe vanishing gradients in RNNs and how LSTMs solve them.
Design a solution for dynamically displaying filters based on the searched product. This was framed as a real-world problem the team is working on, and I started with a discussion on my past work, approach, and reasoning.
Build a model to estimate delivery time, inspired by a Swiggy Bytes technical blog. This was framed as a real-world problem the team is working on, and I started with a discussion on my past work, approach, and reasoning.
Answer behavioral and situational questions focused on how I relate to Swiggy's values. This was mostly an informal conversation with no technical questions asked.
Summary
I successfully secured an SDE-1 offer at Swiggy in Bengaluru after 1 year and 3 months of experience, navigating through coding rounds, a system design challenge for a food-order matching system, and behavioral questions.
Full Experience
How It Happened
- Finding the Role
I spotted the Swiggy SDE-1 posting on LinkedIn—it mentioned heavy backend work on microservices, exactly my strength. I polished my resume and reached out to an alumni who referred me internally. - Interview Rounds
- HR Screen: Quick chat about my background and motivation for joining Swiggy.
- Technical Phone Screen: Two LeetCode medium problems (sliding window + graph traversal). I narrated my approach and handled edge cases on the spot.
- Onsite (Virtual):
- Coding Round: One hard DP problem and one medium tree problem. I drew the recursion tree on paper first, then coded in Java.
- System Design: “Design a food-order matching system.” I outlined services, databases, caches, and explained trade-offs for consistency vs. latency.
- Behavioral: Used STAR stories to describe a time I resolved a production incident under pressure and led a 2-member bug-fixing sprint.
- Negotiation
After the offer arrived, I asked politely if Swiggy could enhance the equity component or joining bonus. They raised the joining bonus from ₹1 L to ₹1.5 L and increased my equity by ₹3 L. - Why I Chose Swiggy
- Impact at Scale: The opportunity to work on services handling thousands of orders per minute.
- Learning Curve: A small, collaborative team meant more responsibility and faster growth.
- Culture & Benefits: Daily lunch vouchers and family health cover showed they value work-life balance.
Interview Questions (2)
Design a food-order matching system. I outlined services, databases, caches, and explained trade-offs for consistency vs. latency.
Describe a time you resolved a production incident under pressure and led a 2-member bug-fixing sprint. (Answer using STAR stories).
Preparation Tips
My Tips for Fellow Applicants
- Leverage Referrals: An internal recommendation can get your resume in front of the right people.
- Practice Explaining: For design rounds, sketch first—diagrams speak louder than words alone.
- Ask Thoughtful Questions: Show genuine curiosity about the team’s challenges and roadmap.
- Negotiate Confidently: It’s okay to ask for improvements on equity or bonuses—most startups have flexibility.
Summary
I recently interviewed for an SDE-2 position at Swiggy, which included an Online Assessment, a Data Structures & Algorithms round, a System Design round focusing on warehouse management, and a Hiring Manager discussion.
Full Experience
I recently applied for the SDE-2 role at Swiggy towards the end of 2024. With over 5 years of experience, I went through a multi-stage interview process.
Online Assessment (OA)
I don't recall the exact questions from this round.
DSA Round
This round involved two problems related to Lowest Common Ancestor (LCA).
System Design Round
I was asked to design a warehouse management system specifically for Swiggy Instamart. The discussion involved outlining APIs, database schemas, and sketching a high-level architectural diagram. A primary focus was on effective inventory management and ensuring data consistency across various integrated systems.
HM Round
This round consisted of discussions around different design patterns and further system design questions. We also had a healthy discussion about my current roles and responsibilities.
Interview Questions (1)
Design a warehouse management system for Swiggy Instamart. This should include:
- Designing APIs for various functionalities.
- Defining DB schemas for efficient data storage and retrieval.
- Creating a high-level architectural diagram of the system.
The design should specifically focus on managing inventory effectively and ensuring data consistency across different integrated systems.
Summary
I recently interviewed for an SDE-2 position at Swiggy and successfully cleared the first round, which involved solving two LeetCode problems within the allotted time.
Full Experience
I recently appeared for the Swiggy SDE-2 interview, specifically for Round 1. I was presented with two coding questions, for which I had 25 minutes each. I was able to successfully solve both problems and felt it was a good experience overall. Based on my performance, I have been selected to proceed to Round 2, which will focus on Low-Level Design (LLD).
Interview Questions (2)
In a gold mine grid of size m x n, each cell in this mine has an integer representing the amount of gold in that cell, 0 if it is empty. Every time you are in a cell, you will collect all the gold in it. You can move from your current cell to an adjacent cell (left, right, up, or down). You cannot visit the same cell more than once. Never visit a cell with 0 gold. Return the maximum amount of gold you can collect.
Summary
I successfully navigated the SDE Intern interview process at Swiggy, starting from an online assessment and progressing through multiple technical rounds, ultimately securing a full-time offer after converting my internship.
Full Experience
I applied for the SDE Intern position at Swiggy by filling out a Google form circulated on LinkedIn by Swiggy employees, and I also shared my resume with some of them. Shortly after applying, I received an email from HR inviting me to an Online Assessment (OA) scheduled for the same day. The OA, conducted on Hackerrank, consisted of medium-difficulty questions primarily focused on greedy algorithms and dynamic programming. My friends, who also took the OA, encountered standard medium-level graph problems.
After successfully clearing the OA, I was contacted by HR for the first interview round. This round was with an SDE-1 and was structured into three parts: an introduction and a discussion about my projects and previous experiences, core subject questions on MongoDB, a comparison between MongoDB and SQL, and ACID properties, followed by two DSA questions on Greedy algorithms and Tries, along with a time and space complexity follow-up question. A key takeaway from this round was the importance of thoroughly understanding every data structure and its time/space complexity.
About 30 minutes after the first round, I received another call from HR confirming I had cleared it and would proceed to the second interview with the Hiring Manager. This round extensively covered my internship tasks, projects, and the APIs I had developed. It also included one DSA question based on BFS and Heaps, which was of medium to hard difficulty, and concluded with some situational-based questions. Soon after this interview, I received the offer for the SDE Intern role at Swiggy! This internship proved to be one of my best experiences, working for a top unicorn startup. After dedicating three months to working with Golang, Spring Boot, and Reactjs, I was delighted to receive a full-time offer from Swiggy.
Interview Questions (1)
I was asked questions about MongoDB, its differences compared to SQL databases, and the core concepts of ACID properties.
Preparation Tips
For the Online Assessment, I had limited time, so I focused on checking previously asked questions from the LeetCode Discuss section, GFG blogs, and Medium articles. I revised all essential DSA algorithms and important bookmarked problems. For the interview rounds, my preparation included studying core subjects, enhancing my skills, practicing important DSA questions, reviewing previous interview experiences, delving a bit into Low-Level Design (LLD), and thoroughly understanding my projects and internship tasks. Additionally, for the hiring manager round, I prepared for situational-based questions. My overall preparation strategy emphasized balancing DSA and development activities, participating in hackathons, internships, open-source contributions, contests, and daily problems. I ensured I had a solid grasp of core subjects, DSA, and LLD beforehand. I also made sure to know everything about my resume, as it is my identity in an interview.
Summary
I successfully interviewed for an Associate Software Development Engineer (ASDE) role at Swiggy in December 2024. The process involved a Hackerrank assessment, a technical backend assignment, an LLD round, and a Hiring Manager round, ultimately leading to an offer.
Full Experience
I am a 2024 passout from a Tier-2 college and currently work as a Software Engineer at a consultancy. In December 2024, I applied for an ASDE role at Swiggy.
My interview journey began with a Hackerrank assessment. This included two very simple DSA questions, two easy-to-medium SQL queries involving simple joins, and a few easy Computer Science fundamentals MCQs.
After the initial assessment, I filled out a Google form to apply and kept an eye on LinkedIn for updates. I then received a technical assignment. Since this was a backend-heavy role, the task was to build a simple attack/defend game. I had the flexibility to choose between Node, Java, or Golang for the implementation.
The next stage was my 1st Face-to-Face interview, which was an LLD Round. This round was conducted by a third party and felt more like a discussion than a strict interview. The interviewer was primarily interested in how I think, rather than just my coding ability. My task was to design a follow/unfollow functionality for a social media application. The focus was on requirement gathering, designing the database schema, identifying the necessary API endpoints, and determining their types (GET/POST/PUT/PATCH/DELETE). I was encouraged to think aloud and interact with the interviewer, without worrying too much about the actual code.
Finally, I had the HM Round (Hiring Manager). This round started with a resume screening. Following that, I was asked questions covering Computer Science fundamentals, including OS, CN, and DBMS. There was also one DSA question, which for me was Merge Intervals. The other questions asked were:
- Difference between Process and Thread? Why are they different? / Why do we require these differently?
- What is indexing? Why/Where is it used? How is it implemented? (I couldn't answer this one)
- Difference between TCP and UDP? Use cases?
- Difference between TCP and HTTP? Difference between HTTP and REST? What is REST?
Overall, things went well, and I was pleased to receive an offer from Swiggy.
Interview Questions (7)
Design and implement a simple attack/defend game using Node, Java, or Golang. This was a technical assignment for a backend-heavy role.
Design a follow/unfollow functionality for a social media application. The focus should be on requirement gathering, database design, identifying necessary API endpoints (specifying GET/POST/PUT/PATCH/DELETE), and discussing the overall system architecture.
The DSA question asked was Merge Intervals.
Explain the fundamental differences between a Process and a Thread. Discuss why these two distinct concepts are required in operating systems.
What is indexing in databases? Explain its purpose, common use cases, and how it is typically implemented. (The candidate noted they couldn't answer this part).
Describe the key differences between the TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) network protocols. Provide specific use cases for each protocol.
Explain the differences between TCP and HTTP. Further, differentiate between HTTP and REST, and provide a definition for what REST (Representational State Transfer) is.
Summary
I interviewed for an SDE 2 position at Swiggy remotely and successfully navigated multiple technical rounds, including coding and low-level design. However, despite a strong technical performance, I was ultimately rejected after an unexpected and confrontational interaction with HR regarding my application level.
Full Experience
My journey with Swiggy began with an online assessment, where I successfully solved three medium-level coding questions within the allotted 1.5 hours. Following this, I was unexpectedly scheduled for a PS/DS round for SDE 2, despite initially applying for SDE 1. I proceeded with the round, and the interviewer was very humble and polite. I tackled two medium-level questions, completing both with optimal time complexity, and received positive feedback the same evening, clearing me for the next stage.
The subsequent Low-Level Design round involved designing a services configurations updation system. My task was to define APIs, entities, establish a folder structure, and implement the system. I successfully met all the requirements, and this round went particularly well for me.
The turning point, however, came during the LLD interview when I casually mentioned applying for SDE 1 but interviewing for SDE 2. The next day, HR called me, and she was literally shouting, accusing me of being forced into the SDE 2 interview. This unprofessional interaction was followed by a two-week silence before I received a notification stating that I would not be moving forward.
Interview Questions (1)
Design a system for updating service configurations. This task required defining APIs, specifying entities, establishing a suitable folder structure, and implementing the solution.
Summary
I interviewed for an SDE-1 position at Swiggy in August 2024 and successfully received an offer. The interview process consisted of three rounds: Data Structures and Algorithms, Low-Level Design, and a Hiring Manager discussion.
Full Experience
Round 1: Data Structures and Algorithms (DSA)
This round lasted for an hour and focused heavily on data structures and their time complexity. The problems given were modified versions of standard LeetCode questions. I was asked to solve Valid Parentheses and Meeting Rooms. My approach focused on achieving efficient time complexity, ensuring I handled all edge cases, and selecting optimal data structures for the solutions.
Round 2: Low-Level Design (LLD)
The second round, also an hour long, was a system design interview. I was tasked with designing several APIs for Instagram, with a strong emphasis on scalability. Specifically, I had to design the Post API, GetFeed API, and Follow API. The interviewer focused on how my system would handle millions of users efficiently and quizzed me on database design. I also had to write a few SQL queries as part of this round.
Round 3: Hiring Manager (HM)
The final round was a conversational hiring manager interview, lasting an hour. This round primarily focused on behavioral questions to assess my team fit and collaboration skills. We had some time left at the end, and I was given another LLD problem to design a bike rental system.
Interview Questions (4)
Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.
An input string is valid if:
- Open brackets must be closed by the same type of brackets.
- Open brackets must be closed in the correct order.
- Every close bracket has a corresponding open bracket of the same type.
Design several APIs for Instagram, specifically the Post API, GetFeed API, and Follow API. The design should focus on scalability to handle millions of users efficiently. Discussions included database design and writing SQL queries.
Design a Low-Level Design (LLD) solution for a bike rental system.
Summary
I successfully cleared the Hackerrank screening round for the Swiggy ASDE role, which included problem-solving, frontend MCQs, and a practical React coding challenge.
Full Experience
Hi everyone,
I wanted to share my recent experience with the Swiggy ASDE role Hackerrank test. After being shortlisted through my resume, I received the test link and completed the assessment. Here's how the test was structured:
Test Structure:
- Total Questions: 13
- Adhoc: 1 question
- Problem Solving: 1 question
- HTML/CSS/JS: 10 multiple-choice questions
- React Coding: 1 question (using TypeScript)
Detailed Experience:
The Adhoc Question was straightforward, seemingly designed to assess basic logical and analytical skills. Following that, the Problem Solving Question involved a simple array manipulation problem, which I found quite basic and a relief to solve, restricted to JavaScript for coding.
The HTML/CSS/JS MCQs consisted of 10 multiple-choice questions, predominantly covering fundamental concepts and common scenarios in these technologies. These were generally easy.
The most engaging part was the React Coding Question. The task required me to complete several features for a movie website. Specifically, I had to implement a search functionality and a favorites table for movies that were fetched from an API. This challenge truly tested my understanding of React and TypeScript.
Verdict:
I am pleased to report that I cleared this round!
Overall, I found the test to be well-balanced and fair. The problem-solving and React coding questions were particularly enjoyable. For anyone preparing for a similar test, I'd strongly recommend brushing up on JavaScript basics, React fundamentals, and ensuring comfort with TypeScript.
Interview Questions (1)
The task was to complete some features for a movie website. Specifically, I had to implement a search functionality and a favorites table for movies fetched from an API. The challenge required a good understanding of React and TypeScript.
Preparation Tips
For anyone preparing for a similar test, I would strongly recommend brushing up on JavaScript basics, React fundamentals, and ensuring comfort with TypeScript.
Summary
I successfully navigated through Swiggy's SDE 1 interview process, which included an online coding test, a technical PSDS round, and a hiring manager round focusing on system design, ultimately leading to an offer.
Full Experience
My interview process for the SDE 1 role at Swiggy was structured into three distinct phases:
- Online Coding Test: This round consisted of three coding challenges: one easy, one medium, and one medium-hard problem. I performed well and received a positive response, advancing to the next stage.
- PSDS Round (Technical Discussion): This was a technical problem-solving and data structures round. I was given a problem involving currency conversion rates, which I solved using Golang. The problem required finding the conversion rate between two given currencies based on an array of direct conversion rates.
- HM-Round: The final round was with the Hiring Manager, focusing on System Design. We discussed Low-Level Design (LLD) principles, resilient system patterns, and concurrency concepts.
All three rounds were positive, and I successfully received an offer for the SDE 1 position.
Interview Questions (1)
You are provided with two parameters:
- An array of currency conversion rates. For example,
['USD', 'GBP', 0.77]means 1 USD is equal to 0.77 GBP. - An array containing a 'from' currency and a 'to' currency.
Given these parameters, your task is to find the conversion rate that maps the 'from' currency to the 'to' currency. The return value should be a number.
Example:
You are given the following parameters:
- Rates:
['USD', 'JPY', 110],['US', 'AUD', 1.45],['JPY', 'GBP', 0.0070] - To/From currency:
['GBP', 'AUD']
Find the rate for the 'To/From' currency. In this case, the correct result is 1.89.
Summary
I applied to Swiggy for an Associate Software Development Engineer role through a referral. After successfully navigating an online assessment and a low-level design assignment, I received an internship offer with a chance of full-time conversion, a detail that was only disclosed late in the process and caused some dissatisfaction.
Full Experience
I applied for an Associate Software Development Engineer (ASDE) role at Swiggy through a referral in late November. It took approximately three weeks to receive an email asking me to fill out a form with basic details like my resume, college, and CPI. Around two weeks later, on December 19th, I got another email stating my resume was selected, and I subsequently received a link for a Hackerrank test.
The Hackerrank test included:
- One database SQL query question, focusing on joins.
- One medium-to-hard coding question, which I recall being based on arrays and binary search.
- A few basic MCQs.
I managed to solve all these within 30-40 minutes.
A week after the online test, I received an email for Round 1, which was an assignment based on low-level design. The task was to design a playing arena where two players could fight according to a specified logic. I was restricted to using Java, NodeJS, or Go for the project. I completed the assignment using Java + Maven within a day and was quite pleased with the code I produced.
However, after submitting the assignment, I waited almost two weeks without further communication. I was really hoping for this opportunity. I subsequently received a call from HR. To my surprise, the role wasn't full-time as expected but a 3-month internship with a potential conversion to a full-time position. This was nowhere mentioned in the original job description, which I found to be a waste of candidates' time. HR confirmed my last round went well and asked if I wanted to proceed, mentioning an offer of 8 CTC for the internship (I assumed this meant 8 LPA, so 2 LPA for 3 months).
Interview Questions (1)
Design a playing arena where two players can fight based on given logic. I was required to use only Java / NodeJS / Go for this project.
Summary
I successfully interviewed for a Frontend Intern position at Swiggy in 2024 and received an offer. The process included an Online Assessment, a Machine Coding round, a PSDS round, and a Hiring Manager discussion.
Full Experience
I discovered on LinkedIn that Swiggy was hiring Frontend Interns focusing on React. After submitting my application through Google Forms and reaching out to SDEs and Managers, I received an online assessment link from HR.
Round 1: Online Assessment
This round comprised three sections. First, there was an easy Data Structures and Algorithms question involving Hashing and Arrays. Second, I tackled Multiple Choice Questions covering HTML, JavaScript, and CSS fundamentals. Finally, a React coding question required me to implement an API call and ensure all test cases passed.Round 2: Machine Coding Round (60 Mins)
The main task for this round was to build an autosuggestion input component in React, which needed to call an API based on user input. It was recommended to use CodeSandbox for this round. Afterward, the interviewer asked me about my past projects, previous internships, and fundamental React concepts. I tried to maintain a conversation throughout the coding, ensuring the interviewer understood my thought process and even asking for their suggestions.Round 3: PSDS (Problem Solving and Data Structures) (60 Mins)
As the name suggests, this round heavily focused on problem-solving and data structures. The questions primarily revolved around Arrays, Polyfills, Regular Expressions, Promises, Currying, Throttle, and Debounce. It's crucial to practice DSA in JavaScript for frontend interviews. Later in the round, we discussed our favorite tech stacks and libraries.After waiting for several days without an update, I suddenly received a call from HR for a Hiring Manager round scheduled for the same day.
Round 4: Hiring Manager Round
This round began with a general discussion where they briefed me about the project. The questions primarily focused on my resume, the projects I had completed, and the major challenges I faced. We also touched upon topics like deployment pipelines, Event Loops, React, and debugging.Later the same day, I received a call from HR confirming my selection.
Interview Questions (1)
The task was to build a dynamic autosuggestion input component using React. This component needed to fetch suggestions by making API calls based on the user's input and then display these suggestions effectively. I was expected to use Codesandbox for implementation.
Preparation Tips
Based on my experience, here are a few tips for preparing for frontend interviews:
1. I highly recommend focusing on HTML/CSS/JS fundamentals, as they form the core of frontend development.
2. It's beneficial to practice common Machine Coding problems in CodeSandbox before your interview, as most interviewers prefer this platform.
3. I found it helpful to try and maintain a good, technology-oriented conversation with the interviewer at the end, perhaps discussing favorite tech stacks or libraries (most SDEs appreciate this).
4. It's important to appear calm and collected, even if you're feeling nervous.
5. And sometimes, a bit of luck helps too!
6. Finally, it's crucial not to lose hope, especially given the current market conditions.
Summary
I have compiled a comprehensive list of interview questions encountered during Swiggy's onsite interviews for both SDE-1 and SDE-2 roles, covering a wide range of LeetCode problems and system design challenges.
Full Experience
I've gathered these interview questions from various Swiggy SDE-1 and SDE-2 onsite rounds. This collection provides insights into the types of problems asked, encompassing classic data structures and algorithms, with direct references to many LeetCode problems, as well as several conceptual and system design questions. It serves as a valuable resource for anyone preparing for technical interviews at Swiggy.
Interview Questions (24)
Given a stream of numbers, find the nth most recently recurring number. For example, if the stream is [1, 1, 2, 3, 2, 4] and n = 2, the output should be the 2nd most recently recurring number. This problem implies tracking both frequency and recency of numbers in a stream.
There is a new alien language that uses the English alphabet. However, the order among the letters is unknown to you. You are given a list of words from the alien language's dictionary, where the words are sorted lexicographically by the rules of this new language. Derive the order of the letters in this language.
This problem typically involves finding the maximum number of non-crossing bridges that can be built between two banks of a river, given coordinates for cities on both banks. It's a classic dynamic programming problem, often solved using a variation of the Longest Increasing Subsequence algorithm.
Design a Least Recently Used (LRU) cache. Implement the LRUCache class: LRUCache(int capacity) initializes the LRU cache with positive size capacity. int get(int key) returns the value of the key if the key exists, otherwise returns -1. void put(int key, int value) updates the value of the key if the key exists. Otherwise, add the key-value pair to the cache. If the number of keys exceeds the capacity from this operation, evict the least recently used key.
Given a number, find all possible numbers that can be formed using its digits which are greater than the given number. For example, if the input is 213, the output should include 231, 312, 321. This typically involves generating permutations.
Given a binary tree and a target value, find the node value in the tree that is closest to the target value.
Given a string S, a source array source, a target array target, and an index array indices. For each i, if the substring of S starting at indices[i] matches source[i], then replace that substring with target[i]. Otherwise, do nothing. Replacements are independent and should be performed simultaneously.
Two players take turns picking one element from either end of a circular array. The goal for each player is to maximize their own score. The problem asks to find the maximum possible gain for the first player and determine if the first player always wins.
Summary
I successfully interviewed for the SDE Intern (Frontend) role at Swiggy, which involved one technical round focused on frontend development and a machine coding challenge, ultimately leading to an offer.
Full Experience
My interview process for the SDE Intern (Frontend) role at Swiggy consisted of a single technical round, conducted by an SDE II. The entire round was heavily focused on frontend development, with no Data Structures and Algorithms (DSA) questions at all. We started with a brief introduction, followed by discussions about my previous experiences and projects.
The main part of the round was a machine coding question where I was tasked with developing a tic-tac-toe game for two players using React.js. The interviewer specifically mentioned that there was no emphasis on CSS, allowing me to focus solely on the game's logic and React implementation.
I received the offer letter about 2-3 days after the interview.
Note: I secured this opportunity through a referral from an SDE II, who coincidentally was the same person who interviewed me.
Interview Questions (1)
I was given a machine coding challenge: develop a tic-tac-toe game for two players. The implementation was expected to be done using React.js, and it was explicitly stated that there would be no emphasis on CSS, so the focus was purely on the game's functionality and React logic.
Preparation Tips
My preparation focused on being very sound with React.js concepts. Additionally, I ensured I was proficient with core JavaScript methods such as split, splice, map, and reduce, which proved useful for the frontend-heavy interview.
Summary
I interviewed for an SDE2 position at Swiggy in January 2022, facing multiple rounds including an Online Assessment, Machine Coding, PS/DS, and LLD. Despite successfully navigating the initial rounds, I was ultimately rejected after the LLD round due to negative feedback on my design.
Full Experience
My interview journey for the SDE2 role at Swiggy started with an Online Assessment that lasted 90 minutes. I successfully completed all three questions, which were based on Graphs, Dynamic Programming, and Strings.
Following the OA, I moved to Round 1: Machine Coding, a 2-hour session. I was asked to design the Splitwise application, incorporating different split types. I focused on designing the entities and services, ensuring all specified requirements were met. We also had a good discussion on potential extensions and various object-oriented design concepts.
Round 2: PS/DS was 1 hour and 20 minutes long. I tackled an easy stack-based question, followed by a medium-difficulty DP problem, which I solved within 30 minutes. The third question was a hard one, requiring concepts from both DP and graphs for an optimal solution. It took me a while to figure out the optimal approach, but the interviewer provided additional time as I was making good progress.
The final stage was Round 3: LLD, lasting 1 hour. This round began with a 20-minute discussion about my projects at my current company. The main design problem involved creating an application to gather data for Swiggy's offers and ads from various sources and transfer this information to internal teams. I found the question initially unclear and spent considerable time asking clarifying questions. As I started to write down classes, APIs, and the datastore schema, the interviewer continuously changed and added new requirements, which made it extremely challenging to finish within the given time. Unfortunately, I was rejected after this round due to negative feedback on my LLD performance.
Interview Questions (2)
Design the Splitwise application, specifically handling different split types. This involved conceptualizing all necessary entities and services to meet the application's core requirements.
Design an application responsible for collecting data related to different offers and advertisements for Swiggy from multiple external sources. The application should then interact with internal teams to facilitate the transfer and distribution of this gathered information.
Summary
I interviewed for an SDE1 Backend role at Swiggy in Bangalore during September 2021, and I successfully received an offer. The interview process was entirely virtual and spanned four rounds: an online assessment, a machine coding round, a data structures and algorithms round, and finally, a hiring manager discussion.
Full Experience
Application Process
I applied for the Swiggy SDE1 - Backend position in Bangalore through a referral. My professional background included over a year of experience as an SDE1 at a product-based company. The entire interview process took place virtually in September 2021.
Round 1: Online Assessment (1.5 hours)
This round was conducted on HackerRank. I successfully solved all three questions presented:
- A problem focused on determining the number of distinct subarrays that could be formed with at most a given number of odd elements.
- A question involving a number line from 0 to 'n' and a string of moves, where I needed to find the number of subsequences of moves that would lead from a given point 'x' to 'y'.
- A problem asking to select weights from a given list such that their sum did not exceed a specified capacity.
Two days after the online assessment, I received a call to proceed to the interview rounds.
Subsequent Rounds (Conducted on the same day)
Round 2: Machine Coding Round (3 hours)
The primary task was to design and code a multilevel parking lot system. Although I couldn't complete all the given requirements within the two-hour timeframe, the interviewer paid close attention to my design approach. We had a detailed discussion about my design choices and how I would implement the remaining features. Additionally, I was asked to code the Singleton design pattern, which led to a thorough discussion where I successfully answered all related questions.
Round 3: Data Structures and Algorithms (1 hour)
This round began with a brief discussion about the previous machine coding round. Following that, I was given a problem similar to LeetCode's Rotting Oranges. We explored numerous follow-up questions based on this problem.
Round 4: Hiring Manager Round (1 hour)
In this final round, we discussed a Data Structures & Algorithms question related to a parking lot system, though the specifics were not elaborated. The hiring manager also inquired about my current work responsibilities and asked me to explain one of my projects in detail.
I received the interview results approximately 4-5 days after the final round. I found the interviewers and HR team to be very friendly, and the overall interview process was remarkably smooth.
Interview Questions (6)
Determine number of distinct subarrays that can be formed having at most of given number of odd elements.
Given a number line from 0 to n and a string denoting sequence of moves, determine the number of subsequence of those moves that lead from given point x to end at another point y.
Given a list of weights select weights from the given list such that there sum does not exceed a given capacity.
Design and code a multilevel parking lot system. The interviewer looked into my design and asked about the design for remaining requirements.
Implement the Singleton design pattern and discuss its implications and usage.