Update: I got an offer for a Microsoft L61 role after about 5 months of prepping and interviewing.
My background is in trading platforms. I built strategies for traders and also did some infra work where latency mattered a lot. I wanted to move to big tech to work on products at scale, to have a stronger name on my resume, and of course for the better pay :)
For prep I did the usual. LeetCode for DSA, mostly mediums, with the goal of finishing 2 mediums in 50 minutes while explaining my approach out loud, complexity included.
For system design I worked through an online course, on the free tier for the first few months and then on the paid tier so I could cover the more complicated designs. I also found that trying to recall a design from memory sticks better than rereading it over and over.
For LLD and behavioral I used other online resources. For LLD I concentrated on getting the classes, their relationships, methods and fields right, since interviewers usually don't ask you to implement every function, only the important ones.
For behavioral I put together 5-6 stories from my work experience, and also prepared answers on strengths and weaknesses. Nearly every question I got turned out to be a twist on something I had already memorized.
The process: I applied straight through their careers page and went through an OA plus 4 rounds.
-
OA: two medium problems, one a variation of Dijkstra's algorithm and the other a 1D DP.
-
Round 1, the screening: I was expecting DSA but got an LLD problem instead.
-
Round 2: LLD, then 2 medium DSA problems, then a few questions about the programming language. It ran 1.5 hours.
-
Round 3: HLD with the hiring manager of the team. The problem was about cutting costs across microservices that use API endpoints. It threw me off, but I still got some good points across, and the discussion was fine overall.
-
Round 4 (the AA round): behavioral plus HLD. HR told me it would be entirely behavioral and project discussion, and for the first 30 minutes it was. Then the interviewer gave me an HLD problem similar to a top-K system. We had a good talk about the DB schema, batching, caching, a partitioned queue, scaling, which database type to pick, aggregation and the SQL query.
All in all it went really well, apart from round 3, which was just okay. The interviewers were helpful and gave me hints in the design rounds.
A few tips for others:
- Be ready for anything in any round these days, even when HR spells out what each round will cover.
- Read the recent posts in the LeetCode discuss section to see what companies are asking right now. You may even find common questions for Microsoft teams.
- Stay confident and don't spiral. Talk through your thinking, because even if you never reach the right answer, your reasoning shows the interviewer how you solve problems.
Best of luck!
Discussion
Loading comments…