Round-1: Bar-raiser
Was taken by an external vendor & was 1.5 hours long. Was asked everything, DSA+LLD+HLD.
DSA:
Climbing Stairs
Merge Two Sorted Arrays in Place.
LLD:
Library Management, Requirements were given in hand.
Had to define Entities, Relationships between them, APIs, DB Schema, Design Pattern usage.
(No coding was expected - surprised)
HLD:
Were few questions like splay tree, indexing etc.
Round-2: CV & DSA round:
Was grilled on my CV, why's and how's for each thing i had written in my CV. Follow ups for decisions etc.
For DSA, it was a simple question: Implement a load balancer. Was given quite a few follow ups as well like how would make it thread safe, memory efficient etc.
Round-3: LLD
Was asked to design meeting scheduler.
Needed to define functional non functional requirements.
Entities, Relationships between them etc
DB Schema for them as well.
Once this was done, we moved to coding.
Was asked to code only the core method to schedule a meeting and schedule meeting in recurring fashion like each friday and stuff.
Was asked to prevent double booking as well.
We talked about DB Locking, what all fields would be involved for it etc.