There were three rounds in total. The first two were technical plus BQ, and the third was the hiring manager.
The first round was a system design question wearing a LeetCode costume: we have a very expensive service, how do I make it not expensive?
My approach: cache.
After writing the code I also had to write test cases, and after the test cases I had to write multi-thread test cases.
Then we got into a whole series of design questions, like whether this code still works if it is multi-threaded and, if not, what to do. Nobody said at the start that this had to be multi-threaded, so I was a bit caught off guard.
Second round: Design a chess game.
The BQ questions I got:
Describe an experience where you had to change direction under tight deadline
Introduce yourself
Describe when you had to change design
The third round, the hiring manager, asked a whole bunch of small scattered "system design" questions related to the day-to-day work of their storage team. For example, they have data plane hosts, so how do you patch a host without impacting customers, how do you reliably deploy bugfixes, how do you make sure newly spun-up hosts use the latest image, and so on.
Discussion
Loading comments…