Round 1: DS/Algo
Questions: Given a company's hierarchy graph with Employees and departments, I had to find the closest department between a list of employees. Working solution was required and I had to construct the dependency graph as well. The starting point was the company which had multiple departments and in the departments, there were multiple employees.
Follow-up Question
- What edge cases did you consider?
- How did you compute the time complexity?
Candidate's Approach
I gave the Lowest Common Ancestor (LCA) approach and ran the solution for multiple test cases. To make the approach more efficient, I proposed to store the paths from the root to the departments and just check which department the employee belongs to while getting the closest department. However, the interviewer insisted on improving the LCA approach without clarifying the specific issues.
Interviewer's Feedback
The verdict was NO Hire. The reasons provided were:
- No clarifying questions were asked.
- Edge cases like if the employee didn’t exist weren’t covered.
- Time complexity wasn’t computed correctly.
Round 2: HLD
Questions: Atlassian Tags management. The interviewer asked about API design, DB schema, microservices, and then moved on to a discussion on scaled-up systems. He inquired about which components can act as a bottleneck and how they can be scaled.
Candidate's Approach
The interviewer was a Principal engineer and handled the interview maturely. I discussed various aspects of the system design as prompted.
Interviewer's Feedback
The verdict was positive.
Round 3: LLD
Questions: Mobile Snake system design. The interviewer wanted to see the position of the head and tail in the console, and there were multiple requirements that needed to be implemented.
Candidate's Approach
I was a bit overwhelmed because I hadn't attempted this question before. I provided a working solution and was able to run all the use cases that were asked.
Interviewer's Feedback
The verdict was NO Hire. The reasons provided were:
- Unit test cases were not written.
- Exception handling wasn’t done.
- Corner cases weren’t covered.