Summary
I interviewed for a Senior Software Engineer (Backend) role at UrbanPiper, which involved 5 rounds covering manager introductions, LLD, DSA, HLD, and a final managerial discussion. Ultimately, I was deemed fit for an SE (Backend) role but rejected for the SSE position.
Full Experience
I recently had an interview experience for the Senior Software Engineer (Backend) role at UrbanPiper. The process consisted of 5 rounds.
Round 1 – Manager Intro
This was an introductory call with the engineering manager. We discussed my previous work, projects, and overall experience. The conversation primarily revolved around the kind of work I've done and my specific roles in current and past projects.
Round 2 – LLD (Outsourced to GeekyAnts – AI Interview)
For this round, I was tasked with designing a Cart Management System. The problem focused on the core cart flow, including adding and removing items, managing quantities, and handling pricing. The interviewer emphasized class design, relationships between components, and the extensibility of the system.
Round 3 – DSA / Coding
This round involved a few basic Python coding questions, followed by one main Data Structures and Algorithms problem.
The problem required me to find the area of the largest square containing only 1’s within a given M x N binary matrix. I recognized it as a dynamic programming problem, very similar to the well-known “Maximal Square” question.
Round 4 – HLD
The High-Level Design round asked me to design a system like Dropbox or Google Drive. Our discussion covered various aspects such as high-level architecture, strategies for storage design, metadata management, approaches to scaling the system, and ensuring data consistency.
Round 5 – Managerial Round
This was the final discussion, again with the same manager from the first round. It was a deep dive into my resume, focusing on production-level challenges I’ve solved and my overall technical ownership in projects.
Final Verdict:
I was considered a fit for an SE (Backend) role, but unfortunately, I was rejected for the SSE position I originally applied for.
Interview Questions (3)
Design a cart flow system that handles adding/removing items, managing quantities, and pricing. Focus on class design, relationships, and extensibility.
Find the area of the largest square containing only 1’s in a given M x N binary matrix. This is a dynamic programming problem similar to the “Maximal Square” question.
Design a high-level system for file storage and synchronization, similar to Dropbox or Google Drive. Discuss high-level architecture, storage design, metadata management, scaling, and consistency handling.