Initial Contact
In mid-February, I approached the recruiter via a cold email. After a few days, they reached out to me and sent an online assessment, which consisted of four LeetCode-style problems: one easy, two medium, and one hard. I solved three and a half problems successfully.
Phone Screening
Following the online assessment, the recruiter emailed me to schedule a phone screening round. During this 30-minute call, we discussed my previous work experience and resume. The recruiter also provided me with details about the hiring process.
Technical Interviews
After the phone screening, the recruiter sent me an email to book slots for two technical interviews. Each round had a single hard question with follow-ups spanning three levels. The main focus for these rounds was on optimization, factory patterns, and code readability.
Round 1
In the first round, the question was related to replicating a bank system, where I had to keep records of users and list out updates after given transactions, i solved all the levels in this round and the interviewer was pretty satisfied.
Round 2
The second round had a question on log parsing, where a log file for a multi-threaded operating system was provided, and I had to parse it based on given conditions, along with optimizing some given functions. I was able to solve 2 levels here but I got stuck on the last level and it took me a while to get the actual idea for the optimization and I ran out of time due to this.
Outcome
Unfortunately, I couldn't clear the last round. Nevertheless, it was a great discussion, and the preparation for these interviews significantly improved my code-writing abilities.