Skip to content

Latest commit

 

History

History
55 lines (37 loc) · 3.26 KB

week-08.md

File metadata and controls

55 lines (37 loc) · 3.26 KB

WEEK 8: Algorithm Patterns

Week ZERO Video

Now that you’ve been practicing more straightforward problems for a couple of weeks, it’s time to get real and start practicing harder questions that are more likely to be asked during coding interviews.

For practice and automated challenges along with interactive solutions, look at Grokking the Coding Interview: Patterns for Coding Questions

Here are some guidelines to keep in mind as you solve these problems:

  1. Now is the time to start timing yourself. Ideally, you shouldn’t spend more than 20–30 minutes solving any given problem. (This probably won’t be possible for all questions right away.)

  2. Don’t be discouraged if you are not able to solve a problem within the allocated time. Solve it even if takes you a couple of hours, without looking at the solution. This will help you build the confidence that you can solve it and then you can focus on solving them faster later.

  3. Start thinking about the Runtime and Memory complexity of each solution. You will have to articulate the complexities in the actual interview clearly, so it’s better to start now.

Here are some sample problems to consider:

  • Implement Binary Search
  • Find the Intersection point of two linked lists
  • Reverse words in a sentence
  • Check if two binary trees are identical
  • Clone (deep copy) a directed graph
  • Find solutions to a Boggle game
  • Determine if there are any three integers in an array that sum equal to the given value.

You will have to spend 2–3 weeks here. Don’t worry if you hit roadblocks and get stuck often — you will get the hang of it after a while. Trust me, questions that look impossible in the first few days start to seem easy after you’ve had practice.

Learning Objectives

  1. Compensation Course review
  2. Be aware of the types of common patterns foud in code interviews
  3. Be aware of some select solution archetypes

Discussion questions

  1. TBD

Lesson plan

  1. https://medium.com/double-pointer/review-of-grokking-comp-negotiation-in-tech-e78bdb375607 compensation course review / summary
  2. https://www.educative.io/courses/grokking-the-coding-interview intermediate algorithm patterns
  3. https://www.educative.io/courses/grokking-dynamic-programming-patterns-for-coding-interviews advanced patterns
  4. https://github.com/SeanPrashad/leetcode-patterns leetcode patterns readme
  5. https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed 14 patterns article
  6. https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-100-LeetCode-Questions-to-Save-Your-Time-OaM1orEU blind 75
  7. https://seanprashad.com/leetcode-patterns/ leetcode partitioned by pattern
  8. https://www.youtube.com/watch?v=eS6PZLjoaq8 two pointers and a hash table
  9. https://www.youtube.com/watch?v=VM1kmLrrN4Y Brennan Fradelis - sliding window technique
  10. https://www.youtube.com/watch?v=2LUQ6tBdGxo Merge Intervals - DEEPTI TALESRA
  11. https://www.educative.io/courses/grokking-the-behavioral-interview Behavioral interview course FREE

Homework

  1. TBD