Skip to content

yvonneyeh/algorithms

Repository files navigation

Yvonne's Declassified Tech Interview Study Guide 📝

What and how I studied for technical interviews!

Hi, mentee!

Interviews are hard.

Unfortunately, there are no shortcuts when it comes to learning algorithms and data structures. Grinding LeetCode isn't fun but for interviews, it's best to go BFS and not DFS — practice a wide array of problems rather than diving too deeply into one type of problem. Sometimes you get lucky in an interview and get a question that you've solved before, but usually you'll get a variation of a theme of a question you've seen before. Better to see and practice as many as possible!

This repo contains a non-exhaustive list of concepts and data structures I practiced in preparation for technical interviews.

Resources:

Most resources are free, a * after the name denotes a paid resource.

  • Pick your poison. If you're just starting out, I think CodeSignal lays out the problems in the best order (increasing difficulty). LeetCode is better for sorting by question type or finding a specific problem or data structure you want to work on.

    Also, there's a LeetCode dupe called LintCode that has all the problems, including the problems normally locked behind a paywall, as long as you don't mind the Chinese UI.

  • One of the most famous resources for prepping for interviews. Great book with good hints to guide you in the direction to solving the problem yourself. Probably best for when you actually need to practice whiteboarding and writing out your code by hand. This book isn't available in e-book format (officially). Personally I found it helpful to not be able to skip ahead and see the solution without flipping pages.

    The solutions are written in Java, but you can find the solutions in any language on CareerCup's GitHub. Here are the repos for common languages: Java, Python, JavaScript, C++

    Best for learners that like to highlight and mark up physical text.

  • A list of 75 of the top LeetCode questions that teach you core concepts and techniques for each type of problem.

    Follow-up resources:

    • Grind75, a customizable study plan based on Blind75. You can indicate your study preferences and it will recommend the best LeetCode questions for you to practice.
    • Spreadsheet with all Blind75 problems solved, linking to YouTube tutorials made by NeetCode.
  • Similar to Grind75, this is a list of 150 LeetCode questions organized by concept and data structure. Includes helpful videos if you learn best by listening to an explanation and seeing a diagram drawn out as the problem is explained to you.

    Best for auditory learners.

  • This course is also available on Educative, which has a coding sandbox. I prefer the Educative version more. The only reason why I list the version on Design Gurus is because there's an option to purchase the lifetime access to the course with future updates with a flat fee. Educative used to have the same option, but has since changed their pricing to be subscription based. You can practice running the code in your IDE or on LeetCode anyway. Both courses are text-based. Educative claims that videos are slower, ("The average video tutorial is spoken at 150 words per minute, while you can read at 250.") but pick whichever option works for you.

    Best for visual learners.

  • Pramp is a free(ish), online platform for practicing technical interviews that links you with other interviewees based on your availability, practicing needs, and programming language preferences. Each practice session is bi-directional: Every user acts as both interviewee and interviewer.

    You get 6 free sessions, but you can use my referral code above to get an additional free practice session!

    Best if you don't have someone to practice mock interviews with already.

  • The way the problems are laid out is great: you get hints to help you understand the concept, until the answer is revealed. Some great tips about coding interviews here, too. Even if you don't subscribe, you can sign up to get the free weekly practice problem sent to your inbox. Seems to be a small business run by one guy, he also offers a satisfaction guarantee so you can get a full refund if you don't find the service useful.

  • Like this repo, but even better and way more detailed! Explains the other interviews like the behavioral interview and how to pass them as well.

Good luck! 🍀