I started the process with an online assessment, which included a mix of data structures and algorithm problems—things like arrays, hash maps, and string manipulation. After passing that, I moved on to a technical task, which was a live coding session often referred to as a "shadow programming" interview. In this round, I had to solve real-time problems while thinking out loud and collaborating with the interviewer.
The final stage was the system design interview, where I was asked to design a scalable system from scratch, explaining my architectural decisions, trade-offs, and how I’d handle things like load balancing, caching, and database schema.