Skip to content
/ code Public

πŸ‘¨πŸ»β€πŸ’» A Hands-on Approach to Hacking Coding Interviews

Notifications You must be signed in to change notification settings

ofou/code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Code

This guide has taken me...

This is my hands-on approach to hacking the Coding Interview:

  1. Tracking coding time with Wakatime or Git. (What you can't measure, you can't improve)
  2. Solve coding problems on a daily basis and commit every problem (min 30m/day)
  3. Read the literature, and reimplement key data structures and algorithms in a high-level language such as python and when needed in a low-level one like c
  4. Take notes in the form of a book, videos, or in-depth tutorials
  5. Give back to the open source community helping with projects to test your knowledge in the wild. Great places to start contributing are Exercism's tracks, FreeCodeCamp's curriculum, CodeCrafters's projects, CodeAcademy's docs, or your favorite repository on Github.

Explore Top Interview Coding Problems

So the first step will be doing the following exercises from these platforms:

  • Khan Academy: Introductory exercises to get you started with the basics of algorithms. Great intro using Javascript. The materials here were developed by Dartmouth College professors Tom Cormen & Devin Balkcom, the first is the same author as the famous book Introduction to Algorithms.
  • Exercism: Great open source platform to master any programming language itself, from the basics to advanced topics. Mentorship is free.
  • HackerRank: They have Preparation Kits ranging from 1-week, 1-month to 3-months. Companies such as Amazon use the platform to interview candidates.
  • LeetCode: Popular coding platform, the place-to-go to prepare for technical interviews. They just released a systematic program for excelling at interviews called 75.
  • CodeSignal: Great selection of problems from companies past interviews. Nice UI and guided tracks. Some FAANGs use the platform to interview candidates.
  • NeetCode: This is a new coding website based on a LeetCode problems selection. The cool thing is that they have code walkthroughs for each problem on Youtube and solutions in many languages. Great to match with LeetCode 75.
  • Coding Interview Prep: The Coding Interview Prep by freeCodeCamp contains hundreds of coding challenges that test your knowledge of algorithms, data structures, and mathematics.

Also consult Visualgo for visualizing data structures and algorithms through animation. Other great resources to consider are: The Euler Project (free), and Rosetta Code (free).


Platform Track Time Problems
Khan Academy Intro to algorithms - 25
Exercism Python _ 131
HackerRank Interview Prep Kit _ 104
LeetCode 75 Study Plan _ 75
CodeSignal Interview Practice _ 110
NeetCode NeetCode _ 1501

Explore Coding Competition once you are comfortable with the basics

  • Clist: A curated list of competitions for competitive programming.
  • CSAcademy: A great place to find lessons, competitions, and exercises on algorithms and data structures. Great organization of the content.
  • Kaggle: A great place to practice data science and machine learning skills, it also includes great introductory courses and tutorials by experts.
  • Google's Coding Competitions: International programming competition hosted and administered by Google. The competition began in 2003. Good Prizes.

Resources

Technical Books

There's a lot of Coding Interview books. But I would recommend the following that I personally read during this preparation period:

Misc Books

Here are some books I personally read to get better at meta-learning.

Footnotes

  1. This is based on LeetCode problems for time tracking and might be overlapping with the LeetCode 75 track. ↩