Interview experience - Berlin
Nationality - Indian
Approached by recruiter over Email for Bolt, he was nice, guided me through all the interview process.
I had 3 round
I was able to do it in time, the interviewer was very nice and he was more interested in your approach than the result.
This too was cleared for me.
Question :
We want to build a small analytics system for fraud detection on orders. It needs to provide the following API:
/insertOrder(order: Order): void : add an order to the storage. The order can be considered a blob of 1-10KBs in size, with an orderId, beginTime and finishTime as distinguished fields.
/getLongestNOrdersByDuration(n: int, startTime: datetime, endTime: datetime): Order[]: retrieve the longest n orders that started between startTime and endTime, as measured by duration (finishTime - beginTime).
/getShortestNOrdersByDuration(n: int, startTime: datetime, endTime: datetime): Order[]: retrieve the shortest n orders that started between startTime and endTime, as measured by duration (finishTime - beginTime).
You are not allowed to use any external systems at all! So no MySQL, no Redis, no S3, etc. Just a bunch of machines in "the cloud", with disks and decent amounts of memory and compute.
**If you think about it, it’s asking you to design system like Cassandra without telling you ;) **
The interviewer was very nice, and very receptive of my ideas, he also pointed out flaws in my design while I was doing, which allowed me to correct the system immediately.
The interviewer told me that I did well and the system could not have been designed better, so I was very happy UNTIL next day I received the rejection email stating that my design skills are not up to the mark ☹
So when you prepare for design interview, be sure that you give the perfect answer right from the start.