Ask Mentors Anything
Get your questions/doubts directly answered by our mentors. Let's get started.
Mentee Question
Which concepts of DSA are important for FAANG companies? Suggest some good resources to learn and practice DSA. Also Which kind of projects would help for FAANG companies and which is the preferred coding language for it?
Mentors Answer
Answered By Mentor Siddharth Pande
To answer your question in parts:
Theoretically all concepts are important when preparing for interviews for any company and not just FAANG companies.
In general the order of preparation can be: Time space complexity, Strings, Arrays, LinkedList, Recursion, Trees, Graphs and Dynamic programming.
Apart from this whenever preparing I have had the habit of going over Searching and Sorting(specially heap, merge and quick sort).
In my interviewing experience I have found that most of the companies dont go all in for Graphs and Dynamic programming, so I wouldn't stress a lot if I am not absolutely confident with these. However this is just based on my experience and its good to cover all aspects.
Regarding sources, my go to site was Leetcode for practicing and GeeksForGeeks for understanding specific problems. I have also found the book Cracking the Coding by Gayle Laakmann McDowell to be very helpful.
Regarding coding languages, there is generally no fixed language these companies look for, just that you should be able to write clean code in the language of your choice. Also any project that aligns with the role you are applying for, or showcases your design/ coding skills is always a good add-on to your resume. However keep in mind these are not necessary and DS-Algo and System design are the most important.
Please reach out if you want to deep dive into the above aspects.
Siddharth Pande
Senior Software Engi ...
Microsoft
Top Performing Mentors This Week 🔥
Loading...