Online Codility Test (1 hour):
Q1: Similar to https://leetcode.com/problems/maximum-sum-of-two-non-overlapping-subarrays/
Q2: Similar to https://leetcode.com/problems/distribute-coins-in-binary-tree/
Coding, Problem Solving(1 hour)
Q1: Don't remember but it was LC medium, required prefix-sum
Q2: Similar to https://leetcode.com/problems/number-of-islands/
Q3: https://leetcode.com/problems/implement-queue-using-stacks/
Focus on -
- executable code
- explain time & space complexity
- edge casesLow level design( LLD) (1 hour)
class SytemCallback{
// func to be invoked after delay seconds by this function
void registerCallback(int delay, Callback func);
}High Level Design (HLD) (1.5 hour)
Time management is crucial. I sometime got stuck in one aspect of the problem.
Though the last design question didn't involved lots of system, but the interviewer kept adding new features during discussion.
While I personally avoid taking specific tech choice name like i would rather just say messaging queue than kafka.
But in this case interviewer wanted me to list different choices I was aware of and what would I choose.Techno Managerial round (1 hour)
Technical Questions was more focused on design aspects. In most of the discussions interviewer was deep diving into the keywords I was using to explain the projects.