Post

How to prepare for a Google interview?

 NVIDIA RankRAG

How to prepare for a Google interview?

Here’s the answer to the no. 1 question in my DMs right now:

For internships and entry-level roles (L3), Google typically conducts 3-5 coding rounds followed by 1 round focused on Googleyness.

To ace a Google coding round, one needs to be prepared to solve a Leetcode hard problem with a working code in 45 mins. (Yes, at least one of the rounds will feature a Leetcode hard problem)

Here’s how I would do it if I had to start from scratch:

  1. Familiarize yourself with the key data structures:
    1. Stack: https://www.geeksforgeeks.org/stack-data-structure/
    2. Heap: https://www.geeksforgeeks.org/heap-data-structure/
    3. Queue: https://www.geeksforgeeks.org/queue-data-structure/
    4. Graphs: https://www.geeksforgeeks.org/graph-data-structure-and-algorithms/
  2. Get a good grip on the fundamental algorithms:
    1. Sorting: https://www.geeksforgeeks.org/sorting-algorithms/
    2. BFS: https://www.geeksforgeeks.org/breadth-first-search-or-bfs-for-a-graph/
    3. DFS: https://www.geeksforgeeks.org/depth-first-search-or-dfs-for-a-graph/
  3. Become proficient with the language you’re most comfortable in: I personally use C++ 17 for STL (Standard Template Library) which provides optimized and readable implementations for arrays, sorting, stacks, heaps, queues etc. Write as much code in your language of choice as you can, translating thoughts into code should be second nature to you.

  4. Move up to non-primitive data structures:
    1. Trees (they have some really nice properties): https://www.geeksforgeeks.org/tree-data-structure/
    2. Dequeue: https://www.geeksforgeeks.org/deque-cpp-stl/
    3. Sets: https://www.geeksforgeeks.org/set-in-cpp-stl/
    4. Maps: https://www.geeksforgeeks.org/map-associative-containers-the-c-standard-template-library-stl/
  5. Build an understanding of problem-solving techniques:
    1. Sliding window: https://www.geeksforgeeks.org/window-sliding-technique/
    2. Binary search on the answer: https://www.geeksforgeeks.org/binary-search-on-answer-tutorial-with-problems/
    3. Matrix traversal: https://www.geeksforgeeks.org/depth-first-traversal-dfs-on-a-2d-array/
    4. Topological Sort: https://www.geeksforgeeks.org/topological-sorting/
  6. Dynamic Programming: This deserves a whole post for itself!

Evaluate where you are in your preparation journey and use this guide to create your roadmap.

Follow me for more tips on mastering Data Structures and Algorithms (DSA).

This post is licensed under CC BY 4.0 by the author.