← Interview experiences
ZGot the offer

Software Engineer at Zupee

Difficulty
Process took
2-3 Weeks
Rounds
3
Format
Remote
Applied via
Other

How it went

  • During coding interviews, narrate your approach step-by-step. It shows clarity of thought and helps interviewers understand your problem-solving process.
  • Zupee’s interviews challenge both your technical skills and your ability to explain complex ideas clearly. Don’t be afraid to dig deeper into your design choices and explain why you’re using a particular approach.

What they would tell you

  • During coding interviews, narrate your approach step-by-step. It shows clarity of thought and helps interviewers understand your problem-solving process.
  • Zupee’s interviews challenge both your technical skills and your ability to explain complex ideas clearly. Don’t be afraid to dig deeper into your design choices and explain why you’re using a particular approach.

How to prepare

  • The first round at Zupee required us to write code on paper, which can be tough. Practice writing code by hand, focusing on correct syntax, edge cases, and clean logic. It’s a great exercise in writing bug-free code under pressure and will help you be more mindful of the little details when you’re not in front of an IDE.
  • In the final round, I was asked to explain my project, how I built it, and how I would scale it. Be ready to discuss the impact your work had. This is not just about your technical skills, but also about communicating your problem-solving process effectively.

Round by round

  1. 1

    DSA Round90 min

    I had to tackle a few interesting problems during this round. First, I solved the classic Topological Sort problem by implementing it with both DFS and Kahn’s algorithm, which was straightforward once I broke it down. Then, there was a twist on the Two Sum problem. I used a hash map to efficiently find pairs, making sure to account for negative numbers and properly track the indexes for accurate results. The most challenging problem was an implementation-heavy task. It required me to write two full pages of code to implement a pretty complex piece of logic. A key takeaway from this round was that you should always be prepared to write clean, bug-free code on paper. Practicing writing code by hand is super helpful, as it forces you to think through syntax and debug without relying on a compiler.

  2. 2

    Technical Interview60 min

    This round was all about Dynamic Programming (DP). The interviewer wanted to assess how well I could understand and solve DP problems, especially since they’re key to tackling complex real-world challenges. Questions & Approach: DP on Grids (Iterative Approach) I jumped straight into the iterative approach, skipping over the recursive solution. While I did manage to make it work, I later realized that starting with recursion could have been a more intuitive first step before moving to the iterative solution. Medium-Hard DP Problem I broke this down by defining states and transitions, and after working through it, I arrived at the correct iterative solution. Additional Discussion: We also touched on some OS concepts and a bit of system design basics. I had the chance to discuss one of my previous projects, going over its architecture, the challenges I faced, and how I scaled it. Tip: DP problems can be tricky, so it’s important to get comfortable with the different approaches- recursive, iterative, and memoization. It’s especially helpful to practice grid-based DP problems, as they show up quite often in interviews.

  3. 3

    Project & System Design60 min

    This round was a mix of a project deep dive, a system design interview, and a DSA problem. I took the interviewer through the architecture of my previous project, explaining the design decisions I made and the scaling challenges I faced. The interviewer was really interested in how I would scale the system further and improve its performance. Next, we discussed the end-to-end architecture for a complex system, focusing heavily on scalability, resilience, and high availability. The interviewer kept pushing me to dig deeper into my ideas, asking about failover strategies and load balancing, which made me refine my approach further. The last part of the round was a LeetCode problem I hadn’t seen before. I initially provided an O(2*n) solution, but the interviewer pointed out that the optimal solution would be a one-pass solution. We discussed the time complexity trade-offs and worked together to optimize my solution. Be ready to explain your project end-to-end, it’s not just about coding, but about communicating the decisions you made, the challenges you faced, and how you solved them. For system design, make sure you focus on scalability and fault tolerance, as those are key aspects that interviewers look for.

What came up

MediumRemote0 1 years

A candidate-reported account, lightly edited. Interview processes change by team and date.

Sources