Position: Software Engineer with Mobile ML/CV Background (level is not mentioned)
Current Role: Computer Vision Engineer (Working for a startup in Bay Area with 1.5 yrs of experience )
Location: Bay Area
After the phone screening, I asked recuriter about the role/level, i.e., SDE1 or SDE 2. She didn't respond.
Onsite (6 rounds)
I met the recuriter 15 min before the Interviews. She said, that the interview is for SDE 2 & She also said, who is the bar raiser.
Round 1:
- About the current startup, my role etc.
- OO Design of a email client. I prepared system design, I didn't expect OO design.
Round 2:
- About the current startup, my role etc.
- Discussed about Ml Inference Pipeline etc.,
- Given an Array of numbers & a target value, return indexes of two numbers such that their Absolute difference is equal to target. I said brute force solution which takes O(n2) time. Then I started discussing using hash map. He asked me to wirte the code. After that, He asked me to find some edges cases, for those my code won't work. If found a edge case, the problem is I am using abs(array[i]-target) as key for look up. Interviewer said use array[i]+target or array[i]-target as look up, then I realised my mistake. He asked, how to solve if there are duplicates ?
- Basic DS questions: Array vs linked lists, hash set vs hash map & how do use pair (x,y) (x,y are integer) for a look up?
Round 3:
- He said about his work, his team at amazon 126 lab. He asked me about the current startup, my role etc.
Round 4: [Bar Raiser - online Interview]
- Interviewer has a 14 years of experince at Amazaon & he is not from 126 labs.
- He asked me about the current startup, my role etc.
- Tell me a time, when you delivered good quality to coustmer,
- After that their is some discussion about ML binary classifier & He asked me how did you choose thresolds?
I said I ploted ROC curve etc.,
- Given two date D1 & D2, find number of dates, months in between them
Ex: given JAN 18 2018 , MARCH 19 2018
Output: 1 day 2 months.
I started with counting number of dates & then converting back to date-month. He said don't make it complex, use basic arithmetic, write the code & don't worry about edge cases. I wrote the code. He asked to take some examples & go through the code. He asked about edges cases & said don't need to code. I said the method.
Round 5:
- About the startup, current role etc.
- How did you implement custom layer ( I did this at my current company & added to my resume).
- How to prune neural network?
- How did you deploy deep learning model on mobile phone ? ( I did this at my current company & added to my resume)
- Why Amazon?
- Why are you looking for new job?
- Tell me time when you disagreed with your manager?
- Tell me time when you had a conflict with a team member?
Round 6:
- Senior ML Engineer is good. He asked me about the startup , current role etc. He asked me about how to prune, compress neural network. About Tensorflow Lite etc,
- Now Software Engineer's turn, she seems to be like new grad. She is not able to under what I am saying & she is asking some weird questions., but senior ML Engineer was able to understand, but most of the time he was silent.
- https://leetcode.com/problems/first-missing-positive She asked to solve in linear time & using constant memory. I did this on leetcode long time ago. I coudn't able to recall the approach. she started giving hints & explained the process. Then she asked me to write the code. I toook other example & solved by hand. I worte the code. I did some mistakes & while I am trying to correct. Both Interviewers said, thats ok & time up. I prepared trees & graphs. but I didn't expect questions on Arrays.
After 4 days recuriter said, not going with me. she asked me to improve DS, Algo skills & have to wait for 1 year to reapply.