Crack the Coding Interview at Big Four in 10 Steps
In a previous post, I put forth 15 reasons FAANG companies are worth the effort of prepping for interview. It would be unfair if I don’t post how we can make it happen!
A little disclaimer before we begin. I have yet to get an interview for any of the Big Four. I’m a fellow aspirant such as yourself, but having prepped for it several times I’m a bit used to the process.
Several resources exist and I’m going to lay them out in an organised fashion for your kind perusal.
1. Pick a Language
Use whatever you already know.
However, you have to bear in mind that:
- Speed matters in a coding interview, as each round lasts from 40–50 minutes.
- You shouldn’t reinvent the cycle, i.e. you should be able to use inbuilt data structures.
- Verbosity can be your enemy.
- Coding interview is not a coding competition, so performance of the language doesn’t matter.
So keeping the above points in mind, I would suggest you to choose a simpler language. Perhaps dynamically typed, interpreted one, with lots of inbuilt data structures.
You can’t go wrong picking up Python, or JavaScript for the coding interview.
a. Python:
A pseudo-code like language, best suited for interviews.
b. JavaScript:
Best choice, if you already have a background in web development.
2. Pick Resources
Don’t get lost in the sea of products, websites, books. Rather settle for the following list of resources, as they are more than enough to get you where you want to go.
I would recommend getting a book to orient yourself, followed by lots of practice in an online judging portal, followed by YouTube to help you when you get stuck.
a. Books:
- Cracking the Coding Interview.
- Elements of Programming Interview.
- Programming Interviews Exposed.
b. Websites:
c. YouTube Channels:
3. Online Judges

Just reading code isn’t going to make you a great coder. You have to practice as well.
And best way to practice and get validated for your approach is to write code in an online portal.
There are several online judges, like Topcoder, Codechef, HackerRank, SPOJ.
However best of the best is LeetCode. So don’t you waste your time trying to find the best one of the lot, as I have already done the research on your behalf.
LeetCode’s is the best because of:
- Beautiful & Minimalist UI, with proper categorisation of questions.
- Succinct questions, which doesn’t dawdle.
- Good deal of language support, from interpreted to compiled languages.
- Great community, so if you can’t find solution to a question, chances are people have discussed the solution in a separate tab.
4. Big O

Apart from remembering the common ones, you have to learn to analyse the complexity of the code you are writing.
Cracking the Coding Interview has a chapter explaining Big O in great detail.
5. Data Structures
Data Structure is the approach of storing data so as to make it easy to operate on. Each structure has their advantage, which is a topic for another day.
There’s tons of data structure, but the ones interviewers are looking for are as follows:
- Array | String, Matrix
- Linked List
- Stack & Queues
- Heap, Hash Table
- Tree | Binary Tree / Binary Search Tree, Trie
- Graph
6. Algorithms
Algorithms are operations performed on data structures, to come up with the solution to problems.
There’s countless algorithms in the wild. However Coding Interviews rarely include those. So it’s better to focus on the limited category presented below:
- Array | Two Pointers, Binary Search, String Manipulations, Sliding Window, Matrix
- Bit Manipulations
- Tree & Graph | BFS, DFS Traversals (Preorder, Inorder, Postorder), Union Find
- Recursion / Iteration
- Divide & Conquer
- Greedy
- Backtracking
- Sorting | Quick Sort, Merge Sort, Insertion Sort, Heap Sort, Bubble Sort
- Dynamic Programming
7. System Design
Candidates with 4+ years experience will be questioned on Low Level & High Level design in their interview.
System Design is not an exact science, hence you aren’t expected to make the best design from the get go. Rather your approach and flexibility is monitored in these rounds.
HighScalability is a great place to see how other big companies approach their system design problems.
Then there’s YouTube.
8. Behavioral Questions
In the book, Cracking the Coding Interview, you will find a precise guide to prepare for the behavioural interview. See: Cracking the Soft Skills.pdf
You must prepare for each company you are about to interview for, as the expectations are different based on the culture the company portrays.
For example Amazon expects candidates to answer each of the questions, justifying the Leadership Principles.
9. Resume Preparations
Application Tracking System is the modern gatekeeper, stopping our resume’s from ever getting noticed by a real person. So prepare your resume with that in mind.
- Maybe go with a resume builder, or write your own.
- Always submit a PDF format.
- Avoid tables.
Soon I’ll be adding a guide to make the best of the best resume.
10. Referral
Forget applying on the online portal, as your applications will go unnoticed.
Your best bet, after having spent months on prepping for the coding interview, is to get a referral from someone who works for the company.
Conclusion
Starting is the most difficult part of the process, followed by discipline & perseverance to continue down this path. So start your journey today.
What do you think? Let me know your thoughts down below, and subscribe if you want to be updated as and when I post guide on some of the steps mentioned above!
Good luck with your future endeavour.
If you liked this, you might also like: