Round 1: OOD/LLD
Questions: Given starter code of an OOD situation. Asked to:
- Understand the code
- Find bugs
- Remark on improvements
The code was written in Java. The interviewer provided hints and recommendations throughout the process.
Candidate's Approach
The candidate understood the syntax but needed help with specific Java methods. They identified issues in the code and discussed high-level design (HLD) and edge cases for improvements.
Interviewer's Feedback
The interviewer was supportive, providing hints and guiding the candidate towards the issues in the code.
Round 2
Questions: Specific question not provided. However, the problem was related to sorting an array by parity, as found here: Sort Array By Parity.
Candidate's Approach
The candidate quickly identified an O(N) space complexity solution and discussed how time complexity couldn't be improved but space complexity could be optimized using in-place movements. They coded the optimized solution and reviewed test cases.
Interviewer's Feedback
No feedback provided.
Round 3
Questions: Check if a number is a power of -2.
Candidate's Approach
The candidate discussed bit representation and the differences between checking for powers of 2 and powers of 4. They coded the solution but encountered bugs, such as forgetting to bit shift during the while loop and missing test cases for non-powers of 2. They managed to code a solution despite these challenges.
Interviewer's Feedback
The interviewer provided positive remarks on previous answers but left the candidate uncertain about the overall outcome, suggesting a potential early rejection.