Current position: ML engineer
Experience : 2 years software engineering, 1.5 years in ML
Education : Masters in CS
Prep:
I started preparing for a google interview after I received a call from the recruiter.
I brushed up some basics here https://runestone.academy/runestone/books/published/pythonds/index.html.
I did CTCI problems on arrays, trees, graphs and DP.
Before my onsite interview, I completed 200 problems on leetcode:
60 - easy
120 - medium
20 - hard
Google
Position : SWE - (ML teams)
Location : Europe (Zurich/Munich)
Contacted by recruiter about 2 months back
Phone Screen 1
Time : 45 minutes
Question 1 : N-Ary tree deletion related question similar to https://leetcode.com/problems/delete-nodes-and-return-forest/.
Phone Screen 2
Time : 45 minutes
Question 1 : A non-overlapping subarray sum problem similar to https://leetcode.com/problems/maximum-sum-of-two-non-overlapping-subarrays/
Virtual Onsite
Interview 1 :
Graph DFS problem similar to https://leetcode.com/problems/all-paths-from-source-lead-to-destination/.
This round went very well and had a positive feedback.
Interview 2:
ML related questions on deploying ML models, my experience etc
Write an algorithm for train-test-split with some constraints.
This round went well and received a positive feedback.
Interview 3:
Behavioural
Went well, standard leadership questions
Interview 4:
Stack based postfix expression calculator, with lot of follow up and test cases. Similar to https://leetcode.com/problems/basic-calculator/
I came up with the solution, but took more time than expected to understand the question. As a result, did not have a clean enough code by the end. Not a positive feedback
Interview 5:
A question similar to https://leetcode.com/problems/add-bold-tag-in-string/ involved substrings and merge intervals.
Solved, Not a positive feedback - expected better test cases and faster code
Recruiter called me in about a week and informed me that they cannot move forward.