The Interview
Nail That Coding Interview with This Study Plan!
When diving into the coding interview prep world, you're probably wondering, "What exactly should I focus on?" or "Where do I begin?". Fear not! Having been through the Software Engineer interview gauntlet several times, I've fine-tuned a 3-month blueprint just for you.
How Long Should You Prepare?
The sweet spot? 3 months, assuming you can dedicate 11 hours weekly. While I'll delve into a 3-month blueprint here, remember, you can always customize your plan with the Grind 75 tool I've crafted.
Before diving deep: If you're a bit rusty with the basics of data structures and algorithms, brush up on those first.
Three Potential Study Strategies:
- Broad and Shallow: Skim through all topics first, then tackle a mix of questions. Perfect if you have a month up your sleeve.
- Deep Dive: Master each topic thoroughly before moving on. Ideal for those on a time crunch. You'll want to hit high-priority topics first.
- Deep First, Broad Later: Get a good grasp of each topic, practice a few questions, then shift to the next topic. Once all topics are covered, scatter your practice across all areas. Opt for this if you have over a month to spare.
For a balanced approach, I'd suggest either the first or the third strategy.
Sharpen Your Resume Game
Get ahead with FAANG-quality resume templates that have paved the way for countless interviews at top-tier companies in the Bay Area. Check them out!
The 3-Month Blueprint
Map out your available days and hours. Aim for a realistic timeline to avoid overwhelming yourself.
Weeks 1-4: Dive into Topics and Practice
The resources linked are my algorithm cheatsheets. They're designed to quickly bring you up to speed on crucial points like time complexity, nuances, and topic-centric tactics.
Remember: Early in your practice, incorporate coding interview best practices and techniques!
Week 1: Foundations
Topic | Priority | Duration |
---|---|---|
String | High | 2 hours |
Array | High | 3 hours |
Recursion | High | 4 hours |
Hash Table | High | 3.5 hours |
Week 2: The Next Steps
Topic | Priority | Duration |
---|---|---|
Sorting and searching | High | 4 hours |
Linked List | High | 4 hours |
Stack | Mid | 3 hours |
Queue | Mid | 3 hours |
Matrix | Mid | 2 hour |
Week 3: Branching Out
Topic | Priority | Duration |
---|---|---|
Heap | High | 2 hours |
Tree | High | 3 hours |
Trie | High | 2 hours |
Graph | High | 5 hours |
Week 4: Advanced Topics
Topic | Priority | Duration |
---|---|---|
Binary | Mid | 3 hours |
Dynamic programming | Mid | 3 hours |
Interval | Mid | 1.5 hours |
Weeks 5-12: Intense Problem Solving
These challenges will fine-tune your coding skills. If you've tackled some from the previous weeks, skip or retry them. And if you're not comfortable with dynamic programming, feel free to skip those problems. Most can be approached using recursion or backtracking.
Tip: Find these problems in Leet Code to practice and monitor your progress effectively!
Week 5: Getting Started
Problem | Difficulty | Duration |
---|---|---|
Two Sum | Easy | 20 mins |
Longest Substring | Medium | 25 mins |
Add Two Numbers | Medium | 35 mins |
Median of Two Arrays | Hard | 45 mins |
Week 6: Keep Pushing
Problem | Difficulty | Duration |
---|---|---|
Merge Two Sorted Lists | Easy | 20 mins |
Swap Nodes in Pairs | Medium | 35 mins |
Divide Two Integers | Medium | 35 mins |
Longest Palindrome | Medium | 40 mins |
Search in Rotated Array | Hard | 45 mins |
Week 7: Advanced Techniques
Problem | Difficulty | Duration |
---|---|---|
Remove Duplicates | Easy | 20 mins |
Pow(x, n) | Medium | 30 mins |
Jump Game | Medium | 35 mins |
Merge Intervals | Medium | 40 mins |
Wildcard Matching | Hard | 45 mins |
Week 8: Challenging Constructs
Problem | Difficulty | Duration |
---|---|---|
Max Subarray | Easy | 15 mins |
Rotate Image | Medium | 30 mins |
Valid Sudoku | Medium | 35 mins |
Permutations | Medium | 40 mins |
Minimum Window Substring | Hard | 50 mins |
Week 9: Solidifying Knowledge
Problem | Difficulty | Duration |
---|---|---|
Reverse Linked List | Easy | 15 mins |
Duplicate Number | Medium | 20 mins |
Multiply Strings | Medium | 25 mins |
Combination Sum | Medium | 30 mins |
First Missing Positive | Hard | 45 mins |
Week 10: Final Challenges
Problem | Difficulty | Duration |
---|---|---|
Climbing Stairs | Easy | 25 mins |
Longest Valid Parentheses | Medium | 30 mins |
Rotate List | Medium | 35 mins |
Word Search | Medium | 35 mins |
Minimum Path Sum | Hard | 40 mins |
Week 11: Prep for the Big Day
Problem | Difficulty | Duration |
---|---|---|
Simplify Path | Medium | 30 mins |
Set Matrix Zeroes | Medium | 30 mins |
Gas Station | Medium | 35 mins |
Word Break | Medium | 40 mins |
Candy | Hard | 45 mins |
Week 12: Last Minute Brush-up
Problem | Difficulty | Duration |
---|---|---|
Maximum Product Subarray | Medium | 25 mins |
Palindromic Substrings | Medium | 30 mins |
Validate Binary Search Tree | Medium | 30 mins |
Recover Binary Search Tree | Hard | 45 mins |
One last note
Your Intro and Questions: Allocate approximately 3 hours to draft a captivating introduction and formulate engaging questions for the end of your interviews. I'ts important not to forget the behavioral parts of the interview as well, which is covered in the behavioral interview section.