Preparation tips for interviews at FAANG

Vikas Sangle
Javarevisited
Published in
3 min readApr 6, 2021

Tips to use Leetcode effectively for getting good at DS/Algo for interviews:

  1. If starting from scratch, complete the top interview questions cards (Completing Easy and Medium is a must and do at least 50% of questions from Hard level question).
  2. Filter questions topic by topic and solve most solved questions. Make sure to do at-least 4 questions (1 easy, 2 medium, 1 hard) in each topic.
  3. Try to find patterns for similar questions(backtracking, BFS, DFS, sliding window) and create templates for them.
  4. While practicing data structure topics, understand the standard data structures (Heap, Trie, DSU, Segment tree etc) properly and make sure you can code them without any runtime or compile time errors.
  5. Always make sure to go through the leetcode discuss even if you were able to solve the question, see if you can make your code cleaner.
  6. Don’t think that you’ve mastered a pattern/topic by thinking you have solved “N” questions from that topic unless you can write code for new questions in that topic without any debugging. (few compiler errors are still okay though try to reduce them too).
  7. If you are not able to move ahead with a problem, come back to it a day later. If you still don’t know how to start, look at the solution from discuss section. Don’t code it though. Come back to question after 4–5 days and now solve it without looking at the solution.
  8. Participate in weekly contests and get a sense of your preparation with unknown questions.
  9. [Optional] Get premium subscription to target specific company tagged questions. Just a month should be enough. (Either pay for it or do what I did — find a bug in their website and use the leetcoins they award for it to buy premium. JK, don’t actually spend time on finding bugs that’s not your goal here).
  10. Take at least 5 mock interviews and if you are not able to get to solution see if you are able to catch the hints the interviewer is giving. Use PRAMP

How to prepare System Design:

  1. System design primer — it’s like wikipedia, start from here but don’t end here if you want to master system design interviews.
  2. Use Educative— it saves a lot of time with standard questions.
  3. Go through the blogs of the companies and conference videos. Here’s a reference for a useful youtube channel like this.
  4. Go through the architecture of few open source projects (Kafka, zookeeper, Cassandra) and understand how they work, try to find how they achieve consistency, high throughput etc. in distributed environment.
  5. Practice for famous problems like Design Twitter, Uber, Instagram etc. Make your own solutions and also make sure that you can draw and explain it in 40–45 minutes from HLD to one or two of its components.
  6. Take at least 3 mock interviews with well known problems. (you can use PRAMP).

Thank you for reading. I’m Vikas Sangle and I’m a Software Engineer interested in the field of Cloud and Machine learning. If you liked the article or have any doubt(s) about anything, feel free to connect with me on linkedin .

--

--