Motivation without a plan is just enthusiasm with an expiry date. Every year, thousands of engineers tell themselves they will "start preparing for interviews" and then spend months watching random YouTube videos without measurable progress. The difference between candidates who land offers and those who do not is rarely talent — it is structured preparation. This lesson helps you build a realistic, personalised study plan that you will actually follow.
Before you can build a plan, you need an honest baseline. Spend one day on this self-assessment:
Rate yourself 1-5 on each area:
Solve 3 LeetCode problems (1 easy, 1 medium, 1 hard) under timed conditions. Note:
Your timeline depends on your starting level, target companies, and available hours per day.
Best for: Experienced engineers who need a refresher, or candidates with an upcoming interview.
| Week | Focus | Daily Time | |------|-------|------------| | 1 | Core data structures + easy/medium problems (8-10 problems) | 2-3 hours | | 2 | Algorithms deep-dive + medium problems (8-10 problems) | 2-3 hours | | 3 | System design fundamentals + 2-3 mock designs | 2-3 hours | | 4 | Behavioural prep + full mock interviews + review weak areas | 2-3 hours |
Sign in to join the discussion
Best for: Engineers with solid foundations who need systematic preparation.
| Weeks | Focus | Daily Time | |-------|-------|------------| | 1-2 | Foundations: arrays, strings, hash maps, two pointers, sliding window | 1.5-2 hours | | 3-4 | Trees, graphs, BFS/DFS, dynamic programming basics | 1.5-2 hours | | 5-6 | System design: start with fundamentals, practice 4-5 full designs | 1.5-2 hours | | 7 | Behavioural preparation: build story bank, practice delivery | 1.5-2 hours | | 8 | Mock interviews, review weak areas, company-specific prep | 2-3 hours |
Best for: Career changers, those targeting FAANG, or candidates who need to rebuild fundamentals.
| Weeks | Focus | Daily Time | |-------|-------|------------| | 1-3 | Programming fundamentals: language mastery, basic data structures, easy problems | 1-2 hours | | 4-6 | Intermediate algorithms: trees, graphs, DP, backtracking, medium problems | 1.5-2 hours | | 7-8 | Advanced topics: hard problems, pattern recognition, optimisation | 1.5-2 hours | | 9-10 | System design: distributed systems, trade-offs, case studies | 1.5-2 hours | | 11 | Behavioural preparation + company research | 1-1.5 hours | | 12 | Full mock interviews, final review, confidence building | 2-3 hours |
A sustainable weekly schedule is more important than an ambitious daily one. Here is a template for someone working full-time:
Not all topics are equally important for every company. Tailor your focus:
You are preparing for Google with 8 weeks available and a full-time job. What should be your primary focus area?
What gets measured gets improved. Use a simple tracking system:
Create a spreadsheet with these columns:
| Date | Problem | Difficulty | Topic | Solved? | Time | Notes | |------|---------|-----------|-------|---------|------|-------| | Mon | Two Sum | Easy | Hash Map | ✅ | 8 min | Optimal O(n) solution | | Tue | LRU Cache | Medium | Design | ⚠️ | 45 min | Needed hint for doubly linked list | | Wed | Merge K Lists | Hard | Heap | ❌ | 60 min | Review heap operations |
Every Sunday, review your week:
Set concrete milestones to maintain motivation:
Interview preparation is a marathon, not a sprint. Burnout is the number one reason candidates abandon their plans.
What is the most effective way to track your interview preparation progress?
Perfectionism kills more interview timelines than lack of preparation. You are ready enough when:
You will never feel 100% ready. That is normal. The best time to start interviewing is when you are 80% prepared, because real interviews are the best preparation.