Status: Masters student in CS at a mid-level university
YOE: 1.5 years before masters
Phone Screen: Some questions from resume + 1 technical question about tree traversal
On-site interviews:
Round 1: System design
Design an API throttle system (which should be highly available and scalable)
Round 2: Object oriented design
Two questions
a. Write code to implement a singleton design pattern( while doing this question I realized that Python doesn't have private constructors, and you can't just create a singleton class like you would in some other object-oriented languages).
b. Write code to design a chess-game
Round 3: Algorithmic round
Question about graph traversal
Round 4: Algorithmic round
Again question about graph traversal (BFS/ DFS kind of question)
There were behavioural questions in all the rounds about projects and works on my resume and few hypothetical ones as well. And they cared a lot about whether my coding solutions are thread-safe or not. All of the coding were white-board coding.
Overall, it was a fun experience for me. I enjoyed and learnt a lot from them. They were super nice and experienced people and treated me very well.
I did pretty well in all the rounds except for the 2nd round( I guess). But it felt more like a discussion with a senior team-mate rather than a straight-face-interview.
Suggestions:
Preparations:
I hope this post helps people who have upcoming interviews. Good luck!