Nail your Coding Interview by Doubling Down on Algorithms

editor-page-cover

Coding interviews are tough, but they don’t have to be

There’s a reason most developers have a love/hate relationship with coding interviews and algorithm questions. They spend hours upon hours combing through a sea of material where most of it feels irrelevant to what they’re doing in their day jobs.

The process for preparing for coding interviews is all too familiar:

  • You head over to a site like LeetCode
  • You spend days, weeks, or months grinding on question after question
  • You’re fatigued but the fear of not answering enough questions keeps you going

One of the most common points of anxiety developers face before the interview is: Have I solved enough practice questions? Could I have done more?

With algorithms being arguably the most common theme in coding interviews, having a firm grip on them can be the difference between being hired and not.

Don’t leave it to chance.

Grokking the Coding Interview: Patterns for Coding Questions was created to help you maximize your chances of success in your coding interview so you can land that job you’ve been working so hard for.



Learn the patterns that underlie algorithm questions

The good news is that you don’t need to solve hundreds of algorithm questions to feel prepared for the interview. The experts over at Design Gurus created Grokking the Coding Interview: Patterns for Coding Questions that has a list of 15 patterns for coding questions that are based on similarities in the techniques needed to solve them. As a result, once you’re familiar with a pattern, you’ll be able to solve dozens of problems with it.

The techniques taught in this course have helped developers land jobs in top companies including Google, Facebook, Amazon, and Microsoft.

Here is an overview of the 15 patterns:

  1. Sliding Window
  2. Two Pointers
  3. Fast & Slow Pointers
  4. Merge Intervals
  5. Cyclic Sort
  6. In-place Reversal of a Linked List
  7. Tree Breadth First Search
  8. Tree Depth First Search
  9. Two Heaps
  10. Subsets
  11. Modified Binary Search
  12. Top ‘K’ Elements
  13. K-way Merge
  14. 0/1 Knapsack (Dynamic Programming)
  15. Topological Sort (Graph)

Practice solving algorithm questions using patterns

If you’re studying tree algorithms, it may seem like each question is unique and fundamentally different than the last. But as you familiarize yourself with these patterns, you’ll quickly realize that all you may need to do is tweak your algorithm slightly to solve what seems like a completely different question.

Take for example the pattern, Tree Breadth First Search. One of the most common questions you’ll see use this pattern is the Binary Tree Level Order Traversal. By familiarizing yourself with this pattern you’ll soon find that with a few tweaks to your algorithm it can apply to these questions too:

  • Reverse Level Order Traversal
  • Zigzag Traversal
  • Level Averages in a Binary Tree
  • Minimum Depth of a Binary Tree
  • Connect Level Order Siblings
  • And many more

Rather than have you memorize hundreds of answers, this course teaches you how to solve problems by understanding the generic patterns that underlie them. Once you understand the pattern, you can use them it as a template to solve a myriad of other problems with slight variations.


Created by the experts

Grokking the Coding Interview: Patterns for Coding Questions was created and carefully vetted by former Senior Engineers and hiring managers from top companies in the tech industry, including Amazon, Microsoft, Google, and Facebook.

You’ll get the insider track on exactly what types of questions you can expect, the corresponding patterns for each, and finally, how to solve each problem.

widget

Learn at your own pace

Reading is faster than watching: the average video tutorial is spoken at 150 words per minute, while the average human reads at 250. That’s why our courses are laid out as rich text.

You’ll get all the benefits of reading from a book, such as the ability to skim over parts, double back easily where needed, and highlight passages you find particularly interesting.

We recognize learning visually is important. That’s why solutions are laced with detailed charts and visualizations.



Get help when you need it

Stuck? Need another explanation?

Educative Discuss gives you a space to ask anything you’d like. There’s a dedicated sub-forum for each lesson of the course, and the authors themselves frequently jump in to help out candidates.

widget

See what other people are saying

Don’t take our word for it - see what others have to say.




Questions? Concerns?

We’re happy to chat. Reach out to us at hello@educative.io