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.
Resources¶
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.