Meta E6 | Offer
Anonymous User
11299

Giving back to the community.

I really found a lot of encouragement from reading through other's experiences, so I hope this helps! Will try to check back and answer questions if appropriate

Best of luck everyone!

Overview
I recently cleared the Meta E6 loop for machine learning. Sharing my interviewing experience here to help other aspiring engineers and data scientists. I consider myself a novice to SWE-type interviews. However, I was able to pick up the necessary skills through practice and study over the time frame of 4-5 months. (3-4 months on DSA, 2-3 weeks on behavioral, 1 month on ML Design).

tl;dr

  • Coding - Practiced top tagged questions. Repetition of similar question families (e.g. sliding windows, arrays, graphs / trees, stacks, binary search)
  • ML Design - Read company blogs (EvidentlyAI), medium articles, and papers. You must have a good structure for this interview so that you can showcase your knowledge and experience. I view this almost as another set of behavioral interviews (Cracking the MLE Interview by Bharathi Priyaa and (Patrick Halina's System Design Guide) do a good job explaining these concepts in detail
  • Behavioral - Carefully think your experiences and what aspects each story highlights. Instead of mapping from questions to answer, I preferred to map from my experiences to questions with additional details within each story. I would add details depending on which aspects I wanted to highlight for each question. E.g. Tell me about a time when you had a conflict -> Think about what traits I wanted to highlight -> Set context for scenario A (set the context) -> Detail A.1 -> Detail A.2 -> Resolve A with impact of those actions. This is what worked best for me
  • Be lucky

Coding Sections:

I followed a pattern of Clarify -> Explain -> Code -> Validate (CECV). Make sure to engage your interviewer at each step. Being perfect is not necessary, but you want to show initiative and that you're a pro-active communicator / debugger at each step

p.s. (would greatly appreciate if someone else could link to the exact questions as I no longer have premium / feeling lazy atm). Also had to remove direct links to external resources

Mock Screen:

  • Alien dictionary
  • Trapping rain

This was my first ever DSA interview, so I was extremely nervous depsite this being a mock. However, my interviewer was great. He saw that I was nervous and helped me re-focus on the 1st question. With nerves out of the way, I was able to solve both questions, though not necessarily optimally (e.g. Trapping rain has a more memory-optimal solution than what I implemented).

My feedback was positive for communication and problem-solving (a pass essentially), but the interviewer did recommend that I continue practicing my coding so I could be faster.

With that feedback in mind, I pushed out my initial phone screen by another 2-3 weeks to give myself more time to prepare. During this time, I kept on practicing the mock format (CECV), while training to be faster at common patterns. To improve in coding style, I would use chat-gpt and read editorial solutions to see if there were ways I could simplify my logic and make it easier to write.

Phone Screen
For senior interviews, there is a behavioral section as well as technical section. It's a bit distracting to have the technical section looming over the behavioral, so I wasn't too focused on what I was saying. I was fortunate in that my interviewer was a compassionate person and he filled in the blanks where I didn't elaborate well.

  • Digit subtraction (minus 1) given an input array
  • Simplify intervals (express consecutive intervals as a string expression given an array of integers)

Both of these were conceptually easy, and I just had to be careful with a few edge cases. I came up with a trick for the 2nd question that eliminated most of the edge cases. The interviewer seemed happy with it even though it wasn't necessarily the most efficient. I asked if he wanted me to improve upon it in code, but he was satisfied. We ended early and I had more time to ask him questions.

More prep

I scheduled my onsite to be another month. I wanted to practice ML design especially, as I had bombed this section when interviewing at another company when I no idea what this round required. At first I was rather intimidated by how open-ended it was, but gradually I came to appreciate how this could also be leveraged in my favor. I began to think about it as an impromptu presentation (see Patrick's blog), and that informed the way I dug into each section.

On-site Rounds

2 ML design - The exact solution(s) matters less than your structure, reasoning, and logical flow. If you can navigate these elements well while engaging with the interviewer and responding to their questions and probes, you will do well. What questions? I got one very specific question based on the interviewer's domain that I adapted into a ML system, and one high-lvl design this type question based on my previous experience (recommender system)

On a tangent, one criticism I have of the Alex Xu book is that it felt a bit hand-wavey and almost everything became a DL based solution. I tended to focus more on other parts of the ML system, leaving the choice of model as a pick-your-own-ice-cream-flavor. Again, I think this highly depends on your leveling and previous experience (hence why it's behavioral as well as technical). If you're a DL person definitely focus on your strengths, but I was not

Behavioral - See tl;dr. I really got lucky here and got a great interviewer. This was potentially my weakest area based on prep experiences but from the onset the interviewer made me feel at ease. I felt we were able to have a open conversation about how I approached my work, team building, challenges & opportunities, etc

Coding

Round 1

  • Variation of palindrome (I didn't do well here in terms of coding style. My interviewer focused on ways I could simplify my logic. I tried my best to figure this out on my own, but he ended up providing his version and I saw that it was clearer)
  • Rotating Cypher (Same thing here, except I was asked to optimize for the memory of the keys. I didn't catch the hint entirely until when we finished the interview)

Coming out of this round I felt like I had done poorly in missing some of these practical improvements to my solutions. I rated my performance as the worst one of the bunch

Round 2

  • Variation of K largest
  • Variation of Maximal Spanning Tree (I think)

Almost fumbled this interview from the start due to nerves. However, got back on track and made all the changes that interviewer wanted / bonus attempts.

Overall, I thought my coding rounds were okay. I anticipated needing a follow-up depending on how the interviewer rated my 1st round performance

Hiring Committee Feedback

  • After I completed all my rounds (over the span of a month due to scheduling reasons). I heard back from HC fairly quickly -> Pass at E6 with no follow-ups (bit of a surprise)

Team-matching:

  • Can't share too much as this would give a lot away. But completing the loop is just 50% of the way there IMO. Make sure to find a team that's a good fit for your skills and can support your growth

E6 Initial Offer:
More than I deserve and less than what you might see online. Unfortunately for most of us, offer neogotation is yet another skill to hone

Comments (27)