Preparing for coding interviews
The best way to practice for coding interviews is by solving LeetCode questions. While there are other platforms like HackerRank and GeeksforGeeks that offer similar problem sets, LeetCode is by far the most popular and widely used for interview preparation.
How I'm Starting My LeetCode Journey
I was initially confused about how to approach LeetCode. Should I take a Data Structures & Algorithms (DSA) course first, or should I start solving questions topic by topic? While I had sufficient DSA knowledge from my bachelor's degree, I needed a refresher. After some research, I realized that actively solving problems was the most effective way to regain and strengthen my understanding.
LeetCoding Strategy
After scouring Reddit (yes, it does have useful content), I curated a structured approach to LeetCode:
- Mix different topics instead of spending a whole week on arrays and another on linked lists.
- Weekends for theory, weekdays for implementation – study proofs, patterns, and concepts on weekends and apply them during the week.
- Track progress by recording solved questions per week in a GitHub repository.
- Set a goal – for example, finishing all core topics in 7 weeks. After that, keep solving Top 100 Problems on Leetcode.
- Focus on understanding, not just solving – learn to explain solutions as if in an interview.
- Tackle more easy questions from difficult topics before moving on to harder ones.
- Do one mock interview per week to simulate real interview pressure.
- Use a timer for each question:
- Easy – 10 minutes
- Medium – 25 minutes
- Hard – 45 minutes
- If stuck, check the discussion board for hints but don’t look at the full solution immediately. Restart the timer and try again. If still stuck, review the solution, take notes, and mark it for revision.
Daily LeetCode Plan (4-5 Hours Per Day)
To maximize efficiency, I structured my daily LeetCode practice as follows:
- Easy questions – 4 per day
- Medium questions – 3-4 per day
- Hard questions – 2-3 per day
If I'm going to do a difficult topic like Dynamic Programming, then I'll only focus on easy and medium questions.
I'm following the study routine mentioned here. This 16-week (4-month) routine aligns perfectly with my goals and will allow me to solve 100+ LeetCode questions, improving both my interview preparation and general problem-solving skills.
I'm using the learning resources listed here. My plan is to study theoretical concepts on weekends and dedicate weekdays to solving practice questions.
The link to my repository is provided next to the article heading.