Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike

in Interview-Experiences by Expert (30,360 points) | 613 views

1 Answer

0 like 0 dislike
Technical phone screen for Meta Machine learning engineer [Bay Area].

Initial contact and my background
Non-CS bachelor, 8 years-ish experience in both SWE / data science and ML roles, self-taught developer. Started my career in tech but for a big traditional tech-company doing consulting / cloud implementations, so no programming at all. Been at a mid-sized tech company for a couple of years in CA [Bay Area] programming.
Recruiter reached out on Linkedin for an MLE role at Meta, did initial call and asked for 8 weeks of prep. The recruiter was very nice and it was (at this point) a great experience. He emphasized that they'd rather you take your time and be prepared than rush something and fail which I truly appreciate.

I have been very "practical" throughout my career and for my side projects, so unfortunately I was missing (and still am to some extent but getting much better) theoretical background and skills both for DSA, operating systems and computer architecture as well as Machine learning and statistics and probability. So had a bunch of work to do.

Had around 8 weeks of quite intensive preparations (averaging maybe 1 - 3 hours a day), leetcoding and some general DSA on youtube and Coursera. Closer to the call I fully focused on Leetcode, given I had to go through the phone screen to even get to the onsite (where more focus would be on systems design + ML).

Some resources I used for patterns and DSA etc:
Cracking the coding interview [book]
A bunch of discussion threads here on Leetcode
Did a mock interview with Meta, which was 1 easy and 1 medium (on the easy side), both from FB top 100 list. Completed both optimally. I figured they want to go easy on the mocks since it's just for practice. It was def valuable, got some good feedback in the end, I had to kind of push for it though.
Crucial feedback here was "get faster to coding and get the code done." - relevant for the actual interview.

Also joined the webinar for MLE interview, which was OK but not much info that you can't find on their career site and on here in discussions and medium post about their process.

Started out immediately, he said his name, and then immediately asked "do you want to dive into coding?". I was expecting at least some introduction, but I guess if one gets 5 extra minutes, why not :)

1 easy, 1 medium from FB top 100:
1st question:
Finished it really quickly and explained my approach. Now to one thing I was not expecting (but perhaps should have), the interview asked follow ups on how to:

Run it on a GPU using a vectorized approach if possible?
If not, how do we parallelize it?
In addition to this there was quite a lengthy discussion on edge cases etc for a parallelized case, basically what happens if you have an early termination in your map-reduce if that is used ? etc. Unfortunately I didn't have enough experience to really do a deep dive into this (def the basics, but I didn't felt like they thought it was deep enough)
Probably took 20-25 min of this question, which was quite long I would have loved to get to the next one faster, but felt like the interviewer wanted to keep the discussion going.
[I was expecting follow ups, but just not maybe specific to distributed systems and rather a more difficult general case maybe of the question]

2nd question:
First thing that threw me was how he presented the question, it was basically a special data structure implementation (think min-stack, max-stack etc), and he just said, let's discuss how you would do this? I was confused thinking "he doesn't want me to implement this? never heard of that". Next thing that threw me was one minor detail I missed when going through it before when practicing. So when discussing it I suggested an approach very close to what would work, but the key insight was suggested by the interviewer (felt immediately, "damn this is probably it, rejection"). We discussed the solution a bit too long, probably 15 min, at which point he said: ok let's implement it. At that point it was just 10 min left of the interview and I had to rush it, and I didn't have time to finish it.

Conclusions and aftermath
Immediately knew after that I was going to be rejected, I wouldn't say I consider it a complete miss, because I "knew" both questions, obv not good enough. But one thing that hurt me was inexperience in interviewing, def faster to coding, better at driving the interview to a certain extent. Another thing is also when practicing, making sure one is not lazy; I'm sometimes fooling myself thinking I know the how why and what of a coding question here on leetcode, while in reality I might be missing smaller details that ends up being crucial. Especially when trying to explain to someone else, which is always when one finds the gaps in ones understanding.

It was a good experience for the most part. Unfortunately after the interview I didn't hear back from the recruiter. Followed up once after 3 days, then I followed up again after 7 days (email both times) didn't get anything back. Eventually on the metacareer page the "progress bar" just disappeared, so basically I got ghosted. I was hoping to at least get some feedback from the interviewer, to make sure I can improve for next time (even though I "know" why I was rejected it's always good to hear from them). But i guess there is also a lot of stuff going on at Meta these days, so I'm not too upset. Hoping to maybe re-apply end of next year or something depending on where I am.

I'm continuing to do leetcoding (solved around 450 ATM), and now after the interview I actually feel much better prepared than before. If I was studying for a test; if before I would have gotten maybe a D or maybe C I feel like now I'm closer to be able to get a B or B+ maybe.

Lol this was a long one! hope someone get's some value from it.
by Expert (30,360 points)