Crack the Coding Interview at Big Four in 10 Steps

DerpyCoder
7 min readJan 3, 2021
Photo by Tool., Inc on Unsplash

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

Photo by Robo Wunderkind / Unsplash

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:

FreeCodeCamp: Learn Python — Full Course for Beginners — YouTube

A pseudo-code like language, best suited for interviews.

b. JavaScript:

FreeCodeCamp: Learn JavaScript — FUll Course for Beginners — YouTube

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:

b. Websites:

c. YouTube Channels:

HackerRank’s Algorithm & Data Structure Playlist — YouTube
Gaurav Sen’s System Design Playlist — YouTube
Tushar Roy’s Dynamic Programming Playlist — YouTube

3. Online Judges

LeetCode

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

Big O Cheat Sheet

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

Photo by Daniel / Unsplash

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

Photo by Javier Esteban / Unsplash

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

Photo by Christina @ wocintechchat.com / Unsplash

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.

Gaurav Sen’s System Design Playlist — YouTube

8. Behavioral Questions

Photo by Helena Lopes / Unsplash

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

Photo by Markus Winkler / Unsplash

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

Photo by Elia Pellegrini / Unsplash

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.

Leave a Comment →

--

--

DerpyCoder

If you’re someone, just starting out in the industry or looking to better yourself or trying to find your way in life. You have come to the right place!