Practice Platforms and Tools
Practice platforms
| Platform | Best for | Tip |
|---|---|---|
| LeetCode | Interview-style problems, company tags | Follow a topic list; do not only chase "hard" |
| Codeforces | Competitive programming contests | Join Div. 3 / Div. 4 rounds first |
| CSES Problem Set | A clean, ordered set of classic problems | Great for learning standard techniques |
| HackerRank | Language practice, online assessments | Practise the timed format |
| GeeksforGeeks | Explanations and company experiences | Use as a reference, then solve yourself |
| Exercism | Language fluency with mentors | Pick the track of your language |
Learning resources
| Resource | Use |
|---|---|
| CS50 | Free Harvard introduction to computer science |
| MIT OpenCourseWare | University lectures and notes |
| MDN Web Docs | The reference for HTML, CSS and JavaScript |
| Python documentation | Official language reference and tutorial |
| Visualgo | Animations of data structures and algorithms |
Developer tools
| Tool | Use |
|---|---|
| Git and GitHub | Version control and collaboration |
| VS Code or IntelliJ IDEA | Editors and debuggers |
| Postman / curl | Calling and testing APIs |
| Docker | Reproducible environments |
| Linux terminal basics | Navigation, grep, ssh, make |
How to practise effectively
- Set a topic per week instead of random problems.
- Time-box each problem (30 to 45 minutes), then read the solution and re-implement it without looking.
- Revisit failed problems after 3 and 10 days (spaced repetition).
- Do a timed mock weekly.
See the Coding interview strategy for a framework.
Loading Comments...