
Derived from 1 submission for ALL. Format details may vary across different teams or locations.
The candidate was rejected after the second round due to the assignment not meeting the expectations.
The first round focused on the candidate's background, database knowledge, and system design. The candidate was asked about their current role, a query involving a self-join, and an API design problem involving credentials, concurrency, and versioning. They were also questioned about the infrastructure used (Terraform), who manages it, scaling, the tech stack (Go language, framework), and the notification system, including priority, channels, and fanning out.
Current background and database knowledge
A query involving self-join on the table
API design problem involving adding or using credentials for a user, including complexities in concurrency, versioning at DB or row locks, or Redis lock at user level
Infrastructure used (Terraform), who manages it, scaling
Tech stack: Go language, framework
Notification system, priority, channels, fanning out
The second round involved a complex assignment focused on websockets, scheduler, and other advanced topics.
A very complex assignment involving websockets, scheduler, etc.