MIT Probability mathy, and go slowly, which is good for mathy things videos :.
- STAR Method.
- Top Amazon interview tips will help you land the job of your dreams?
Simonson: Approximation Algorithms video. String Matching. List of individual Dynamic Programming problems each is short. MIT Discrete Mathematics by Shai Simonson 19 videos. Discrete Mathematics Part 1 by Sarada Herke 5 videos.
CSE - Analysis of Algorithms 25 videos. MIT 6. Carnegie Mellon - Computer Architecture Lectures 39 videos. Stanford: Programming Paradigms 27 videos. Introduction to Cryptography by Christof Paar. Mining Massive Datasets - Stanford University 94 videos.
Graph Theory by Sarada Herke 67 videos. Skip to content. Dismiss Join GitHub today GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together. Sign up. A complete computer science study plan to become a software engineer. Branch: master New pull request. Find file. Download ZIP. Sign in Sign up.
Launching GitHub Desktop Go back. Launching Xcode Launching Visual Studio Latest commit Oct 8, Coding Interview University I originally created this as a short to-do list of study topics for becoming a software engineer, but it grew to the large list you see today. This is my story: Why I studied full-time for 8 months for a Google interview The items listed here will prepare you well for an interview at just about any software company, including the giants: Amazon, Facebook, Google or Microsoft.
Best of luck to you! Table of Contents What is it?
- My Amazon Interview Horror Story | Hacker News?
- Here's Google's Secret to Hiring the Best People!
- Guide: How to Succeed at a Hiring Event or Open Interview;
- What is an open interview?;
- Hollywoods Made to Order Punks - Dead End Kids, Little Tough Guys, East Side Kids and the Bowery Boys.
- RATSEENAS INVADERS (SARAY SERIES Book 1).
- Cellular Telephones and Pagers: An Overview.
- The Disaster Preparedness Handbook: A Guide for Families.
- Why the PG&E Blackouts Spared California's Big Tech HQs?
Why use it? How to use it How to use it Everything below is an outline, and you should tackle the items in order from top to bottom. I'm using Github's special markdown flavor, including tasks lists to check progress. I'd appreciate your help to add free and always-available public sources, such as YouTube videos to accompany the online course videos. I like using university lectures. Python for Data Structures, Algorithms, and Interviews!
Book List This is a shorter list than what I used. This is abbreviated to save you time.
10 Data Structure, Algorithms, and Programming Courses to Crack Any Coding Interview
These chapters are worth the read to give you a nice foundation He's awesome. This book covers the same topics. It covered everything and more. Here are some mistakes I made so you'll have a better experience. You Won't Remember it All I watched hours of videos and took copious notes, and months later there was much I didn't remember. Read please so you won't make my mistakes: Retaining Computer Science Knowledge 2. Use Flashcards To solve the problem, I made a little flashcards site where I could add flashcards of 2 types: general and code.
I made a mobile-first website so I could review on my phone and tablet, wherever I am. Make your own for free: Flashcards site repo My flash cards database old - cards : My flash cards database new - cards : Keep in mind I went overboard and have cards covering everything from assembly language and Python trivia to machine learning and statistics. Take a break from programming problems for a half hour and go through your flashcards.
Focus There are a lot of distractions that can take up valuable time. Why code in all of these? You'll see examples in books, lectures, videos, everywhere while you're studying. C Programming Language, Vol 2 This is a short book, but it will give you a great handle on the C language and if you practice it a little you'll quickly get proficient. Understanding C helps you understand how programs and memory work. Just watch enough until you understand it. You can always come back and review. If some of the lectures are too mathy, you can jump down to the bottom and watch the discrete mathematics videos to get the background knowledge.
Linked List vs Arrays: Core Linked Lists Vs Arrays video In The Real World Linked Lists Vs Arrays video why you should avoid linked lists video Gotcha: you need pointer to pointer knowledge: for when you pass a pointer to a function that may change the address where that pointer points This page is just to get a grasp on ptr to ptr. I don't recommend this list traversal style. Readability and maintainability suffer due to cleverness. Implementing with array is trivial. Which on arrays?
7 tips for a stand-out interview presentation
Which on both? I wouldn't recommend sorting a linked list, but merge sort is doable. Heap sort is great, but not stable. Sedgewick - Mergesort 5 videos 1. Mergesort 2. Bottom up Mergesort 3. Sorting Complexity 4. Comparators 5. Stability Sedgewick - Quicksort 4 videos 1. Quicksort 2.
Selection 3. Duplicate Keys 4. Not required, but I recommended them: Sedgewick - Radix Sorts 6 videos 1. Strings in Java 2. Key Indexed Counting 3. If you need more detail on this subject, see "Sorting" section in Additional Detail on Some Subjects Graphs Graphs Graphs can be used to represent many problems in computer science, so this section is long, like trees and sorting were. Tail Recursion video Dynamic Programming You probably won't see any dynamic programming problems in your interview, but it's worth being able to recognize a problem as being a candidate for dynamic programming.
This subject can be pretty difficult, as each DP soluble problem must be defined as a recursion relation, and coming up with it can be tricky.
Other blog posts
I suggest looking at many examples of DP problems until you have a solid understanding of the pattern involved. Know what NP-complete means. Computational Complexity video Simonson: Greedy Algs. Long live testing. Is TDD dead? Introduction to Substring Search 2. Brute-Force Substring Search 3. Knuth-Morris Pratt 4.