0% completed
How to Use This Course
On This Page
Do I have to follow the chapter order?
How should I pace myself?
How long should I struggle before reading the solution?
What is the time shown under each lesson?
Which language should I use?
What do the difficulty labels mean?
How do I know when I am ready?
Many people ask me the same questions before they start. Here are the answers in one place.
Do I have to follow the chapter order?
No. Most patterns are independent of each other.
If you plan to study the whole course, follow the order as it stands. It moves from the patterns that appear most often to the ones that appear least often, and the early chapters are the easier ones.
If you are short on time, or you want one specific pattern, go straight to that chapter. When a lesson depends on another pattern, it links to it.
How should I pace myself?
That depends on how much time you have before your interview.
Six months or more, alongside a full-time job. Take one pattern at a time. Work through every problem in that chapter in detail, including the Problem Challenges. Real depth in one pattern is worth more than a quick pass over ten.
Four to six weeks. Work through the core patterns in order. For each chapter, do the introduction and the first two or three problems, then move on. Come back for the Problem Challenges once you have covered the ground.
One or two weeks. Read every pattern introduction. Do the warmup chapter, then the first problem of each of the first ten pattern chapters. Finish in the Test Your Knowledge chapters.
Whatever your timeline, spread the work out. Two hours a day for four weeks works better than fourteen hours on one Sunday.
How long should I struggle before reading the solution?
Attempt every problem yourself first. This matters more than anything else in this course. Reading a solution feels like learning, and it usually is not.
When you are stuck, give it about 30 minutes. Then read the solution, make sure you understand why it works, and move on. Do not spend three hours on a single problem.
Come back to that problem two days later and solve it again from an empty editor. If you can, you have learned the pattern. If you cannot, read the solution once more and try again.
For an easy problem, do not worry if you need 10 to 15 minutes. That is normal at the start, and it gets faster with practice.
What is the time shown under each lesson?
It is our estimate of how long that lesson takes to read and work through. Treat it as a rough guide. Your own time depends on your background, and on whether you attempt the problem before reading the solution.
Which language should I use?
Every problem is solved in Java, Python, C++, JavaScript, C#, and Go. Use the language you plan to write in during the interview. You can switch languages using the selector in the code editor.
Do not switch languages part way through the course. The point is fluency in one, not familiarity with six.
What do the difficulty labels mean?
Each problem is labelled easy, medium, or hard. These match the level a company would consider that problem to be.
Easy problems are there to build the pattern in your head. Medium problems are what most interviews actually ask. Hard problems are worth attempting once the medium ones feel routine.
How do I know when I am ready?
Work through the patterns, then open the Test Your Knowledge chapters. They hold 34 problems across Easy, Medium, and Hard, and nothing there tells you which pattern applies.
That is the real test. If you can read a problem you have not seen before and name the pattern within a couple of minutes, you are ready.
Now let's warm up.
On This Page
Do I have to follow the chapter order?
How should I pace myself?
How long should I struggle before reading the solution?
What is the time shown under each lesson?
Which language should I use?
What do the difficulty labels mean?
How do I know when I am ready?