B.Tech - NIT
Years of Experience: 2.5 yearsCurrent Role: Software Engineer at a FAANG-level company
How did I apply?
The recruiter directly reached out to me on LinkedIn. I was given an Online Assessment (OA) to be solved within 2 days. The
OA consisted of:
2 DSA Questions: One on linked lists and another on arrays, both of medium difficulty.
5 MCQs: Related to core technical concepts.
Two days later, the recruiter informed me that I had scored 94% on the OA and invited me to proceed with the phone screen rounds.
Phone Screen Rounds:
1st Phone Screen:
I was asked to solve a graph-based DSA problem similar to the "rotten tomatoes" problem. I discussed the approach in detail, implemented the solution, and successfully ran the code during the interview.
2nd Phone Screen:
In this round, I was given a medium-level DSA problem, similar to "finding the maximum rectangle in a histogram." I explained my approach, and after the interviewer agreed, I proceeded to code the solution. The code worked correctly.
After a few days, the recruiter informed me that the feedback from these rounds was positive, and they wanted to proceed with the next stage of interviews. They also shared a code repository that I needed to set up locally for use during the interviews.
Onsite Interview Rounds:
1st Round:
This was a 90-minute session that began with questions about my current project and the tech stack I’m using. The discussion then shifted to the provided code repository. The tasks included:
Implementing a new POST API: The API would save player details into a database. I was asked about the payload structure, error handling, and logging. I successfully implemented and tested the API using Postman.
Integrating an LLM API: I was given a URI and tasked with creating an API that would take a prompt as input, call the LLM API, and return the response. I implemented this as well and demonstrated it to the panel.
2nd Round:
This was a DSA-focused round. I was asked a problem similar to "next permutations of an array." I explained my approach, coded the solution, and passed all test cases provided by the interviewer.
3rd Round:
The first 30 minutes focused on engineering fundamentals and best practices. Afterward, I was asked to implement pagination on the GET API from the shared code repository. I completed the task and demonstrated the functionality using Postman.
4th Round:
This was the hiring manager round, lasting about 30 minutes. The questions focused on my day-to-day responsibilities, team collaboration, and cultural fit within the organization.
Outcome:
Two days later, the recruiter informed me that the feedback was not positive. I was told that the primary issues were related to the error codes I used and improper exception handling in the API implementations.
Reflection:
This experience highlighted areas for improvement in my error handling and API design practices. While I was able to complete most tasks successfully, the feedback emphasized the importance of attention to detail, particularly when it comes to handling edge cases and ensuring robust implementations. It was a valuable learning experience overall.