Background:
4 years of Industry experience in Hardware Design; done some software and ML in my current job...
PhD from top 20 university (not CS)
Leetcode:
easy/medium/hard
471/952/381
Amazon (reject):
Contacted by recruiter for Applied Scientist Position; it had 1 phone interview, coding and ML basics, coding qq was:
https://leetcode.com/problems/find-median-from-data-stream/
I coded it up with a sorted list; got the onsite
Onsite: 3 ML rounds, 1 coding, 1 behavioral; coding:
https://leetcode.com/problems/reconstruct-itinerary/
Though it says medium, to me it was hard, I coded to some extend; if there were no loops my code worked.
They came back to me with the comment that my ML knowledge was not enough; thus a rejection.
Microsoft (offer):
Interviewed with 2 different groups for ML software engineer; each of them had 4 rounds, one was the famous coin exchange problem, the other one was something like course schedule 1 or 2, the rest, I dont remember the rest of the coding qqs; some of them was also ML knowledge; computer architecture, etc...
One was for Senior Software Engineer and one for Software Engineer 2; I got the latter. I'd aimed for a FAANG but still very good given that my title does not say Software at my current position. I have accepted the Microsoft offer.