It is a follow up post on my Google’s Interview Experience. This is essentially a behind-the-scenes post.
Now that you’ve read my experience, let’s talk about the preparation now. Here’s my 2 cents and I hope you all can take something useful out of this article. Stay tuned to find out the most frequently asked topics along with some sample problems.
![](https://miro.medium.com/max/700/1*suglG3wrDZznChYIu7TbsA.jpeg)
The Dreaded Outset
“Where and how to start the interview preparation”, is a question often asked. Below is a list of topics you can follow to kick start your prep -
- Algorithm Analysis — asymptotic notations
- Searching and Sorting algorithms
- Algorithm Paradigms — Divide & Conquer, Greedy Technique, Dynamic Programming, Backtracking
- Data Structures — Array, List, Tree, Graph, Hash table, Stack, Queue
- Graph/Tree Traversals — DFS, BFS
Resources
Being a crucial step in interview preparation, it is one of the most frequently asked question.
The abundance of online resources/study material can be a double-edged sword. We’re often left confused seeing a plethora of information.
- If you are an absolute beginner, I’d recommend to start with — Introduction to Algorithms, CLRS. A book that will equip you with all the stuff listed above. GeeksForGeeks is another great resource
- Stop wasting time looking/asking for the best platform to embark on your coding journey. Just start with any of these — InterviewBit, LeetCode, HackerRank etc. You’ll figure things out along the way. * I practiced majorly on LeetCode *
- Explore LeetCode’s Discuss section
- Knowing others’ approach can help. * I especially used to refer votrubac, lee’s solutions to gain their perspective of the problem *
- Participate in weekly contests, mock tests etc. and more importantly track your performance and analyse the mistakes
- Check out some LeetCode solutions’ series on YouTube
Few Tips
- Start slow. Begin with Easy level problems. Build the habit of solving some problems regularly
- Don’t beat yourself up if you’re unable to solve them initially
- Try spotting patterns in similar kind of questions
- Take note of every new learning and expand your tool box
- DO NOT rush into submitting the solution. Dry run your code and think of edge cases. It’ll help in real interview settings
Competitive Programming …? ♀️
CP isn’t necessary but obviously good to have. I’m not a competitive programmer myself. You are ^only^ expected to have great problem solving skills, remarkable command of algorithms and data structures.
Hot Topics
- Binary Search - Work this out. Understand how and why Binary Search can be applied in such kind of problems. Refer to this amazing post
- Dynamic Programming - Try House Robber, Min Cost. See how does DP fit here
- Graph - Solve this (and this) Make sure to analyse time and space complexity of your algorithm
- Tree - Try this out