Bar is high..Multiple tech rounds.Coding,Problem solving ,DS/Algo & System Design round.Need to have strong computer science fundamentals .Code should be moduler and all responsibilities shouldn’t be jammed in 1/2 classes. Basically they wanted this to be layered : dao layer, api layer like that.
Code must be working and demoable.
handle failures gracefully
Cover corner cases
Code must be extensible with minimal changes. So keep in mind the future requirements and use Interfaces and contracts wherever possible. You should be knowing SOLID principles and design patterns for this.