Big4 Interview

August 04, 2019 | 3 Minute Read

Top tech companies

I get asked this all the time, how do one prepare for a Big4 (Amzon, Facebook, Google, Microsoft(alphabetically)) interview? Typically, people contacts me when they have an interview scheduled. So here is a brief guide to help you out in your journey.

Generally there are 3 interviews before landing an offer. (Excluding phone conversation with recruiter)

  1. Online screen – Optional at some companies (weed out above par condidates)
  2. Phone interview – (weed out above par condidates)
  3. Onsite 2/3 coding and 1/2 system design rounds.

I will dive into the details and summarize key things to do from my experience interviewing at Amazon, Apple, Bloomberg, Facebook, Google, Samsung, etc. Fortunately, big 4 companies have similar interview structure.

Online screen and Phone Interview

What do I do? Do the folowing–

LEETCODE TOP INTERVIEW QUESTIONS” from the beginning. I mentioned it in ALL CAPS, because this is the single most important resource in my opinion.

  • Solve Leetcode TOP INTERVIEW QUESTIONS(140 approx.), Do Easy, Medium, before starting to do Hard problems.
  • Solve in order of frequency on the site.

Onsite Interview

What do I do?

  1. Still your best friend is – LEETCODE TOP INTERVIEW QUESTIONS. Revise it once.
  2. Undersand and implement Basic data structures. 101: (Implement all of them ground up, for example a BST, Heap, etc.) 101: String, LinkedLists, Tree, Trie, Graph, Sorting, Serching, Dynamic and Recursive programming etc.
  4. System Design – Grokking the system design interview on educative.

System Design

  • Time to learn system design.
    1. Design twitter, tinyurl, messenger,… EDICATIVE.IO - Grokking the system design Interview
    2. GoF Design Patterns
    3. Focus on building scalable, load balanced system
    4. Low latency applications
    5. Caching, CDN
    6. Failure tolerant systems
    7. Partitioning, Replication
    8. Integrate design pattern on small components
  • Company wise Problem Solving
    1. Top leetcode problems in last 2 years
    2. Glassdoor reported problems ordered by date(latest/most recent)

Learn how to answer on a whiteboard during your interview, by Doug Arcuri

Organizing thought on white board...

My favorite books:

  • Elements of Programming Interviews in Java/C++/Python by Adnan Aziz Get the book in the lanaugage you are most comfortable in.
  • Cracking the Coding Interview by Gayle McDowell Laakmann

Basics (I handpicked these from 100 or so topics)

  • Anagrams and palindromes. Check whether a linked list is a palindrome
  • String Search, KMP or Boyer Moore Search
  • String reversal without affecting whitespace, special characters
  • Basic singly linked list operations (Insert, Delete, Update, reverse, fix loops)
  • Merge two sorted linked list without creating a new list
  • Add two numbers represented by a linked list (in place)
  • Solving problems with recursive Graph and LinkedList
  • BFS, DFS(in order and pre order traversals)
  • Island perimeter with DFS
  • Binary Search Tree node removal, insertion
  • Calculate graph Diameter; lowest ancestor of two nodes
  • Check whether a binary tree is full
  • Index words in web pages(doc_name, line#) using a trie Tree
  • You can take 1 or two steps at a time. How many ways to go to 50 steps? –(Coin)
  • Implement min heap max heap from scratch with insertion and deletion
  • Binary Search
  • Merge Sort, Heap Sort, Quick sort from scratch
  • Find kth smallest or largest eleent in an unsorted array. (Sorting not allowed)
  • Shortest path using DP
  • Find all possible paths
  • Parsing, check for invalid parentheses, braces.
  • Reverse integer without extra memory
  • Test if a number is prime.
  • In a list one number occurs once everything else is twice. FInd the unique number
  • Knapsacks
  • Optimal Strategy in a game
  • Bloomberg: Solve the stock buy sell profit problems.
  • If you are aiming for google: String, DP(from geeksforgeeks), Recursion, Syntax matching, Search
  • (A famous joke), if you are going for Microsoft, make sure u know how to reverse a linked list! We all know it takes much more than that.

Failed Onsite??

  • Were they looking for a particular skill set/language proficiency?
    • You don’t get hired, if you don’t know it.
    • GET OVER IT.
  • Keep applying, keep interviewing. DONT GIVE UP.
    • The process itself is the biggest test.
  • Made Mistakes?
    • Try again.