Recently interviewed for an SDE-3 position at MobiKwik and wanted to share my experience with the community.
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.
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.
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. 🚀
#InterviewExperience #Mobikwik #SDE3 #Java #SpringBoot #BackendEngineering #SystemDesign #LowLevelDesign #HighLevelDesign #RateLimiter #TinyURL #DigitalWallet #SOLIDPrinciples #SoftwareEngineering #TechInterviews #CareerGrowth #LearningNeverStops