Skip to main content

Practice Platforms and Tools

Practice platforms​

PlatformBest forTip
LeetCodeInterview-style problems, company tagsFollow a topic list; do not only chase "hard"
CodeforcesCompetitive programming contestsJoin Div. 3 / Div. 4 rounds first
CSES Problem SetA clean, ordered set of classic problemsGreat for learning standard techniques
HackerRankLanguage practice, online assessmentsPractise the timed format
GeeksforGeeksExplanations and company experiencesUse as a reference, then solve yourself
ExercismLanguage fluency with mentorsPick the track of your language

Learning resources​

ResourceUse
CS50Free Harvard introduction to computer science
MIT OpenCourseWareUniversity lectures and notes
MDN Web DocsThe reference for HTML, CSS and JavaScript
Python documentationOfficial language reference and tutorial
VisualgoAnimations of data structures and algorithms

Developer tools​

ToolUse
Git and GitHubVersion control and collaboration
VS Code or IntelliJ IDEAEditors and debuggers
Postman / curlCalling and testing APIs
DockerReproducible environments
Linux terminal basicsNavigation, grep, ssh, make

How to practise effectively​

  1. Set a topic per week instead of random problems.
  2. Time-box each problem (30 to 45 minutes), then read the solution and re-implement it without looking.
  3. Revisit failed problems after 3 and 10 days (spaced repetition).
  4. Do a timed mock weekly.

See the Coding interview strategy for a framework.

Loading Comments...