There were four tests total, in a format similar to a design question, but they weren't given all at once — it was level-up style. You only get the next question once you pass the test cases for the current level. The whole time you're required to share your entire screen, with camera and mic on.
I didn't manage to finish. I think the main difficulty was time management, and the fact that each time a new level opened up and added requirements, it could affect the data structures you'd already designed — if you were unlucky, you might need to redesign from scratch.
The problem was to design a bank system.
Level 1: just create an account, deposit and withdraw balance.
Level 2: count the top n users by amount withdrawn. This part was a bit of a trap — I created a new object myself, but didn't put it in the same class, I put it somewhere else, and it kept throwing errors saying it couldn't find it. The rewrite based on the new object also kept showing red underlines everywhere. I tried to debug and understand why it kept flagging red, and eventually ran it and found out it was actually just the site glitching — it could actually run fine, but I'd already spent too much time on it early on.
Level 3: added schedule payment and cancel. I ran out of time, so I only wrote something for the corner cases. The schedule payment input gave a timestamp and a delay, and required returning a string — basically concatenating accounts in order. Schedule payment also counts as a withdrawal, so it needed to update the previous top n users by amount withdrawn.
Discussion
Loading comments…