How did I get into Google?
In 2006, I did my B. Tech in Computer Science from IIT -ISM Dhanbad in India, and started my software engineering career with HCL Technologies (8 years) followed by American Express (7 years). Due to a lack of learning exposure, I started losing interest in work. So I decided to look for FAANG companies to get complex and more learning exposure.
Since I never prepared for FAANG companies before therefore I understood that I need help. So in Jan 2020, I joined Interview Kickstart. Though it gave me a good start soon I realized that it's not enough. So in April 2020, I reached out to a few of my friends and friends I made in Interview Kickstart and started group study. In this post, I will talk about what areas we studied which helped each one of us to get a good offer in mid of 2021. I joined Google, Vinod joined Microsoft, Gourav joined Robinhood and Saurabh joined Amazon :-)
Data Structure and Algorithm
We took the approach to first understand the concepts and solve multiple problems to apply those concepts. I am going to share the link of my Medium/Github post for each topic which has all the related problems we solved. I think there are many good video tutorials on Interview Kickstart/YouTube/Educative.io/Briliant therefore my Medium/Github links will act as filling to solve related problems on Leetcode to get hands-on on these concepts.
Array, Stack, Queue, and Map
Sorting
Lexicographic Sorting
Recursion algo
Tree
Graph Theory
Dynamic Programming
Bits manipulation
Binary Search
Prefix sum
Linked list
Kadane’s algo
Sliding Window
String
Computational Geometry
Merge interval
Range Search
Sparse Table
Serialize and Deserialize
Randomize Algo
Matrix problems
Math algo
Parenthesis
Evaluate expression
Palindrome
Network flow / Maximum matching
Game Theory
System Design
System Design is a very interesting topic to study. Following are the topics we studied.
Design an online judge like leetcode
Ad click event aggregation
Weather app with millions of sensors system design
Digital wallet system design
Digital Payment system design
Distributed Job Scheduler system design
Comment reply system design
Metrics Monitoring and Alerting system
Web Crawler system Design
Uber System Design
Trending Topic System Design
Ticket master system design
Shortner URL
Pull Data from a Third-party system
Netflix system design
Twitter System Design
Google Search System Design
Google Doc system design
Facebook Messanger System Design
Dropbox System design
Count Connected Active users
AutoComplete System Design
API Rate limiter
Design the Facebook post privacy functionality
Online auction bidding system design
Raft Consensus protocol
Database Sharding
Database Index
Storage Engine
Bloom filter
Behavioral Interview
This was the toughest part to prepare for the interview. The main reason is, we can’t copy others’ answers. Everyone has to prepare their own version of the answer for the same questions. We went through many questions and helped each other to give feedback on their story. It helped us a lot.
Resume preparation
Try to use online tool for example https://enhancv.com/ to build your resume. We focused to build a one-page resume. After many rounds of feedback sessions, everyone had a good resume. My resume for reference :-)
STAR Method
STAR method was good in the beginning. Later we switched to CAR method.
https://docs.google.com/document/d/1WyO8rt_ciUwxcRQKMUqraXjAvdiGNYr7DhuyKiWiStU/edit?usp=sharing
CAR Method
Amazon Leadership principle
This was helpful to prepare each category.
Interview Kickstart
If you can afford, join https://www.interviewkickstart.com/. You will never regret it.