A recruiter contacted me in the first week of May via email.
Round 1: coding round
This round went well except for a small mistake in the first question; I did not add a check for negative values.
Round 2: Design round + coding There was a lot of discussion on design patterns. I was asked to design a Rate limiter. Coding: 1) Write a builder pattern example 2) Binary search in an array with unknown length
The interviewer did not agree with some of my explanations initially for design patterns, and I had to explain everything in detail. The rate limiter design discussion went really well; we discussed trade-offs on a few approaches and agreed on a solution.
Round 3: with the Hiring Manager who is the director for the hiring team. There was a lot of discussion on my current project and design-related questions. I was asked to design a Rightsizing system for AWS resources (based on my experience).
This was the best round for me; the discussion was really good. The interviewer appreciated the high-level design and DB schema, where I took care of future use cases.
I was surprised to see a rejection email from HR and am waiting for detailed feedback.