Interview Preparation

This section contains my notes that are solely for interview preparation. This targets FAANG-style leetcode-farming, and my daily progress.

I am not going to talk about whether or not this interview process works. I just want to be able to ace any interview I go to.

Preparation Roadmap

I am taking this interview preparation timeline from the first chapter of Elements of Programming Interviews - Adnan Aziz, Tsung-Hsien Lee, and I’m tuning it with things I’ve found in Cracking the Coding Interview - Gayle Laakmann McDowell.

Your mileage may vary.

Each of these sections has a pre-read, a daily-activity, and a review, which usually involves Leetcode problems.

Warning

This document is still a WIP, so I will be editing this as I go along.

This is the plan I use, and I will be focussing on this the most.

This is the plan I recommend following, if you haven’t interviewed in over a year.

This is the “I don’t hate my job but would like a backup” plan. I don’t recommend this unless you have nothing better to do.

Big-O

The best introduction to Big-O I have found so far is in A Common Sense Guide to Data-Structures and Algorithms - Jay Wengrow. My notes on Big-O from it will be the section to refresh here. This should take 2 days. Do all the exercises in the book.

2 Days

Day 1: Read Chapter 3 - O Yes! Big O Notation

Day 2: Read ctci-big-o

Do all the exercises in both books. A Common Sense Guide to Data-Structures and Algorithms - Jay Wengrow’s exercises will not take more than 20 minutes. I need to check how long Cracking the Coding Interview - Gayle Laakmann McDowell will take.

Todo

Fill this in.

Todo

Fill this in.

Data Structures

Day 3: Arrays and Strings

Day 4: Linked Lists

Day 5: Stacks

Day 6: Queues

Day 7: Trees

Day 8: Graphs

Day 9: Heaps

Day 10: Hash Tables

Day 11: Review

Day 12: Review

Note

At the end of this, you’d be at day 12, so you should have started Leetcode by now. Focus on topics. As you go through the above topics, churn out solutions to leetcode problems in those topics. Just read the questions and try to write answers. You’ll get back to this later.

Content goes here.

Content goes here.

Algorithms

Day 13: Bit Manipulation

Day 14: Mathematical Gotchas

Day 15: Sorting Algorithms

Day 15: Sorting Algorithms Continued

Day 16: Searching Algorithms

Day 17: Searching Algorithms Continued

Day 18: Binary Search Trees

Day 18: Recursion

Day 19: Dynamic Programming

Day 20: Dynamic Programming Continued

Content goes here.

Content goes here.

System Design

Content goes here.

Content goes here.

Content goes here.