Mobikwik SDE-3 Interview Experience| Java Developer | 5+ Years Experience| Rejected
Summary
I interviewed for an SDE-3 role at MobiKwik, completed a rate limiter design and TinyURL high‑level design in the first round and a digital wallet low‑level design in the second round, but was not selected.
Full Experience
Recently interviewed for an SDE-3 position at MobiKwik and wanted to share my experience with the community.
Round 1 (DSA + HLD)
The interviewer was extremely polite and made the discussion comfortable from the start. We began with a brief introduction and discussion about our backgrounds. The first problem was to design an In-Memory Rate Limiter. Before jumping into code, I explained what rate limiting is, its use cases, and different approaches such as Fixed Window, Sliding Window, Token Bucket, and Leaky Bucket. After discussing the trade-offs, I implemented the solution. Since I completed it in around 30 minutes, the interviewer moved on to an HLD question: Design TinyURL. We discussed URL generation, database design, scalability, caching, and handling collisions.
Verdict: Strong Hire
Round 2 (LLD)
This round was conducted by a Staff Engineer. We started with introductions and then moved directly to the problem statement: Design a Digital Wallet (similar to Mobikwik) using SOLID Principles. The focus was on object-oriented design, extensibility, clean abstractions, and code structure. I was able to design most of the solution and write the majority of the code, but I couldn't make the implementation completely runnable within the interview duration. During feedback, I was told that my fundamentals were good, but I need to spend more time strengthening my Low-Level Design skills.
Verdict: Not Selected
While the outcome wasn't what I hoped for, every interview teaches something valuable. This experience highlighted the importance of strong LLD fundamentals, especially for senior-level backend roles. Back to learning, improving, and preparing for the next opportunity.
Interview Questions (3)
In-Memory Rate Limiter Design
Design an in-memory rate limiter. I explained what rate limiting is, its use cases, and compared several algorithms: Fixed Window, Sliding Window, Token Bucket, and Leaky Bucket. After discussing the trade-offs, I implemented a solution that tracks request counts per client within a time window and enforces the limit.
Design TinyURL
Design a TinyURL service. The discussion covered how to generate short URLs, the underlying database schema to map short keys to original URLs, scalability considerations, caching frequently accessed mappings, and handling key collisions.
Design Digital Wallet using SOLID Principles
Design a digital wallet system similar to Mobikwik, applying SOLID principles. The focus was on object‑oriented design, extensibility, clean abstractions, and overall code structure for core wallet operations such as balance management, transactions, and user authentication.