Summary
I had an interview experience with Nanonets for an SDE 2 role, which involved three rounds covering HM discussion, Low-Level Design (LLD) focused on an ATM machine, and High-Level Design (HLD) centered on scaling a service with downstream dependencies and request prioritization. Unfortunately, I was rejected.
Full Experience
I had an interview experience with Nanonets for the SDE 2 position. The process began with an HR call, followed by three technical rounds conducted one after the other.
The first round was a Hiring Manager (HM) discussion. We talked about my past projects in detail, and I had to answer cross-questions regarding some of them. We also discussed my career goals.
The second round was focused on Low-Level Design (LLD). I was tasked with designing an ATM machine.
The final round was a High-Level Design (HLD) challenge. The problem statement involved an application service that relied on two downstream services, each supporting different request rates. I needed to design a scalable system capable of serving different tiers of users (paid and unpaid), considering that synchronous requests should have lesser priority than asynchronous ones. Additionally, I had to ensure fairness and priority scheduling for API requests within the system.
Ultimately, my application for the SDE 2 role was rejected.
Interview Questions (2)
Design an ATM machine.
Your application service is dependent on two downstream services which support different rates. Design how we can scale our system that serve different tiers of users (paid and unpaid) and takes into consideration that synchronous requests have lesser priority than asynchronous requests. Also, how we can ensure fairness and priority scheduling of API requests.