Google Interview Tips + FAQs + Resources

- 6 mins

I will be interning at Google as a SWE Intern in 2020. I often get a lot of questions asking me how to start preparing and how to start coding. Here, I am sharing a few things that I have learnt during my preparation. In this blog post, I have also tried to clear some of the common questions every student has regarding interview preparation. I have also included resources that helped me during my preparation !

Why should you do Leetcode?

I have explored many sites and in the end I found leetcode to be the best.

Sites like CodeChef, Codeforces, SPOJ are really good but they are not interview/job focused, they lean more towards competitive programming. If your aim is to go compete at ACM ICPC, by all means practice at those sites.

For interview preparation, the top sites are Leetcode, GeeksForGeeks and Interview Bit. Leetcode beats the other two sites handsdown. While the theory in GeeksForGeeks is good (it is often coded inefficienty) and their practice platform has weak testcases. InterviewBit has a good collection of questions but their list is limited, also they do not have a vibrant community.

Leetcode has everything that a good site should, amazing list of questions, good editorials, really good testcases as well as a community(best thing). The discuss section has amazing discussions, sometimes the solutions here are better than those in the editorial.

I am intimidated by the list of questions, where should I start ?

First and foremost, there is no reason to be intimidated, we all have to start somewhere :) If you are a complete beginner, start with Top 100 Liked Questions and Top Interview Questions. Sort them by difficulty level and do the easy ones, followed by medium and then hard.

How should I solve each question ?

Everyone has a different way of approaching problems, I initially looked up the solution to every problem but when I gave the Weekly Contests(another amazing feature! more about it later) I realized my technique wasn’t working. I then thought about a question and worked out a basic algorithm and then coded. If it took more than a certain amount of time, I saw the solution.

Here is a curated list of “how to leetcode” from various people, do give it a read ! It is helpful :

How do I measure my performance, I am solving questions but am I improving ?

ONE WORD - WEEKLY CONTESTS. Initially when I started giving weekly contests I would not be able to solve even a single question,but with practice I started solving two to three. It motivated me to work harder every week and manage time better.

How “MANY” questions should I solve ?

It is not about the number of questions rather it is about “how” well you understand the concepts and are able to approach new problems. Inspite of that, doing the Top Interview Questions should be a must.

Other tips

What are the important topics I should study ?

Big O Notation

Arrays and Maths

Binary Search

Bitwise manipulation

Trees

Recursion and Backtracking

Graphs

Geometry

Hashing

Linked List

Dynamic Programming

Disjoint Set Union

Sorting

Greedy

System Design

For now these are the topics that I feel are important for interview, obviously this is not a exhaustive list :)

Google Interview Tips

Hope this blog post helped you ! All the best ! Feel free to post any questions :)


[This blog post was originally published on Leetcode]

Atibhi Agrawal

Atibhi Agrawal

rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora