Various | Senior MLE | Remote | April 05, 2022 [4 Offers]
Anonymous User
2782

Intro/Prep

I started my interview process around 1.5 months ago due to Amazon's return to office policy. I've done many leetcode problems a few years back, but did maybe 5-10 to prep for interviews in the last month. I largely prepped system design by reading Designing Data Intensive Applications.

Personal Info
Asian mid 20s male (US citizen)
Seattle/Remote
L6 at Amazon
Masters in CS at T20 (ML)
4 YOE in FAANG and 0.5 YOE at a small start up

Interviews

Apple (ICT4)
Phone Screen: Product of massive sparse vectors (medium). Follow up was what if the vectors were dynamic.
Personal Evaluation: 6/7. Didn't account for concurrency for dynamic vectors.

Result: Passed on on-site interview due to no remote work opprotunities.

Meta (E5)
Phone Screen: Merge sorted interal of numbers (medium) and does an n sized array contain 1 to n (easy).
Personal Evaluation: 6/7. Non optimal solution for second question (my solution was sum).

ML1: Modeling matching and solve student dorm room assignment (hard).
Personal Evaluation: 7/7. Perfect matching and I solved room assignment by implementing a dual.

Design1: Design top 10 listened to songs (medium)
Personal Evaluation: 4/7. Missed a lot, but had a non-optimized working design.

ML/Design2: Design data injestion for Ring (medium).
Personal Evaluation: 5/7. Didn't know how to clean video data or check memory constraints.

Coding1: Intersection of linked lists (easy) and Minimum remove for valid parentheses (medium)
Personal Evaluation: 5/7. Barely optimal and partly pseudocoded solution for problem two.

Behavior Personal Evaluation: 6/7. Not a match for Facebook's idea of moving fast.

Result: Accepted E5 Offer, 220/200/50

Google (L5)
Phone Screen: Bypassed due to working there before and referrals.

ML1: Model matching and clean user motion tracking data to be trainable (medium)
Personal Evaluation: 6/7. Had to be reminded of LSTMs for model matching and corrected multiple times when cleaning data about syntax.

Design1: Extend a functional US google pay to work globally.
Presonal Evaluation: 5/7. Took the wrong approach at the start, but managed to correct it with a hint. I don't think I got the optimal solution.

ML/Design2: Design a model that trained on live data from multiple streams and pseudocode MapReduce for back prop (hard)
Personal Evaluation: 7/7. Solved both questions with about 5m to spare.

Code1: Number of times a substring occurs in a string (medium) and max number of duplicate substrings of size n (hard).
Personal Evaluation: 2/7. Optimally solved the first question, did not reach a solution for the second question.

Behavior Personal Evaluation: 7/7.

Result: L5 Offer, 220/150/35

Reddit (Staff)
Phone Screen: I forgot, didn't take notes. My impression was I barely finished but got the optimal solution.

Design1: Design a reddit chat server (medium)
Personal Evaluation: 6/7. Didn't dicuss in detail popular vs normal subreddit logic.

Coding1: Dijkstra's with walls (medium) and backtracking menu items (medium). Follow up repeat/non repeat items and most expensive combination.
Personal Evaluation: 6/7. Solved both optimally but needed a hint on backtracking.

ML1: Model matching and design parts that would go into training an anonymized ranking algorithm.
Personal Evaluation: 6/7. Perfect model matching, but didn't have time to fully complete design.

Behavior Personal Evaluation: 7/7.

Result: Staff Offer, 280/???/0

Databricks (Senior)
Phone Screen: Under NDA, but something with mountains and it being hard.
Personal Evaluation: 7/7. Solved with 10-15m to spare.

Result: Passed going forward as the process involved having a take home assignment.

Mid Sized Start Up (Principle)
Under NDA, but a phone screen followed by one coding, two design, and two behavior.

Result: Staff Offer, 240/???/0

Afterword

As reflected above, there were many times where I didn't get an optimal solution to or even have a working solution to a coding problem. I also needed hints on hard problems in both coding and design questions, and often had syntax errors. Despite all this, I got offers from every company for which I completed the interview process.

This I believe, is because although getting to a final working solution is important, clear and concise communcation of your thoughts are equally, if not more, important. Interviewers know when a question they ask is hard, and will grade appropriately. I believe there is no expectation to solve a LC hard with no hints.

Thus, I recommend interviewees not to just grind leetcode, but to practice mock interviews with peers. If you can't find a friend to do it, code out loud. Personally, I think to get into senior at FAANG, you don't need to be able to solve LC hards. That said, of course you should be able to crank out a LC medium solution in 20-30m. Most importantly, you need to be able to explore a breadth of ideas, convert those ideas to code, and clearly articulate your thought process.

Also, do yourself a favor and get competing offers, otherwise you'll be lowballed.

Comments (7)