Recently had a chance to interview for google for L4 role.
Recruiter reached out on linkedin and gave 1 month for preperation, shared some resources(neetcode, etc)
R1: Phone screen
Asked a question based on intervals. Solved using 2 pointers+ set. Cant find the exact question but was something like merge and group intervals
R2: Onsite 1
Asked a standard dfs/union-find question. Follow up was to optimize input so that improves complexity.
Received good feedback for both rounds
Went downhill from here.
R3: Onsite 2
Asked some question like task scheduling, wanted to handle concurrent scenarios using multi-threading, semaphores, etc. Had to ask almost all syntax from interviewer. Somehow managed to complete.
Was told by recruiter only DSA questions will be asked so was a bit surprised
Told recruiter being a frontend interviewer, I am not very comfortable with C++ multithreading, only use it for DSA.
Recruiter then asked to change my language to JS for interview
R4: Onsite 3
Asked a question, the crux of which was like insert intervals and find value. Seemed like merge interval+ binary search so implemented that approach. Interviewer said can be optimized furthur - i said maybe we can use bst while handling merge scenarios, etc, Wasnt able to implement the tree based solution correctly in time.
Recruiter said it was no hire for R3 and okay okay for R4 so they wont be moving forward.
Overall the interview experience was good, u get timely feedbacks, enough preperation time. Takeaway was to think about all optimized solutions before starting implementing.