From failing all to my Willy Wonka golden ticket
Anonymous User
2357

tl;dr Do Leetcode as you would do for workout, daily and consistent. You know it and you should stop asking the same question everyone has already asked "How did you prepare?". This advise is for someone with a CS background. If you dont have it, you'll need extra work cause CS is definitely not as easy as coding bootcamps make it look like. One thing is coding, the other is understanding CS.

Hey all, I received a Facebook offer and I owe too much to Leetcode that I needed to give back so here it goes.
I'm going to start saying I have been to almost all FAANGs' (except Netfilx, but did others like Airbnb, Twitter, MSFT) offices for onsite, and failed all them with many bittersweet experiences. My journey started with Facebook and I was able to get to the MPK office and just fell in love with what a Tier 1 is, but of course I failed it (2 times FB fails before offer, 2 MSFT, 2 Google, apple, twitter, 2 amazon, airbnb, 2 linkedin, etc)

I have a bachelors and masters in computer science so I was pretty aware of al CS topics around interviews, data structures, big o, etc. I have been working on mobile development for around 5 years so that has been my focus most of the time.

Many many times I always got the feedback "You did fine, but just not good enough" and even had 3rd rounds with the same result, and many times me having to hunt the recruiter begging for more feedback, but you know how restricted they are on that. The feedback varied from technical, to design and from time to time the behavioral side.

I kept on thinking they were full of sh... specially as I was doing so well on my job and got promoted pretty often. Nevertheless, I kept trying as it was also helping me improve my own interview skills for recruiting people on my team.

Then, pandemic came. I had 2019 as a rest year for interviews as they were taking a toll on me, specially on my optimism and how I thought about myself. But, I wanted to start over in 2020 and it looked like it was going to be hard because of companies hiring less. I had already setup a plan where I would first go over some Algorithms course in coursera (did the Princeton ones, highly recommend them). I took them to get them fresh on my head (I rarely use them on my day to day). Then, I took a chance at reading Designing Data-Intensive Applications. I think this is a must for any SE nowadays unless you work on very very small projects, but this book has it all. I read it because I wanted to have a better understanding on bigger systems overall but not with the focus on design interviews as I intended to apply to mobile only positions from now on.

Next, the big step: Leetcode. I had no plans to interview soon so I had planned for around a year to prepare. For me, I was aware of how bad I choked during interviews even though I knew how to solve them, it was like having someone watching me made me stop thinking so I needed to up my game on this. I started with all the "Learn" sections from Leetcode, just completing them. I then ordered all problems by descending order of acceptance to try to solve the easiest most accepted ones (many times I felt down not being able to solve this by myself)....and then big papa Leetcode introduced the montjly challenge by the beginning of the pandemic, it was just on point what I needed. I did the daily one plus any other problems I gathered on my favorites from different posts on interview experiences.

This is my take on Leetcode problems:

  • I really really dislike companies asking these during interviews, but hey Thanks Gayle Laakmann? I understand the background behind it but more often I see unprepared people leetcoding hard, getting a job and just not even know how to do their job because IT'S COMPLETELY DIFFERENT TO WHAT THEY DID ON THE INTERVIEW...but it's the standard nowadays so gotta go with the flow.
  • Ok, so now off with the rant. You will feel miserable in the beginning with these problems (there are people really smart enough to crush these ffrom the beginning) or at least I did when some easy ones took over 30 minutes.
  • Dont look for the answers right away! Try as hard as you can fro at least 30 minutes then look up for an answer but dont copy it. Read it, understand it and write an implementation on your own.
  • Get a whiteboard or at least a notebook. Notes are your friend here and they will be onsite, maybe virtual onsites not too much, but still super helpful.
  • Do mediums and hards gradually depending on your timeline. You'll get there but the sooner the harder they will feel.
  • Treat this as a workout. Your brain needs training. So, daily training is essential just as you, hopefully, do with your body. My plan consisted of 1 hour daily, but then again I had planned for a year so i had plenty of time. I also had tons of work and didnt want this to become a burden to my life or work.
  • Didnt get premium, but might be worth if you know which company you're applying for

Now, for the actual interview:

I have to be honest I really dont recall the exact questions, but believe me, they where common for the company at that time. It was nice that I was also asked mobile coding stuff rather than all leetcodes. Again, I really dont recall the questions, no bs. Either way, dont think knowing the exact questions are as helpful as grinding leetcode.

The design question was also mobile, but I think you'll do a good job here if you have experience on apps that serve a big big number of users, maybe from another tier 1. Otherwise, you might have a good understanding of how mobile goes, but the scaling topics will be crucial here and I believe practice is important for this. You can still do a good job, but I know they are super picky on this. There was very little talk about the backend, it was mostly on the API to use.

All in, it has been a great experience overall and was able to meet people with way different backgrounds and thought processes.
I do want to high five Airbnb on their mobile interview process. I hope it's the same still as it was maybe 2 years ago, but man, everything was related to day to day duties, yo got a project, had to develop it, then find bugs, it was nice and only one leetcode throughout the whole day. * I failed this because I was stupid and underestimated time

Thanks for reading my drama story, but I wanted to give back and give hope to people getting stressed in the process

p.d. Please, dont jump into SE interviews out of your field without preparing really well for them. I used to go for general SE interviews coming from mobile and the design phases always crushed me cause I only know the basics of balance loaders and caching, etc, but you'll be asked way more deep things. If you do, read the book I mention above.

Comments (5)