|
@@ -67,111 +67,120 @@ If you want to be a reliability engineer or operations engineer, study more from
|
|
|
|
|
|
## Table of Contents
|
|
## Table of Contents
|
|
|
|
|
|
-- [Coding Interview University](#coding-interview-university)
|
|
|
|
- - [What is it?](#what-is-it)
|
|
|
|
- - [Table of Contents](#table-of-contents)
|
|
|
|
- - [Additional Resources](#additional-resources)
|
|
|
|
- - [Why use it?](#why-use-it)
|
|
|
|
- - [How to use it](#how-to-use-it)
|
|
|
|
- - [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough)
|
|
|
|
- - [About Video Resources](#about-video-resources)
|
|
|
|
- - [Interview Process & General Interview Prep](#interview-process--general-interview-prep)
|
|
|
|
- - [Pick One Language for the Interview](#pick-one-language-for-the-interview)
|
|
|
|
- - [Book List](#book-list)
|
|
|
|
- - [Interview Prep](#interview-prep)
|
|
|
|
- - [If you have tons of extra time:](#if-you-have-tons-of-extra-time)
|
|
|
|
- - [Language Specific](#language-specific)
|
|
|
|
- - [C++](#c)
|
|
|
|
- - [Java](#java)
|
|
|
|
- - [Python](#python)
|
|
|
|
- - [Before you Get Started](#before-you-get-started)
|
|
|
|
- - [1. You Won't Remember it All](#1-you-wont-remember-it-all)
|
|
|
|
- - [2. Use Flashcards](#2-use-flashcards)
|
|
|
|
- - [3. Start doing coding interview questions while you're learning data structures and algorithms](#3-start-doing-coding-interview-questions-while-youre-learning-data-structures-and-algorithms)
|
|
|
|
- - [4. Review, review, review](#4-review-review-review)
|
|
|
|
- - [5. Focus](#5-focus)
|
|
|
|
- - [What you won't see covered](#what-you-wont-see-covered)
|
|
|
|
- - [The Daily Plan](#the-daily-plan)
|
|
|
|
- - [Prerequisite Knowledge](#prerequisite-knowledge)
|
|
|
|
- - [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis)
|
|
|
|
- - [Data Structures](#data-structures)
|
|
|
|
- - [More Knowledge](#more-knowledge)
|
|
|
|
- - [Trees](#trees)
|
|
|
|
- - [Sorting](#sorting)
|
|
|
|
- - [Graphs](#graphs)
|
|
|
|
- - [Even More Knowledge](#even-more-knowledge)
|
|
|
|
- - [System Design, Scalability, Data Handling](#system-design-scalability-data-handling)
|
|
|
|
- - [Final Review](#final-review)
|
|
|
|
- - [Coding Question Practice](#coding-question-practice)
|
|
|
|
- - [Coding exercises/challenges](#coding-exerciseschallenges)
|
|
|
|
- - [Once you're closer to the interview](#once-youre-closer-to-the-interview)
|
|
|
|
- - [Your Resume](#your-resume)
|
|
|
|
- - [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes)
|
|
|
|
- - [Have questions for the interviewer](#have-questions-for-the-interviewer)
|
|
|
|
- - [Once You've Got The Job](#once-youve-got-the-job)
|
|
|
|
- - [Additional Books](#additional-books)
|
|
|
|
- - [Additional Learning](#additional-learning)
|
|
|
|
- - [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
|
|
|
|
- - [Video Series](#video-series)
|
|
|
|
- - [Computer Science Courses](#computer-science-courses)
|
|
|
|
- - [Algorithms implementation](#algorithms-implementation)
|
|
|
|
- - [Papers](#papers)
|
|
|
|
- - [LICENSE](#license)
|
|
|
|
|
|
+- [What is it?](#what-is-it)
|
|
|
|
+- [Why use it?](#why-use-it)
|
|
|
|
+- [How to use it](#how-to-use-it)
|
|
|
|
+- [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough)
|
|
|
|
+- [About Video Resources](#about-video-resources)
|
|
|
|
+- [Interview Process & General Interview Prep](#interview-process--general-interview-prep)
|
|
|
|
+- [Pick One Language for the Interview](#pick-one-language-for-the-interview)
|
|
|
|
+- [Book List](#book-list)
|
|
|
|
+- [Before you Get Started](#before-you-get-started)
|
|
|
|
+- [What you Won't See Covered](#what-you-wont-see-covered)
|
|
|
|
+- [The Daily Plan](#the-daily-plan)
|
|
|
|
+- [Prerequisite Knowledge](#prerequisite-knowledge)
|
|
|
|
+- [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis)
|
|
|
|
+- [Data Structures](#data-structures)
|
|
|
|
+ - [Arrays](#arrays)
|
|
|
|
+ - [Linked Lists](#linked-lists)
|
|
|
|
+ - [Stack](#stack)
|
|
|
|
+ - [Queue](#queue)
|
|
|
|
+ - [Hash table](#hash-table)
|
|
|
|
+- [More Knowledge](#more-knowledge)
|
|
|
|
+ - [Binary search](#binary-search)
|
|
|
|
+ - [Bitwise operations](#bitwise-operations)
|
|
|
|
+- [Trees](#trees)
|
|
|
|
+ - [Trees - Notes & Background](#trees---notes--background)
|
|
|
|
+ - [Binary search trees: BSTs](#binary-search-trees-bsts)
|
|
|
|
+ - [Heap / Priority Queue / Binary Heap](#heap--priority-queue--binary-heap)
|
|
|
|
+ - balanced search trees (general concept, not details)
|
|
|
|
+ - traversals: preorder, inorder, postorder, BFS, DFS
|
|
|
|
+- [Sorting](#sorting)
|
|
|
|
+ - selection
|
|
|
|
+ - insertion
|
|
|
|
+ - heapsort
|
|
|
|
+ - quicksort
|
|
|
|
+ - merge sort
|
|
|
|
+- [Graphs](#graphs)
|
|
|
|
+ - directed
|
|
|
|
+ - undirected
|
|
|
|
+ - adjacency matrix
|
|
|
|
+ - adjacency list
|
|
|
|
+ - traversals: BFS, DFS
|
|
|
|
+- [Even More Knowledge](#even-more-knowledge)
|
|
|
|
+ - [Recursion](#recursion)
|
|
|
|
+ - [Dynamic Programming](#dynamic-programming)
|
|
|
|
+ - [Object-Oriented Programming](#object-oriented-programming)
|
|
|
|
+ - [Design Patterns](#design-patterns)
|
|
|
|
+ - [Combinatorics (n choose k) & Probability](#combinatorics-n-choose-k--probability)
|
|
|
|
+ - [NP, NP-Complete and Approximation Algorithms](#np-np-complete-and-approximation-algorithms)
|
|
|
|
+ - [Caches](#caches)
|
|
|
|
+ - [Processes and Threads](#processes-and-threads)
|
|
|
|
+ - [Testing](#testing)
|
|
|
|
+ - [Scheduling](#scheduling)
|
|
|
|
+ - [String searching & manipulations](#string-searching--manipulations)
|
|
|
|
+ - [Tries](#tries)
|
|
|
|
+ - [Floating Point Numbers](#floating-point-numbers)
|
|
|
|
+ - [Unicode](#unicode)
|
|
|
|
+ - [Endianness](#endianness)
|
|
|
|
+ - [Networking](#networking)
|
|
|
|
+- [System Design, Scalability, Data Handling](#system-design-scalability-data-handling) (if you have 4+ years experience)
|
|
|
|
+- [Final Review](#final-review)
|
|
|
|
+- [Coding Question Practice](#coding-question-practice)
|
|
|
|
+- [Coding exercises/challenges](#coding-exerciseschallenges)
|
|
|
|
+- [Once you're closer to the interview](#once-youre-closer-to-the-interview)
|
|
|
|
+- [Your Resume](#your-resume)
|
|
|
|
+- [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes)
|
|
|
|
+- [Have questions for the interviewer](#have-questions-for-the-interviewer)
|
|
|
|
+- [Once You've Got The Job](#once-youve-got-the-job)
|
|
|
|
|
|
---------------- Everything below this point is optional ----------------
|
|
---------------- Everything below this point is optional ----------------
|
|
|
|
|
|
## Additional Resources
|
|
## Additional Resources
|
|
|
|
|
|
-- [Coding Interview University](#coding-interview-university)
|
|
|
|
- - [What is it?](#what-is-it)
|
|
|
|
- - [Table of Contents](#table-of-contents)
|
|
|
|
- - [Additional Resources](#additional-resources)
|
|
|
|
- - [Why use it?](#why-use-it)
|
|
|
|
- - [How to use it](#how-to-use-it)
|
|
|
|
- - [Don't feel you aren't smart enough](#dont-feel-you-arent-smart-enough)
|
|
|
|
- - [About Video Resources](#about-video-resources)
|
|
|
|
- - [Interview Process & General Interview Prep](#interview-process--general-interview-prep)
|
|
|
|
- - [Pick One Language for the Interview](#pick-one-language-for-the-interview)
|
|
|
|
- - [Book List](#book-list)
|
|
|
|
- - [Interview Prep](#interview-prep)
|
|
|
|
- - [If you have tons of extra time:](#if-you-have-tons-of-extra-time)
|
|
|
|
- - [Language Specific](#language-specific)
|
|
|
|
- - [C++](#c)
|
|
|
|
- - [Java](#java)
|
|
|
|
- - [Python](#python)
|
|
|
|
- - [Before you Get Started](#before-you-get-started)
|
|
|
|
- - [1. You Won't Remember it All](#1-you-wont-remember-it-all)
|
|
|
|
- - [2. Use Flashcards](#2-use-flashcards)
|
|
|
|
- - [3. Start doing coding interview questions while you're learning data structures and algorithms](#3-start-doing-coding-interview-questions-while-youre-learning-data-structures-and-algorithms)
|
|
|
|
- - [4. Review, review, review](#4-review-review-review)
|
|
|
|
- - [5. Focus](#5-focus)
|
|
|
|
- - [What you won't see covered](#what-you-wont-see-covered)
|
|
|
|
- - [The Daily Plan](#the-daily-plan)
|
|
|
|
- - [Prerequisite Knowledge](#prerequisite-knowledge)
|
|
|
|
- - [Algorithmic complexity / Big-O / Asymptotic analysis](#algorithmic-complexity--big-o--asymptotic-analysis)
|
|
|
|
- - [Data Structures](#data-structures)
|
|
|
|
- - [More Knowledge](#more-knowledge)
|
|
|
|
- - [Trees](#trees)
|
|
|
|
- - [Sorting](#sorting)
|
|
|
|
- - [Graphs](#graphs)
|
|
|
|
- - [Even More Knowledge](#even-more-knowledge)
|
|
|
|
- - [System Design, Scalability, Data Handling](#system-design-scalability-data-handling)
|
|
|
|
- - [Final Review](#final-review)
|
|
|
|
- - [Coding Question Practice](#coding-question-practice)
|
|
|
|
- - [Coding exercises/challenges](#coding-exerciseschallenges)
|
|
|
|
- - [Once you're closer to the interview](#once-youre-closer-to-the-interview)
|
|
|
|
- - [Your Resume](#your-resume)
|
|
|
|
- - [Be thinking of for when the interview comes](#be-thinking-of-for-when-the-interview-comes)
|
|
|
|
- - [Have questions for the interviewer](#have-questions-for-the-interviewer)
|
|
|
|
- - [Once You've Got The Job](#once-youve-got-the-job)
|
|
|
|
- - [Additional Books](#additional-books)
|
|
|
|
- - [Additional Learning](#additional-learning)
|
|
|
|
- - [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
|
|
|
|
- - [Video Series](#video-series)
|
|
|
|
- - [Computer Science Courses](#computer-science-courses)
|
|
|
|
- - [Algorithms implementation](#algorithms-implementation)
|
|
|
|
- - [Papers](#papers)
|
|
|
|
- - [LICENSE](#license)
|
|
|
|
|
|
+- [Additional Books](#additional-books)
|
|
|
|
+- [Additional Learning](#additional-learning)
|
|
|
|
+ - [Compilers](#compilers)
|
|
|
|
+ - [Emacs and vi(m)](#emacs-and-vim)
|
|
|
|
+ - [Unix command line tools](#unix-command-line-tools)
|
|
|
|
+ - [Information theory](#information-theory-videos)
|
|
|
|
+ - [Parity & Hamming Code](#parity--hamming-code-videos)
|
|
|
|
+ - [Entropy](#entropy)
|
|
|
|
+ - [Cryptography](#cryptography)
|
|
|
|
+ - [Compression](#compression)
|
|
|
|
+ - [Computer Security](#computer-security)
|
|
|
|
+ - [Garbage collection](#garbage-collection)
|
|
|
|
+ - [Parallel Programming](#parallel-programming)
|
|
|
|
+ - [Messaging, Serialization, and Queueing Systems](#messaging-serialization-and-queueing-systems)
|
|
|
|
+ - [A*](#a)
|
|
|
|
+ - [Fast Fourier Transform](#fast-fourier-transform)
|
|
|
|
+ - [Bloom Filter](#bloom-filter)
|
|
|
|
+ - [HyperLogLog](#hyperloglog)
|
|
|
|
+ - [Locality-Sensitive Hashing](#locality-sensitive-hashing)
|
|
|
|
+ - [van Emde Boas Trees](#van-emde-boas-trees)
|
|
|
|
+ - [Augmented Data Structures](#augmented-data-structures)
|
|
|
|
+ - [Balanced search trees](#balanced-search-trees)
|
|
|
|
+ - AVL trees
|
|
|
|
+ - Splay trees
|
|
|
|
+ - Red/black trees
|
|
|
|
+ - 2-3 search trees
|
|
|
|
+ - 2-3-4 Trees (aka 2-4 trees)
|
|
|
|
+ - N-ary (K-ary, M-ary) trees
|
|
|
|
+ - B-Trees
|
|
|
|
+ - [k-D Trees](#k-d-trees)
|
|
|
|
+ - [Skip lists](#skip-lists)
|
|
|
|
+ - [Network Flows](#network-flows)
|
|
|
|
+ - [Disjoint Sets & Union Find](#disjoint-sets--union-find)
|
|
|
|
+ - [Math for Fast Processing](#math-for-fast-processing)
|
|
|
|
+ - [Treap](#treap)
|
|
|
|
+ - [Linear Programming](#linear-programming-videos)
|
|
|
|
+ - [Geometry, Convex hull](#geometry-convex-hull-videos)
|
|
|
|
+ - [Discrete math](#discrete-math)
|
|
|
|
+ - [Machine Learning](#machine-learning)
|
|
|
|
+- [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
|
|
|
|
+- [Video Series](#video-series)
|
|
|
|
+- [Computer Science Courses](#computer-science-courses)
|
|
|
|
+- [Papers](#papers)
|
|
|
|
|
|
---
|
|
---
|
|
|
|
|