| Skip to content | https://github.com/coder0728/coding-interview-university#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcoder0728%2Fcoding-interview-university |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub SparkBuild and deploy intelligent apps | https://github.com/features/spark |
| GitHub ModelsManage and compare prompts | https://github.com/features/models |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcoder0728%2Fcoding-interview-university |
|
Sign up
| https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=coder0728%2Fcoding-interview-university |
| Reload | https://github.com/coder0728/coding-interview-university |
| Reload | https://github.com/coder0728/coding-interview-university |
| Reload | https://github.com/coder0728/coding-interview-university |
|
coder0728
| https://github.com/coder0728 |
| coding-interview-university | https://github.com/coder0728/coding-interview-university |
| jwasham/coding-interview-university | https://github.com/jwasham/coding-interview-university |
|
Notifications
| https://github.com/login?return_to=%2Fcoder0728%2Fcoding-interview-university |
|
Fork
0
| https://github.com/login?return_to=%2Fcoder0728%2Fcoding-interview-university |
|
Star
1
| https://github.com/login?return_to=%2Fcoder0728%2Fcoding-interview-university |
|
CC-BY-SA-4.0 license
| https://github.com/coder0728/coding-interview-university/blob/master/LICENSE.txt |
|
1
star
| https://github.com/coder0728/coding-interview-university/stargazers |
|
81.6k
forks
| https://github.com/coder0728/coding-interview-university/forks |
|
Branches
| https://github.com/coder0728/coding-interview-university/branches |
|
Tags
| https://github.com/coder0728/coding-interview-university/tags |
|
Activity
| https://github.com/coder0728/coding-interview-university/activity |
|
Star
| https://github.com/login?return_to=%2Fcoder0728%2Fcoding-interview-university |
|
Notifications
| https://github.com/login?return_to=%2Fcoder0728%2Fcoding-interview-university |
|
Code
| https://github.com/coder0728/coding-interview-university |
|
Pull requests
0
| https://github.com/coder0728/coding-interview-university/pulls |
|
Actions
| https://github.com/coder0728/coding-interview-university/actions |
|
Projects
0
| https://github.com/coder0728/coding-interview-university/projects |
|
Security
Uh oh!
There was an error while loading. Please reload this page.
| https://github.com/coder0728/coding-interview-university/security |
| Please reload this page | https://github.com/coder0728/coding-interview-university |
|
Insights
| https://github.com/coder0728/coding-interview-university/pulse |
|
Code
| https://github.com/coder0728/coding-interview-university |
|
Pull requests
| https://github.com/coder0728/coding-interview-university/pulls |
|
Actions
| https://github.com/coder0728/coding-interview-university/actions |
|
Projects
| https://github.com/coder0728/coding-interview-university/projects |
|
Security
| https://github.com/coder0728/coding-interview-university/security |
|
Insights
| https://github.com/coder0728/coding-interview-university/pulse |
| Branches | https://github.com/coder0728/coding-interview-university/branches |
| Tags | https://github.com/coder0728/coding-interview-university/tags |
| https://github.com/coder0728/coding-interview-university/branches |
| https://github.com/coder0728/coding-interview-university/tags |
| 1,324 Commits | https://github.com/coder0728/coding-interview-university/commits/master/ |
| https://github.com/coder0728/coding-interview-university/commits/master/ |
| extras/cheat sheets | https://github.com/coder0728/coding-interview-university/tree/master/extras/cheat%20sheets |
| extras/cheat sheets | https://github.com/coder0728/coding-interview-university/tree/master/extras/cheat%20sheets |
| translations | https://github.com/coder0728/coding-interview-university/tree/master/translations |
| translations | https://github.com/coder0728/coding-interview-university/tree/master/translations |
| .gitignore | https://github.com/coder0728/coding-interview-university/blob/master/.gitignore |
| .gitignore | https://github.com/coder0728/coding-interview-university/blob/master/.gitignore |
| LICENSE.txt | https://github.com/coder0728/coding-interview-university/blob/master/LICENSE.txt |
| LICENSE.txt | https://github.com/coder0728/coding-interview-university/blob/master/LICENSE.txt |
| README.md | https://github.com/coder0728/coding-interview-university/blob/master/README.md |
| README.md | https://github.com/coder0728/coding-interview-university/blob/master/README.md |
| programming-language-resources.md | https://github.com/coder0728/coding-interview-university/blob/master/programming-language-resources.md |
| programming-language-resources.md | https://github.com/coder0728/coding-interview-university/blob/master/programming-language-resources.md |
| README | https://github.com/coder0728/coding-interview-university |
| CC-BY-SA-4.0 license | https://github.com/coder0728/coding-interview-university |
| https://github.com/coder0728/coding-interview-university#coding-interview-university |
| I got hired
as a Software Development Engineer at Amazon | https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu |
| Why I studied full-time for 8 months for a Google interview | https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13 |
| 中文版本 | https://github.com/coder0728/coding-interview-university/blob/master/translations/README-cn.md |
| Tiếng Việt - Vietnamese | https://github.com/coder0728/coding-interview-university/blob/master/translations/README-vi.md |
| Español | https://github.com/coder0728/coding-interview-university/blob/master/translations/README-es.md |
| Português Brasileiro | https://github.com/coder0728/coding-interview-university/blob/master/translations/README-ptbr.md |
| हिन्दी | https://github.com/jwasham/coding-interview-university/issues/81 |
| עברית | https://github.com/jwasham/coding-interview-university/issues/82 |
| Bahasa Indonesia | https://github.com/jwasham/coding-interview-university/issues/101 |
| Arabic | https://github.com/jwasham/coding-interview-university/issues/98 |
| Turkish | https://github.com/jwasham/coding-interview-university/issues/90 |
| French | https://github.com/jwasham/coding-interview-university/issues/89 |
| Russian | https://github.com/jwasham/coding-interview-university/issues/87 |
| Ukrainian | https://github.com/jwasham/coding-interview-university/issues/106 |
| Korean(한국어) | https://github.com/jwasham/coding-interview-university/issues/118 |
| Telugu | https://github.com/jwasham/coding-interview-university/issues/117 |
| Polish | https://github.com/jwasham/coding-interview-university/issues/122 |
| Urdu | https://github.com/jwasham/coding-interview-university/issues/140 |
| Thai | https://github.com/jwasham/coding-interview-university/issues/156 |
| Greek | https://github.com/jwasham/coding-interview-university/issues/166 |
| Italian | https://github.com/jwasham/coding-interview-university/issues/170 |
| Malayalam | https://github.com/jwasham/coding-interview-university/issues/239 |
| Japanese (日本語) | https://github.com/jwasham/coding-interview-university/issues/257 |
| https://github.com/coder0728/coding-interview-university#what-is-it |
| https://camo.githubusercontent.com/1b83608ba56e258ac6954602415a81bddca8c359de06d80970c434833725d32d/68747470733a2f2f64336a32706b6d6a74696e366f752e636c6f756466726f6e742e6e65742f636f64696e672d61742d7468652d7768697465626f6172642d73696c69636f6e2d76616c6c65792e706e67 |
| https://github.com/coder0728/coding-interview-university#table-of-contents |
| What is it? | https://github.com/coder0728/coding-interview-university#what-is-it |
| Why use it? | https://github.com/coder0728/coding-interview-university#why-use-it |
| How to use it | https://github.com/coder0728/coding-interview-university#how-to-use-it |
| Don't feel you aren't smart enough | https://github.com/coder0728/coding-interview-university#dont-feel-you-arent-smart-enough |
| About Video Resources | https://github.com/coder0728/coding-interview-university#about-video-resources |
| Interview Process & General Interview Prep | https://github.com/coder0728/coding-interview-university#interview-process--general-interview-prep |
| Pick One Language for the Interview | https://github.com/coder0728/coding-interview-university#pick-one-language-for-the-interview |
| Book List | https://github.com/coder0728/coding-interview-university#book-list |
| Before you Get Started | https://github.com/coder0728/coding-interview-university#before-you-get-started |
| What you Won't See Covered | https://github.com/coder0728/coding-interview-university#what-you-wont-see-covered |
| Prerequisite Knowledge | https://github.com/coder0728/coding-interview-university#prerequisite-knowledge |
| The Daily Plan | https://github.com/coder0728/coding-interview-university#the-daily-plan |
| Algorithmic complexity / Big-O / Asymptotic analysis | https://github.com/coder0728/coding-interview-university#algorithmic-complexity--big-o--asymptotic-analysis |
| Data Structures | https://github.com/coder0728/coding-interview-university#data-structures |
| Arrays | https://github.com/coder0728/coding-interview-university#arrays |
| Linked Lists | https://github.com/coder0728/coding-interview-university#linked-lists |
| Stack | https://github.com/coder0728/coding-interview-university#stack |
| Queue | https://github.com/coder0728/coding-interview-university#queue |
| Hash table | https://github.com/coder0728/coding-interview-university#hash-table |
| More Knowledge | https://github.com/coder0728/coding-interview-university#more-knowledge |
| Binary search | https://github.com/coder0728/coding-interview-university#binary-search |
| Bitwise operations | https://github.com/coder0728/coding-interview-university#bitwise-operations |
| Trees | https://github.com/coder0728/coding-interview-university#trees |
| Trees - Notes & Background | https://github.com/coder0728/coding-interview-university#trees---notes--background |
| Binary search trees: BSTs | https://github.com/coder0728/coding-interview-university#binary-search-trees-bsts |
| Heap / Priority Queue / Binary Heap | https://github.com/coder0728/coding-interview-university#heap--priority-queue--binary-heap |
| Sorting | https://github.com/coder0728/coding-interview-university#sorting |
| Graphs | https://github.com/coder0728/coding-interview-university#graphs |
| Even More Knowledge | https://github.com/coder0728/coding-interview-university#even-more-knowledge |
| Recursion | https://github.com/coder0728/coding-interview-university#recursion |
| Dynamic Programming | https://github.com/coder0728/coding-interview-university#dynamic-programming |
| Object-Oriented Programming | https://github.com/coder0728/coding-interview-university#object-oriented-programming |
| Design Patterns | https://github.com/coder0728/coding-interview-university#design-patterns |
| Combinatorics (n choose k) & Probability | https://github.com/coder0728/coding-interview-university#combinatorics-n-choose-k--probability |
| NP, NP-Complete and Approximation Algorithms | https://github.com/coder0728/coding-interview-university#np-np-complete-and-approximation-algorithms |
| Caches | https://github.com/coder0728/coding-interview-university#caches |
| Processes and Threads | https://github.com/coder0728/coding-interview-university#processes-and-threads |
| Testing | https://github.com/coder0728/coding-interview-university#testing |
| Scheduling | https://github.com/coder0728/coding-interview-university#scheduling |
| String searching & manipulations | https://github.com/coder0728/coding-interview-university#string-searching--manipulations |
| Tries | https://github.com/coder0728/coding-interview-university#tries |
| Floating Point Numbers | https://github.com/coder0728/coding-interview-university#floating-point-numbers |
| Unicode | https://github.com/coder0728/coding-interview-university#unicode |
| Endianness | https://github.com/coder0728/coding-interview-university#endianness |
| Networking | https://github.com/coder0728/coding-interview-university#networking |
| System Design, Scalability, Data Handling | https://github.com/coder0728/coding-interview-university#system-design-scalability-data-handling |
| Final Review | https://github.com/coder0728/coding-interview-university#final-review |
| Coding Question Practice | https://github.com/coder0728/coding-interview-university#coding-question-practice |
| Coding exercises/challenges | https://github.com/coder0728/coding-interview-university#coding-exerciseschallenges |
| Once you're closer to the interview | https://github.com/coder0728/coding-interview-university#once-youre-closer-to-the-interview |
| Your Resume | https://github.com/coder0728/coding-interview-university#your-resume |
| Be thinking of for when the interview comes | https://github.com/coder0728/coding-interview-university#be-thinking-of-for-when-the-interview-comes |
| Have questions for the interviewer | https://github.com/coder0728/coding-interview-university#have-questions-for-the-interviewer |
| Once You've Got The Job | https://github.com/coder0728/coding-interview-university#once-youve-got-the-job |
| https://github.com/coder0728/coding-interview-university#additional-resources |
| Additional Books | https://github.com/coder0728/coding-interview-university#additional-books |
| Additional Learning | https://github.com/coder0728/coding-interview-university#additional-learning |
| Compilers | https://github.com/coder0728/coding-interview-university#compilers |
| Emacs and vi(m) | https://github.com/coder0728/coding-interview-university#emacs-and-vim |
| Unix command line tools | https://github.com/coder0728/coding-interview-university#unix-command-line-tools |
| Information theory | https://github.com/coder0728/coding-interview-university#information-theory-videos |
| Parity & Hamming Code | https://github.com/coder0728/coding-interview-university#parity--hamming-code-videos |
| Entropy | https://github.com/coder0728/coding-interview-university#entropy |
| Cryptography | https://github.com/coder0728/coding-interview-university#cryptography |
| Compression | https://github.com/coder0728/coding-interview-university#compression |
| Computer Security | https://github.com/coder0728/coding-interview-university#computer-security |
| Garbage collection | https://github.com/coder0728/coding-interview-university#garbage-collection |
| Parallel Programming | https://github.com/coder0728/coding-interview-university#parallel-programming |
| Messaging, Serialization, and Queueing Systems | https://github.com/coder0728/coding-interview-university#messaging-serialization-and-queueing-systems |
| A* | https://github.com/coder0728/coding-interview-university#a |
| Fast Fourier Transform | https://github.com/coder0728/coding-interview-university#fast-fourier-transform |
| Bloom Filter | https://github.com/coder0728/coding-interview-university#bloom-filter |
| HyperLogLog | https://github.com/coder0728/coding-interview-university#hyperloglog |
| Locality-Sensitive Hashing | https://github.com/coder0728/coding-interview-university#locality-sensitive-hashing |
| van Emde Boas Trees | https://github.com/coder0728/coding-interview-university#van-emde-boas-trees |
| Augmented Data Structures | https://github.com/coder0728/coding-interview-university#augmented-data-structures |
| Balanced search trees | https://github.com/coder0728/coding-interview-university#balanced-search-trees |
| k-D Trees | https://github.com/coder0728/coding-interview-university#k-d-trees |
| Skip lists | https://github.com/coder0728/coding-interview-university#skip-lists |
| Network Flows | https://github.com/coder0728/coding-interview-university#network-flows |
| Disjoint Sets & Union Find | https://github.com/coder0728/coding-interview-university#disjoint-sets--union-find |
| Math for Fast Processing | https://github.com/coder0728/coding-interview-university#math-for-fast-processing |
| Treap | https://github.com/coder0728/coding-interview-university#treap |
| Linear Programming | https://github.com/coder0728/coding-interview-university#linear-programming-videos |
| Geometry, Convex hull | https://github.com/coder0728/coding-interview-university#geometry-convex-hull-videos |
| Discrete math | https://github.com/coder0728/coding-interview-university#discrete-math |
| Machine Learning | https://github.com/coder0728/coding-interview-university#machine-learning |
| Additional Detail on Some Subjects | https://github.com/coder0728/coding-interview-university#additional-detail-on-some-subjects |
| Video Series | https://github.com/coder0728/coding-interview-university#video-series |
| Computer Science Courses | https://github.com/coder0728/coding-interview-university#computer-science-courses |
| Papers | https://github.com/coder0728/coding-interview-university#papers |
| https://github.com/coder0728/coding-interview-university#why-use-it |
| https://github.com/coder0728/coding-interview-university#how-to-use-it |
| More about Github-flavored markdown | https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown |
| https://github.com/coder0728/coding-interview-university#dont-feel-you-arent-smart-enough |
| The myth of the Genius Programmer | https://www.youtube.com/watch?v=0SARbwvhupQ |
| It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech | https://www.youtube.com/watch?v=1i8ylq4j_EY |
| https://github.com/coder0728/coding-interview-university#about-video-resources |
| https://github.com/coder0728/coding-interview-university#interview-process--general-interview-prep |
| ABC: Always Be Coding | https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4 |
| Whiteboarding | https://medium.com/@dpup/whiteboarding-4df873dbba2e#.hf6jn45g1 |
| Effective Whiteboarding during Programming Interviews | http://www.coderust.com/blog/2014/04/10/effective-whiteboarding-during-programming-interviews/ |
| Demystifying Tech Recruiting | https://www.youtube.com/watch?v=N233T0epWTs |
| How to Get a Job at the Big 4 - Amazon, Facebook, Google & Microsoft (video) | https://www.youtube.com/watch?v=YJZCUhxNCv8 |
| Gayle L McDowell - Cracking The Coding Interview (video) | https://www.youtube.com/watch?v=rEJzOhC5ZtQ |
| Cracking the Coding Interview with Author Gayle Laakmann McDowell (video) | https://www.youtube.com/watch?v=aClxtDcdpsQ |
| The Approach | https://www.youtube.com/watch?v=wCl9kvQGHPI |
| Problem Walkthrough | https://www.youtube.com/watch?v=4UWDyJq8jZg |
| Software Engineer Interview Unleashed (paid course) | https://www.udemy.com/software-engineer-interview-unleashed |
| Python for Data Structures, Algorithms, and Interviews (paid course) | https://www.udemy.com/python-for-data-structures-algorithms-and-interviews/ |
| Intro to Data Structures and Algorithms using Python (Udacity free course) | https://www.udacity.com/course/data-structures-and-algorithms-in-python--ud513 |
| Data Structures and Algorithms Nanodegree! (Udacity paid Nanodegree) | https://www.udacity.com/course/data-structures-and-algorithms-nanodegree--nd256 |
| https://github.com/coder0728/coding-interview-university#pick-one-language-for-the-interview |
| Pick One Language for the Coding Interview | https://startupnextdoor.com/important-pick-one-language-for-the-coding-interview/ |
| http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/ | http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/ |
| http://blog.codingforinterviews.com/best-programming-language-jobs/ | http://blog.codingforinterviews.com/best-programming-language-jobs/ |
| See language resources here | https://github.com/coder0728/coding-interview-university/blob/master/programming-language-resources.md |
| https://github.com/coder0728/coding-interview-university#book-list |
| https://github.com/coder0728/coding-interview-university#interview-prep |
| Programming Interviews Exposed: Coding Your Way Through the Interview, 4th Edition | https://www.amazon.com/Programming-Interviews-Exposed-Through-Interview/dp/111941847X/ |
| Cracking the Coding Interview, 6th Edition | http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/ |
| https://github.com/coder0728/coding-interview-university#if-you-have-tons-of-extra-time |
| Elements of Programming Interviews (C++ version) | https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836 |
| Elements of Programming Interviews in Python | https://www.amazon.com/Elements-Programming-Interviews-Python-Insiders/dp/1537713949/ |
| book | https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/ |
| Companion Project - Method Stub and Test Cases for Every Problem in the Book | https://github.com/gardncl/elements-of-programming-interviews |
| https://github.com/coder0728/coding-interview-university#language-specific |
| Additional language-specific resources here. | https://github.com/coder0728/coding-interview-university/blob/master/programming-language-resources.md |
| https://github.com/coder0728/coding-interview-university#c |
| Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching | https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/ |
| Algorithms in C++ Part 5: Graph Algorithms | https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/ |
| https://github.com/coder0728/coding-interview-university#java |
| Algorithms (Sedgewick and Wayne) | https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/ |
| Algorithms I | https://www.coursera.org/learn/algorithms-part1 |
| Algorithms II | https://www.coursera.org/learn/algorithms-part2 |
| Data Structures and Algorithms in Java | https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/ |
| https://github.com/coder0728/coding-interview-university#python |
| Data Structures and Algorithms in Python | https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/ |
| https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/ | https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/ |
| https://github.com/coder0728/coding-interview-university#before-you-get-started |
| https://github.com/coder0728/coding-interview-university#1-you-wont-remember-it-all |
| Retaining Computer Science Knowledge | https://startupnextdoor.com/retaining-computer-science-knowledge/ |
| Learning how to Learn | https://www.coursera.org/learn/learning-how-to-learn |
| https://github.com/coder0728/coding-interview-university#2-use-flashcards |
| Flashcards site repo | https://github.com/jwasham/computer-science-flash-cards |
| My flash cards database (old - 1200 cards) | https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham.db |
| My flash cards database (new - 1800 cards) | https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham-extreme.db |
| Anki | http://ankisrs.net/ |
| https://ankiweb.net/shared/info/25173560 | https://ankiweb.net/shared/info/25173560 |
| @xiewenya | https://github.com/xiewenya |
| https://github.com/coder0728/coding-interview-university#3-start-doing-coding-interview-questions-while-youre-learning-data-structures-and-algorithms |
| Coding Question Practice | https://github.com/coder0728/coding-interview-university#coding-question-practice |
| https://github.com/coder0728/coding-interview-university#4-review-review-review |
| https://github.com/coder0728/coding-interview-university#5-focus |
| https://github.com/coder0728/coding-interview-university#what-you-wont-see-covered |
| https://github.com/coder0728/coding-interview-university#the-daily-plan |
| one language for the interview | https://github.com/coder0728/coding-interview-university#pick-one-language-for-the-interview |
| C | https://github.com/jwasham/practice-c |
| C++ | https://github.com/jwasham/practice-cpp |
| Python | https://github.com/jwasham/practice-python |
| https://github.com/coder0728/coding-interview-university#prerequisite-knowledge |
| C Programming Language, Vol 2 | https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628 |
| answers to questions | https://github.com/lekkas/c-algorithms |
| How CPU executes a program (video) | https://www.youtube.com/watch?v=XM4lGflQFvA |
| How computers calculate - ALU (video) | https://youtu.be/1I5ZMmrOfnA |
| Registers and RAM (video) | https://youtu.be/fpnE6UAfbtU |
| The Central Processing Unit (CPU) (video) | https://youtu.be/FZGugFqdr60 |
| Instructions and Programs (video) | https://youtu.be/zltgXvg6r3k |
| https://github.com/coder0728/coding-interview-university#algorithmic-complexity--big-o--asymptotic-analysis |
| Harvard CS50 - Asymptotic Notation (video) | https://www.youtube.com/watch?v=iOq5kSKqeR4 |
| Big O Notations (general quick tutorial) (video) | https://www.youtube.com/watch?v=V6mKVRU1evU |
| Big O Notation (and Omega and Theta) - best mathematical explanation (video) | https://www.youtube.com/watch?v=ei-A_wy5Yxw&index=2&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN |
| video | https://www.youtube.com/watch?v=gSyDMtdPNpU&index=2&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b |
| slides | http://www3.cs.stonybrook.edu/~algorith/video-lectures/2007/lecture2.pdf |
| A Gentle Introduction to Algorithm Complexity Analysis | http://discrete.gr/complexity/ |
| Orders of Growth (video) | https://www.coursera.org/lecture/algorithmic-thinking-1/orders-of-growth-6PKkX |
| Asymptotics (video) | https://www.coursera.org/lecture/algorithmic-thinking-1/asymptotics-bXAtM |
| UC Berkeley Big O (video) | https://archive.org/details/ucberkeley_webcast_VIS4YDpuP98 |
| UC Berkeley Big Omega (video) | https://archive.org/details/ucberkeley_webcast_ca3e7UVmeUc |
| Amortized Analysis (video) | https://www.youtube.com/watch?v=B3SpQZaAZP4&index=10&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN |
| Illustrating "Big O" (video) | https://www.coursera.org/lecture/algorithmic-thinking-1/illustrating-big-o-YVqzv |
| Computational Complexity: Section 1 | https://www.topcoder.com/community/competitive-programming/tutorials/computational-complexity-section-1/ |
| Computational Complexity: Section 2 | https://www.topcoder.com/community/competitive-programming/tutorials/computational-complexity-section-2/ |
| Cheat sheet | http://bigocheatsheet.com/ |
| https://github.com/coder0728/coding-interview-university#data-structures |
| https://github.com/coder0728/coding-interview-university#arrays |
| Arrays (video) | https://www.coursera.org/learn/data-structures/lecture/OsBSF/arrays |
| UC Berkeley CS61B - Linear and Multi-Dim Arrays (video) | https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE |
| Basic Arrays (video) | https://archive.org/details/0102WhatYouShouldKnow/02_04-basicArrays.mp4 |
| Multi-dim (video) | https://archive.org/details/0102WhatYouShouldKnow/02_05-multidimensionalArrays.mp4 |
| Dynamic Arrays (video) | https://www.coursera.org/learn/data-structures/lecture/EwbnV/dynamic-arrays |
| Jagged Arrays (video) | https://www.youtube.com/watch?v=1jtrQqYpt7g |
| Jagged Arrays (video) | https://archive.org/details/0102WhatYouShouldKnow/02_06-jaggedArrays.mp4 |
| Resizing arrays (video) | https://archive.org/details/0102WhatYouShouldKnow/03_01-resizableArrays.mp4 |
| https://github.com/coder0728/coding-interview-university#linked-lists |
| Singly Linked Lists (video) | https://www.coursera.org/learn/data-structures/lecture/kHhgK/singly-linked-lists |
| CS 61B - Linked Lists 1 (video) | https://archive.org/details/ucberkeley_webcast_htzJdKoEmO0 |
| CS 61B - Linked Lists 2 (video) | https://archive.org/details/ucberkeley_webcast_-c4I3gFYe3w |
| C Code (video) | https://www.youtube.com/watch?v=QN6FPiD0Gzo |
| Core Linked Lists Vs Arrays (video) | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/rjBs9/core-linked-lists-vs-arrays |
| In The Real World Linked Lists Vs Arrays (video) | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/QUaUd/in-the-real-world-lists-vs-arrays |
| why you should avoid linked lists (video) | https://www.youtube.com/watch?v=YQs6IC-vgmo |
| Pointers to Pointers | https://www.eskimo.com/~scs/cclass/int/sx8.html |
| Description (video) | https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists |
| https://github.com/coder0728/coding-interview-university#stack |
| Stacks (video) | https://www.coursera.org/learn/data-structures/lecture/UdKzQ/stacks |
| Using Stacks Last-In First-Out (video) | https://archive.org/details/0102WhatYouShouldKnow/05_01-usingStacksForLast-inFirst-out.mp4 |
| https://github.com/coder0728/coding-interview-university#queue |
| Using Queues First-In First-Out(video) | https://archive.org/details/0102WhatYouShouldKnow/05_03-usingQueuesForFirst-inFirst-out.mp4 |
| Queue (video) | https://www.coursera.org/lecture/data-structures/queues-EShpq |
| Circular buffer/FIFO | https://en.wikipedia.org/wiki/Circular_buffer |
| Priority Queues (video) | https://archive.org/details/0102WhatYouShouldKnow/05_04-priorityQueuesAndDeques.mp4 |
| https://github.com/coder0728/coding-interview-university#hash-table |
| Hashing with Chaining (video) | https://www.youtube.com/watch?v=0M_kIqhwbFo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=8 |
| Table Doubling, Karp-Rabin (video) | https://www.youtube.com/watch?v=BRO7mVIFt08&index=9&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb |
| Open Addressing, Cryptographic Hashing (video) | https://www.youtube.com/watch?v=rvdJDijO2Ro&index=10&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb |
| PyCon 2010: The Mighty Dictionary (video) | https://www.youtube.com/watch?v=C4Kc8xzcA68 |
| (Advanced) Randomization: Universal & Perfect Hashing (video) | https://www.youtube.com/watch?v=z0lJ2k0sl1g&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=11 |
| (Advanced) Perfect hashing (video) | https://www.youtube.com/watch?v=N0COwN14gt0&list=PL2B4EEwhKD-NbwZ4ezj7gyc_3yNrojKM9&index=4 |
| Understanding Hash Functions (video) | https://archive.org/details/0102WhatYouShouldKnow/06_02-understandingHashFunctions.mp4 |
| Using Hash Tables (video) | https://archive.org/details/0102WhatYouShouldKnow/06_03-usingHashTables.mp4 |
| Supporting Hashing (video) | https://archive.org/details/0102WhatYouShouldKnow/06_04-supportingHashing.mp4 |
| Language Support Hash Tables (video) | https://archive.org/details/0102WhatYouShouldKnow/06_05-languageSupportForHashTables.mp4 |
| Core Hash Tables (video) | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/m7UuP/core-hash-tables |
| Data Structures (video) | https://www.coursera.org/learn/data-structures/home/week/3 |
| Phone Book Problem (video) | https://www.coursera.org/learn/data-structures/lecture/NYZZP/phone-book-problem |
| Instant Uploads And Storage Optimization In Dropbox (video) | https://www.coursera.org/learn/data-structures/lecture/DvaIb/instant-uploads-and-storage-optimization-in-dropbox |
| Distributed Hash Tables (video) | https://www.coursera.org/learn/data-structures/lecture/tvH8H/distributed-hash-tables |
| https://github.com/coder0728/coding-interview-university#more-knowledge |
| https://github.com/coder0728/coding-interview-university#binary-search |
| Binary Search (video) | https://www.youtube.com/watch?v=D5SrAga1pno |
| Binary Search (video) | https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search |
| detail | https://www.topcoder.com/community/competitive-programming/tutorials/binary-search/ |
| https://github.com/coder0728/coding-interview-university#bitwise-operations |
| Bits cheat sheet | https://github.com/jwasham/coding-interview-university/blob/master/extras/cheat%20sheets/bits-cheat-cheet.pdf |
| words | https://en.wikipedia.org/wiki/Word_(computer_architecture) |
| Bit Manipulation (video) | https://www.youtube.com/watch?v=7jkIUgLC29I |
| C Programming Tutorial 2-10: Bitwise Operators (video) | https://www.youtube.com/watch?v=d0AwjSpNXR0 |
| Bit Manipulation | https://en.wikipedia.org/wiki/Bit_manipulation |
| Bitwise Operation | https://en.wikipedia.org/wiki/Bitwise_operation |
| Bithacks | https://graphics.stanford.edu/~seander/bithacks.html |
| The Bit Twiddler | https://bits.stephan-brumme.com/ |
| The Bit Twiddler Interactive | https://bits.stephan-brumme.com/interactive.html |
| Binary: Plusses & Minuses (Why We Use Two's Complement) (video) | https://www.youtube.com/watch?v=lKTsv6iVxV4 |
| 1s Complement | https://en.wikipedia.org/wiki/Ones%27_complement |
| 2s Complement | https://en.wikipedia.org/wiki/Two%27s_complement |
| 4 ways to count bits in a byte (video) | https://youtu.be/Hzuzo9NJrlc |
| Count Bits | https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetKernighan |
| How To Count The Number Of Set Bits In a 32 Bit Integer | http://stackoverflow.com/questions/109023/how-to-count-the-number-of-set-bits-in-a-32-bit-integer |
| Swap | https://bits.stephan-brumme.com/swap.html |
| Absolute Integer | https://bits.stephan-brumme.com/absInteger.html |
| https://github.com/coder0728/coding-interview-university#trees |
| https://github.com/coder0728/coding-interview-university#trees---notes--background |
| Series: Core Trees (video) | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/ovovP/core-trees |
| Series: Trees (video) | https://www.coursera.org/learn/data-structures/lecture/95qda/trees |
| BFS(breadth-first search) and DFS(depth-first search) (video) | https://www.youtube.com/watch?v=uWL6FJhq5fM |
| https://github.com/coder0728/coding-interview-university#binary-search-trees-bsts |
| Binary Search Tree Review (video) | https://www.youtube.com/watch?v=x6At0nzX92o&index=1&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6 |
| Series (video) | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/p82sw/core-introduction-to-binary-search-trees |
| Introduction (video) | https://www.coursera.org/learn/data-structures/lecture/E7cXP/introduction |
| MIT (video) | https://www.youtube.com/watch?v=9Jry5-82I68 |
| Binary search tree - Implementation in C/C++ (video) | https://www.youtube.com/watch?v=COZK7NATh4k&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=28 |
| BST implementation - memory allocation in stack and heap (video) | https://www.youtube.com/watch?v=hWokyBoo0aI&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=29 |
| Find min and max element in a binary search tree (video) | https://www.youtube.com/watch?v=Ut90klNN264&index=30&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P |
| Find height of a binary tree (video) | https://www.youtube.com/watch?v=_pnqMz5nrRs&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=31 |
| Binary tree traversal - breadth-first and depth-first strategies (video) | https://www.youtube.com/watch?v=9RHO6jU--GU&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=32 |
| Binary tree: Level Order Traversal (video) | https://www.youtube.com/watch?v=86g8jAQug04&index=33&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P |
| Binary tree traversal: Preorder, Inorder, Postorder (video) | https://www.youtube.com/watch?v=gm8DUJJhmY4&index=34&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P |
| Check if a binary tree is binary search tree or not (video) | https://www.youtube.com/watch?v=yEwSGhSsT0U&index=35&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P |
| Delete a node from Binary Search Tree (video) | https://www.youtube.com/watch?v=gcULXE7ViZw&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P&index=36 |
| Inorder Successor in a binary search tree (video) | https://www.youtube.com/watch?v=5cPbNCrdotA&index=37&list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P |
| https://github.com/coder0728/coding-interview-university#heap--priority-queue--binary-heap |
| Heap | https://en.wikipedia.org/wiki/Heap_(data_structure) |
| Introduction (video) | https://www.coursera.org/learn/data-structures/lecture/2OpTs/introduction |
| Naive Implementations (video) | https://www.coursera.org/learn/data-structures/lecture/z3l9N/naive-implementations |
| Binary Trees (video) | https://www.coursera.org/learn/data-structures/lecture/GRV2q/binary-trees |
| Tree Height Remark (video) | https://www.coursera.org/learn/data-structures/supplement/S5xxz/tree-height-remark |
| Basic Operations (video) | https://www.coursera.org/learn/data-structures/lecture/0g1dl/basic-operations |
| Complete Binary Trees (video) | https://www.coursera.org/learn/data-structures/lecture/gl5Ni/complete-binary-trees |
| Pseudocode (video) | https://www.coursera.org/learn/data-structures/lecture/HxQo9/pseudocode |
| Heap Sort - jumps to start (video) | https://youtu.be/odNJmw5TOEE?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3291 |
| Heap Sort (video) | https://www.coursera.org/learn/data-structures/lecture/hSzMO/heap-sort |
| Building a heap (video) | https://www.coursera.org/learn/data-structures/lecture/dwrOS/building-a-heap |
| MIT: Heaps and Heap Sort (video) | https://www.youtube.com/watch?v=B7hVxCmfPtM&index=4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb |
| CS 61B Lecture 24: Priority Queues (video) | https://archive.org/details/ucberkeley_webcast_yIUFT6AKBGE |
| Linear Time BuildHeap (max-heap) | https://www.youtube.com/watch?v=MiyLo8adrWw |
| https://github.com/coder0728/coding-interview-university#sorting |
| Sorting Algorithm Stability | https://en.wikipedia.org/wiki/Sorting_algorithm#Stability |
| Stability In Sorting Algorithms | http://stackoverflow.com/questions/1517793/stability-in-sorting-algorithms |
| Stability In Sorting Algorithms | http://www.geeksforgeeks.org/stability-in-sorting-algorithms/ |
| Sorting Algorithms - Stability | http://homepages.math.uic.edu/~leon/cs-mcs401-s08/handouts/stability.pdf |
| Merge Sort For Linked List | http://www.geeksforgeeks.org/merge-sort-for-linked-list/ |
| Sedgewick - Mergesort (5 videos) | https://www.coursera.org/learn/algorithms-part1/home/week/3 |
| 1. Mergesort | https://www.coursera.org/learn/algorithms-part1/lecture/ARWDq/mergesort |
| 2. Bottom up Mergesort | https://www.coursera.org/learn/algorithms-part1/lecture/PWNEl/bottom-up-mergesort |
| 3. Sorting Complexity | https://www.coursera.org/learn/algorithms-part1/lecture/xAltF/sorting-complexity |
| 4. Comparators | https://www.coursera.org/learn/algorithms-part1/lecture/9FYhS/comparators |
| 5. Stability | https://www.coursera.org/learn/algorithms-part1/lecture/pvvLZ/stability |
| Sedgewick - Quicksort (4 videos) | https://www.coursera.org/learn/algorithms-part1/home/week/3 |
| 1. Quicksort | https://www.coursera.org/learn/algorithms-part1/lecture/vjvnC/quicksort |
| 2. Selection | https://www.coursera.org/learn/algorithms-part1/lecture/UQxFT/selection |
| 3. Duplicate Keys | https://www.coursera.org/learn/algorithms-part1/lecture/XvjPd/duplicate-keys |
| 4. System Sorts | https://www.coursera.org/learn/algorithms-part1/lecture/QBNZ7/system-sorts |
| CS 61B Lecture 29: Sorting I (video) | https://archive.org/details/ucberkeley_webcast_EiUvYS2DT6I |
| CS 61B Lecture 30: Sorting II (video) | https://archive.org/details/ucberkeley_webcast_2hTY3t80Qsk |
| CS 61B Lecture 32: Sorting III (video) | https://archive.org/details/ucberkeley_webcast_Y6LOLpxg6Dc |
| CS 61B Lecture 33: Sorting V (video) | https://archive.org/details/ucberkeley_webcast_qNMQ4ly43p4 |
| Bubble Sort (video) | https://www.youtube.com/watch?v=P00xJgWzz2c&index=1&list=PL89B61F78B552C1AB |
| Analyzing Bubble Sort (video) | https://www.youtube.com/watch?v=ni_zk257Nqo&index=7&list=PL89B61F78B552C1AB |
| Insertion Sort, Merge Sort (video) | https://www.youtube.com/watch?v=Kg4bqzAqRBM&index=3&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb |
| Insertion Sort (video) | https://www.youtube.com/watch?v=c4BRHC7kTaQ&index=2&list=PL89B61F78B552C1AB |
| Merge Sort (video) | https://www.youtube.com/watch?v=GCae1WNvnZM&index=3&list=PL89B61F78B552C1AB |
| Quicksort (video) | https://www.youtube.com/watch?v=y_G9BkAm6B8&index=4&list=PL89B61F78B552C1AB |
| Selection Sort (video) | https://www.youtube.com/watch?v=6nDMgr0-Yyo&index=8&list=PL89B61F78B552C1AB |
| Using output array (C) | http://www.cs.yale.edu/homes/aspnes/classes/223/examples/sorting/mergesort.c |
| Using output array (Python) | https://github.com/jwasham/practice-python/blob/master/merge_sort/merge_sort.py |
| In-place (C++) | https://github.com/jwasham/practice-cpp/blob/master/merge_sort/merge_sort.cc |
| Implementation (C) | http://www.cs.yale.edu/homes/aspnes/classes/223/examples/randomization/quick.c |
| Implementation (C) | https://github.com/jwasham/practice-c/blob/master/quick_sort/quick_sort.c |
| Implementation (Python) | https://github.com/jwasham/practice-python/blob/master/quick_sort/quick_sort.py |
| Sedgewick - Radix Sorts (6 videos) | https://www.coursera.org/learn/algorithms-part2/home/week/3 |
| 1. Strings in Java | https://www.coursera.org/learn/algorithms-part2/lecture/vGHvb/strings-in-java |
| 2. Key Indexed Counting | https://www.coursera.org/learn/algorithms-part2/lecture/2pi1Z/key-indexed-counting |
| 3. Least Significant Digit First String Radix Sort | https://www.coursera.org/learn/algorithms-part2/lecture/c1U7L/lsd-radix-sort |
| 4. Most Significant Digit First String Radix Sort | https://www.coursera.org/learn/algorithms-part2/lecture/gFxwG/msd-radix-sort |
| 5. 3 Way Radix Quicksort | https://www.coursera.org/learn/algorithms-part2/lecture/crkd5/3-way-radix-quicksort |
| 6. Suffix Arrays | https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays |
| Radix Sort | http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#radixSort |
| Radix Sort (video) | https://www.youtube.com/watch?v=xhr26ia4k38 |
| Radix Sort, Counting Sort (linear time given constraints) (video) | https://www.youtube.com/watch?v=Nz1KZXbghj8&index=7&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb |
| Randomization: Matrix Multiply, Quicksort, Freivalds' algorithm (video) | https://www.youtube.com/watch?v=cNB2lADK3_s&index=8&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp |
| Sorting in Linear Time (video) | https://www.youtube.com/watch?v=pOKy3RZbSws&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf&index=14 |
| 15 sorting algorithms | https://www.youtube.com/watch?v=kPRA0W1kECg |
| Additional Detail on Some Subjects | https://github.com/coder0728/coding-interview-university#additional-detail-on-some-subjects |
| https://github.com/coder0728/coding-interview-university#graphs |
| Breadth-First Search | https://www.youtube.com/watch?v=s-CYnVz-uh4&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=13 |
| Depth-First Search | https://www.youtube.com/watch?v=AfSk24UTFS8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=14 |
| CSE373 2012 - Lecture 11 - Graph Data Structures (video) | https://www.youtube.com/watch?v=OiXxhDrFruw&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=11 |
| CSE373 2012 - Lecture 12 - Breadth-First Search (video) | https://www.youtube.com/watch?v=g5vF8jscteo&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=12 |
| CSE373 2012 - Lecture 13 - Graph Algorithms (video) | https://www.youtube.com/watch?v=S23W6eTcqdY&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=13 |
| CSE373 2012 - Lecture 14 - Graph Algorithms (con't) (video) | https://www.youtube.com/watch?v=WitPBKGV0HY&index=14&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b |
| CSE373 2012 - Lecture 15 - Graph Algorithms (con't 2) (video) | https://www.youtube.com/watch?v=ia1L30l7OIg&index=15&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b |
| CSE373 2012 - Lecture 16 - Graph Algorithms (con't 3) (video) | https://www.youtube.com/watch?v=jgDOQq6iWy8&index=16&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b |
| 6.006 Single-Source Shortest Paths Problem (video) | https://www.youtube.com/watch?v=Aa2sqUhIn-E&index=15&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb |
| 6.006 Dijkstra (video) | https://www.youtube.com/watch?v=2E7MmKv0Y24&index=16&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb |
| 6.006 Bellman-Ford (video) | https://www.youtube.com/watch?v=ozsuci5pIso&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=17 |
| 6.006 Speeding Up Dijkstra (video) | https://www.youtube.com/watch?v=CHvQ3q_gJ7E&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=18 |
| Aduni: Graph Algorithms I - Topological Sorting, Minimum Spanning Trees, Prim's Algorithm - Lecture 6 (video) | https://www.youtube.com/watch?v=i_AQT_XfvD8&index=6&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm |
| Aduni: Graph Algorithms II - DFS, BFS, Kruskal's Algorithm, Union Find Data Structure - Lecture 7 (video) | https://www.youtube.com/watch?v=ufj5_bppBsA&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=7 |
| Aduni: Graph Algorithms III: Shortest Path - Lecture 8 (video) | https://www.youtube.com/watch?v=DiedsPsMKXc&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=8 |
| Aduni: Graph Alg. IV: Intro to geometric algorithms - Lecture 9 (video) | https://www.youtube.com/watch?v=XIAQRlNkJAw&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=9 |
| CS 61B 2014 (starting at 58:09) (video) | https://youtu.be/dgjX4HdMI-Q?list=PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd&t=3489 |
| CS 61B 2014: Weighted graphs (video) | https://archive.org/details/ucberkeley_webcast_zFbq8vOZ_0k |
| Greedy Algorithms: Minimum Spanning Tree (video) | https://www.youtube.com/watch?v=tKwnms5iRBU&index=16&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp |
| Strongly Connected Components Kosaraju's Algorithm Graph Algorithm (video) | https://www.youtube.com/watch?v=RpgcYiky7uw |
| Algorithms on Graphs (video) | https://www.coursera.org/learn/algorithms-on-graphs/home/welcome |
| https://github.com/coder0728/coding-interview-university#even-more-knowledge |
| https://github.com/coder0728/coding-interview-university#recursion |
| Lecture 8 | Programming Abstractions (video) | https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=8 |
| Lecture 9 | Programming Abstractions (video) | https://www.youtube.com/watch?v=uFJhEPrbycQ&list=PLFE6E58F856038C69&index=9 |
| Lecture 10 | Programming Abstractions (video) | https://www.youtube.com/watch?v=NdF1QDTRkck&index=10&list=PLFE6E58F856038C69 |
| Lecture 11 | Programming Abstractions (video) | https://www.youtube.com/watch?v=p-gpaIGRCQI&list=PLFE6E58F856038C69&index=11 |
| What Is Tail Recursion Why Is It So Bad? | https://www.quora.com/What-is-tail-recursion-Why-is-it-so-bad |
| Tail Recursion (video) | https://www.youtube.com/watch?v=L1jjXGfxozc |
| https://github.com/coder0728/coding-interview-university#dynamic-programming |
| Skiena: CSE373 2012 - Lecture 19 - Introduction to Dynamic Programming (video) | https://youtu.be/Qc2ieXRgR0k?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=1718 |
| Skiena: CSE373 2012 - Lecture 20 - Edit Distance (video) | https://youtu.be/IsmMhMdyeGY?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=2749 |
| Skiena: CSE373 2012 - Lecture 21 - Dynamic Programming Examples (video) | https://youtu.be/o0V9eYF4UI8?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=406 |
| Skiena: CSE373 2012 - Lecture 22 - Applications of Dynamic Programming (video) | https://www.youtube.com/watch?v=dRbMC1Ltl3A&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=22 |
| Simonson: Dynamic Programming 0 (starts at 59:18) (video) | https://youtu.be/J5aJEcOr6Eo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3558 |
| Simonson: Dynamic Programming I - Lecture 11 (video) | https://www.youtube.com/watch?v=0EzHjQ_SOeU&index=11&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm |
| Simonson: Dynamic programming II - Lecture 12 (video) | https://www.youtube.com/watch?v=v1qiRwuJU7g&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=12 |
| Dynamic Programming (video) | https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr |
| Dynamic Programming | http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#dynamicProgramming |
| The RNA secondary structure problem (video) | https://www.coursera.org/learn/algorithmic-thinking-2/lecture/80RrW/the-rna-secondary-structure-problem |
| A dynamic programming algorithm (video) | https://www.coursera.org/learn/algorithmic-thinking-2/lecture/PSonq/a-dynamic-programming-algorithm |
| Illustrating the DP algorithm (video) | https://www.coursera.org/learn/algorithmic-thinking-2/lecture/oUEK2/illustrating-the-dp-algorithm |
| Running time of the DP algorithm (video) | https://www.coursera.org/learn/algorithmic-thinking-2/lecture/nfK2r/running-time-of-the-dp-algorithm |
| DP vs. recursive implementation (video) | https://www.coursera.org/learn/algorithmic-thinking-2/lecture/M999a/dp-vs-recursive-implementation |
| Global pairwise sequence alignment (video) | https://www.coursera.org/learn/algorithmic-thinking-2/lecture/UZ7o6/global-pairwise-sequence-alignment |
| Local pairwise sequence alignment (video) | https://www.coursera.org/learn/algorithmic-thinking-2/lecture/WnNau/local-pairwise-sequence-alignment |
| https://github.com/coder0728/coding-interview-university#object-oriented-programming |
| Optional: UML 2.0 Series (video) | https://www.youtube.com/watch?v=OkC7HKtiZC0&list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc |
| SOLID Principles (video) | https://www.youtube.com/playlist?list=PL4CE9F710017EA77A |
| https://github.com/coder0728/coding-interview-university#design-patterns |
| Quick UML review (video) | https://www.youtube.com/watch?v=3cmzqZzwNDM&list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc&index=3 |
| Chapter 6 (Part 1) - Patterns (video) | https://youtu.be/LAP2A80Ajrg?list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO&t=3344 |
| Chapter 6 (Part 2) - Abstraction-Occurrence, General Hierarchy, Player-Role, Singleton, Observer, Delegation (video) | https://www.youtube.com/watch?v=U8-PGsjvZc4&index=12&list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO |
| Chapter 6 (Part 3) - Adapter, Facade, Immutable, Read-Only Interface, Proxy (video) | https://www.youtube.com/watch?v=7sduBHuex4c&index=13&list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO |
| Series of videos (27 videos) | https://www.youtube.com/playlist?list=PLF206E906175C7E07 |
| Head First Design Patterns | https://www.amazon.com/Head-First-Design-Patterns-Freeman/dp/0596007124 |
| Handy reference: 101 Design Patterns & Tips for Developers | https://sourcemaking.com/design-patterns-and-tips |
| Design patterns for humans | https://github.com/kamranahmedse/design-patterns-for-humans#structural-design-patterns |
| https://github.com/coder0728/coding-interview-university#combinatorics-n-choose-k--probability |
| Math Skills: How to find Factorial, Permutation and Combination (Choose) (video) | https://www.youtube.com/watch?v=8RRo6Ti9d0U |
| Make School: Probability (video) | https://www.youtube.com/watch?v=sZkAAk9Wwa4 |
| Make School: More Probability and Markov Chains (video) | https://www.youtube.com/watch?v=dNaJg-mLobQ |
| Basic Theoretical Probability | https://www.khanacademy.org/math/probability/probability-and-combinatorics-topic |
| Probability Explained (video) | https://www.youtube.com/watch?v=uzkc-qNVoOk&list=PLC58778F28211FA19 |
| https://github.com/coder0728/coding-interview-university#np-np-complete-and-approximation-algorithms |
| Computational Complexity (video) | https://www.youtube.com/watch?v=moPtwq_cVH8&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=23 |
| Greedy Algs. II & Intro to NP Completeness (video) | https://youtu.be/qcGnJ47Smlo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=2939 |
| NP Completeness II & Reductions (video) | https://www.youtube.com/watch?v=e0tGC6ZQdQE&index=16&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm |
| NP Completeness III (Video) | https://www.youtube.com/watch?v=fCX1BGT3wjE&index=17&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm |
| NP Completeness IV (video) | https://www.youtube.com/watch?v=NKLDp3Rch3M&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=18 |
| CSE373 2012 - Lecture 23 - Introduction to NP-Completeness (video) | https://youtu.be/KiK5TVgXbFg?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=1508 |
| CSE373 2012 - Lecture 24 - NP-Completeness Proofs (video) | https://www.youtube.com/watch?v=27Al52X3hd4&index=24&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b |
| CSE373 2012 - Lecture 25 - NP-Completeness Challenge (video) | https://www.youtube.com/watch?v=xCPH4gwIIXM&index=25&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b |
| Complexity: P, NP, NP-completeness, Reductions (video) | https://www.youtube.com/watch?v=eHZifpgyH_4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=22 |
| Complexity: Approximation Algorithms (video) | https://www.youtube.com/watch?v=MEz1J9wY2iM&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=24 |
| Complexity: Fixed-Parameter Algorithms (video) | https://www.youtube.com/watch?v=4q-jmGrmxKs&index=25&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp |
| Jupyter Notebook | http://nbviewer.jupyter.org/url/norvig.com/ipython/TSP.ipynb |
| https://github.com/coder0728/coding-interview-university#caches |
| The Magic of LRU Cache (100 Days of Google Dev) (video) | https://www.youtube.com/watch?v=R5ON3iwx78M |
| Implementing LRU (video) | https://www.youtube.com/watch?v=bq6N7Ym81iI |
| LeetCode - 146 LRU Cache (C++) (video) | https://www.youtube.com/watch?v=8-FZRAjR7qU |
| MIT 6.004 L15: The Memory Hierarchy (video) | https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24 |
| MIT 6.004 L16: Cache Issues (video) | https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82- |
| https://github.com/coder0728/coding-interview-university#processes-and-threads |
| Operating Systems and System Programming (video) | https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c |
| What Is The Difference Between A Process And A Thread? | https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread |
| Paging, segmentation and virtual memory (video) | https://www.youtube.com/watch?v=LKe7xK0bF7o&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=2 |
| Interrupts (video) | https://www.youtube.com/watch?v=uFKi2-J-6II&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=3 |
| threads in C++ (series - 10 videos) | https://www.youtube.com/playlist?list=PL5jc9xFGsL8E12so1wlMS0r0hTQoJL74M |
| Short series on threads | https://www.youtube.com/playlist?list=PL1H1sBF1VAKVMONJWJkmUh6_p8g4F2oy1 |
| Python Threads | https://www.youtube.com/watch?v=Bs7vPNbB9JM |
| Understanding the Python GIL (2010) | https://www.youtube.com/watch?v=Obt-vMVdM8s |
| reference | http://www.dabeaz.com/GIL |
| David Beazley - Python Concurrency From the Ground Up: LIVE! - PyCon 2015 | https://www.youtube.com/watch?v=MCs5OvhV9S4 |
| Keynote David Beazley - Topics of Interest (Python Asyncio) | https://www.youtube.com/watch?v=ZzfHjytDceU |
| Mutex in Python | https://www.youtube.com/watch?v=0zaPs8OtyKY |
| https://github.com/coder0728/coding-interview-university#testing |
| Agile Software Testing with James Bach (video) | https://www.youtube.com/watch?v=SAhJf36_u5U |
| Open Lecture by James Bach on Software Testing (video) | https://www.youtube.com/watch?v=ILkT_HV9DVU |
| Steve Freeman - Test-Driven Development (that’s not what we meant) (video) | https://vimeo.com/83960706 |
| slides | http://gotocon.com/dl/goto-berlin-2013/slides/SteveFreeman_TestDrivenDevelopmentThatsNotWhatWeMeant.pdf |
| video | https://www.youtube.com/watch?v=IKD2-MAkXyQ |
| Tao Of Testing | http://jasonpolites.github.io/tao-of-testing/ch3-1.1.html |
| How to write tests | http://jasonpolites.github.io/tao-of-testing/ch4-1.1.html |
| https://github.com/coder0728/coding-interview-university#scheduling |
| https://github.com/coder0728/coding-interview-university#string-searching--manipulations |
| Sedgewick - Suffix Arrays (video) | https://www.coursera.org/learn/algorithms-part2/lecture/TH18W/suffix-arrays |
| Sedgewick - Substring Search (videos) | https://www.coursera.org/learn/algorithms-part2/home/week/4 |
| 1. Introduction to Substring Search | https://www.coursera.org/learn/algorithms-part2/lecture/n3ZpG/introduction-to-substring-search |
| 2. Brute-Force Substring Search | https://www.coursera.org/learn/algorithms-part2/lecture/2Kn5i/brute-force-substring-search |
| 3. Knuth-Morris Pratt | https://www.coursera.org/learn/algorithms-part2/lecture/TAtDr/knuth-morris-pratt |
| 4. Boyer-Moore | https://www.coursera.org/learn/algorithms-part2/lecture/CYxOT/boyer-moore |
| 5. Rabin-Karp | https://www.coursera.org/learn/algorithms-part2/lecture/3KiqT/rabin-karp |
| Search pattern in text (video) | https://www.coursera.org/learn/data-structures/lecture/tAfHI/search-pattern-in-text |
| Additional Detail on Some Subjects | https://github.com/coder0728/coding-interview-university#additional-detail-on-some-subjects |
| https://github.com/coder0728/coding-interview-university#tries |
| Sedgewick - Tries (3 videos) | https://www.coursera.org/learn/algorithms-part2/home/week/4 |
| 1. R Way Tries | https://www.coursera.org/learn/algorithms-part2/lecture/CPVdr/r-way-tries |
| 2. Ternary Search Tries | https://www.coursera.org/learn/algorithms-part2/lecture/yQM8K/ternary-search-tries |
| 3. Character Based Operations | https://www.coursera.org/learn/algorithms-part2/lecture/jwNmV/character-based-operations |
| Notes on Data Structures and Programming Techniques | http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Tries |
| Introduction To Tries (video) | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/08Xyf/core-introduction-to-tries |
| Performance Of Tries (video) | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/PvlZW/core-performance-of-tries |
| Implementing A Trie (video) | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/DFvd3/core-implementing-a-trie |
| The Trie: A Neglected Data Structure | https://www.toptal.com/java/the-trie-a-neglected-data-structure |
| TopCoder - Using Tries | https://www.topcoder.com/community/competitive-programming/tutorials/using-tries/ |
| Stanford Lecture (real world use case) (video) | https://www.youtube.com/watch?v=TJ8SkcUSdbU |
| MIT, Advanced Data Structures, Strings (can get pretty obscure about halfway through) (video) | https://www.youtube.com/watch?v=NinWEPPrkDQ&index=16&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf |
| https://github.com/coder0728/coding-interview-university#floating-point-numbers |
| Representation of Floating Point Numbers - 1 (video - there is an error in calculations - see video description) | https://www.youtube.com/watch?v=ji3SfClm8TU |
| IEEE754 32-bit floating point binary (video) | https://www.youtube.com/watch?v=50ZYcZebIec |
| https://github.com/coder0728/coding-interview-university#unicode |
| The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets | http://www.joelonsoftware.com/articles/Unicode.html |
| What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text | http://kunststube.net/encoding/ |
| https://github.com/coder0728/coding-interview-university#endianness |
| Big And Little Endian | https://web.archive.org/web/20180107141940/http://www.cs.umd.edu:80/class/sum2003/cmsc311/Notes/Data/endian.html |
| Big Endian Vs Little Endian (video) | https://www.youtube.com/watch?v=JrNF0KRAlyo |
| Big And Little Endian Inside/Out (video) | https://www.youtube.com/watch?v=oBSuXP-1Tc0 |
| https://github.com/coder0728/coding-interview-university#networking |
| Khan Academy | https://www.khanacademy.org/computing/computer-science/internet-intro |
| UDP and TCP: Comparison of Transport Protocols (video) | https://www.youtube.com/watch?v=Vdc8TCESIg8 |
| TCP/IP and the OSI Model Explained! (video) | https://www.youtube.com/watch?v=e5DEVa9eSN0 |
| Packet Transmission across the Internet. Networking & TCP/IP tutorial. (video) | https://www.youtube.com/watch?v=nomyRJehhnM |
| HTTP (video) | https://www.youtube.com/watch?v=WGJrLqtX7As |
| SSL and HTTPS (video) | https://www.youtube.com/watch?v=S2iBR2ZlZf0 |
| SSL/TLS (video) | https://www.youtube.com/watch?v=Rp3iZUvXWlM |
| HTTP 2.0 (video) | https://www.youtube.com/watch?v=E9FxNzv1Tr8 |
| Video Series (21 videos) (video) | https://www.youtube.com/playlist?list=PLEbnTDJUr_IegfoqO4iPnPYQui46QqT0j |
| Subnetting Demystified - Part 5 CIDR Notation (video) | https://www.youtube.com/watch?v=t5xYI0jzOf4 |
| Java - Sockets - Introduction (video) | https://www.youtube.com/watch?v=6G_W54zuadg&t=6s |
| Socket Programming (video) | https://www.youtube.com/watch?v=G75vN2mnJeQ |
| https://github.com/coder0728/coding-interview-university#system-design-scalability-data-handling |
| The System Design Primer | https://github.com/donnemartin/system-design-primer |
| System Design from HiredInTech | http://www.hiredintech.com/system-design/ |
| How Do I Prepare To Answer Design Questions In A Technical Inverview? | https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023 |
| 8 Things You Need to Know Before a System Design Interview | http://blog.gainlo.co/index.php/2015/10/22/8-things-you-need-to-know-before-system-design-interviews/ |
| Algorithm design | http://www.hiredintech.com/algorithm-design/ |
| Database Normalization - 1NF, 2NF, 3NF and 4NF (video) | https://www.youtube.com/watch?v=UrYLYV7WSHM |
| System Design Interview | https://github.com/checkcheckzz/system-design-interview |
| How to ace a systems design interview | http://www.palantir.com/2011/10/how-to-rock-a-systems-design-interview/ |
| Numbers Everyone Should Know | http://everythingisdata.wordpress.com/2009/10/17/numbers-everyone-should-know/ |
| How long does it take to make a context switch? | http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html |
| Transactions Across Datacenters (video) | https://www.youtube.com/watch?v=srOgpXECblk |
| A plain English introduction to CAP Theorem | http://ksat.me/a-plain-english-introduction-to-cap-theorem/ |
| Paxos Agreement - Computerphile (video) | https://www.youtube.com/watch?v=s8JqcZtvnsM |
| An Introduction to the Raft Distributed Consensus Algorithm (video) | https://www.youtube.com/watch?v=P9Ydif5_qvE |
| Easy-to-read paper | https://raft.github.io/ |
| Infographic | http://thesecretlivesofdata.com/raft/ |
| Consistent Hashing | http://www.tom-e-white.com/2007/11/consistent-hashing.html |
| NoSQL Patterns | http://horicky.blogspot.com/2009/11/nosql-patterns.html |
| Great overview (video) | https://www.youtube.com/watch?v=-W9F__D3oY4 |
| Clones | http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones |
| Database | http://www.lecloud.net/post/7994751381/scalability-for-dummies-part-2-database |
| Cache | http://www.lecloud.net/post/9246290032/scalability-for-dummies-part-3-cache |
| Asynchronism | http://www.lecloud.net/post/9699762917/scalability-for-dummies-part-4-asynchronism |
| Scalable Web Architecture and Distributed Systems | http://www.aosabook.org/en/distsys.html |
| Fallacies of Distributed Computing Explained | https://pages.cs.wisc.edu/~zuyu/files/fallacies.pdf |
| Pragmatic Programming Techniques | http://horicky.blogspot.com/2010/10/scalable-system-design-patterns.html |
| extra: Google Pregel Graph Processing | http://horicky.blogspot.com/2010/07/google-pregel-graph-processing.html |
| Jeff Dean - Building Software Systems At Google and Lessons Learned (video) | https://www.youtube.com/watch?v=modXC5IWTJI |
| Introduction to Architecting Systems for Scale | http://lethain.com/introduction-to-architecting-systems-for-scale/ |
| Scaling mobile games to a global audience using App Engine and Cloud Datastore (video) | https://www.youtube.com/watch?v=9nWyWwY2Onc |
| How Google Does Planet-Scale Engineering for Planet-Scale Infra (video) | https://www.youtube.com/watch?v=H4vMcD7zKM0 |
| The Importance of Algorithms | https://www.topcoder.com/community/competitive-programming/tutorials/the-importance-of-algorithms/ |
| Sharding | http://highscalability.com/blog/2009/8/6/an-unorthodox-approach-to-database-design-the-coming-of-the.html |
| Scale at Facebook (2012), "Building for a Billion Users" (video) | https://www.youtube.com/watch?v=oodS71YtkGU |
| Engineering for the Long Game - Astrid Atkinson Keynote(video) | https://www.youtube.com/watch?v=p0jGmgIrf_M&list=PLRXxvay_m8gqVlExPC5DG3TGWJTaBgqSA&index=4 |
| 7 Years Of YouTube Scalability Lessons In 30 Minutes | http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html |
| video | https://www.youtube.com/watch?v=G-lGCC4KKok |
| How PayPal Scaled To Billions Of Transactions Daily Using Just 8VMs | http://highscalability.com/blog/2016/8/15/how-paypal-scaled-to-billions-of-transactions-daily-using-ju.html |
| How to Remove Duplicates in Large Datasets | https://blog.clevertap.com/how-to-remove-duplicates-in-large-datasets/ |
| A look inside Etsy's scale and engineering culture with Jon Cowie (video) | https://www.youtube.com/watch?v=3vV4YiqKm1o |
| What Led Amazon to its Own Microservices Architecture | http://thenewstack.io/led-amazon-microservices-architecture/ |
| To Compress Or Not To Compress, That Was Uber's Question | https://eng.uber.com/trip-data-squeeze/ |
| Asyncio Tarantool Queue, Get In The Queue | http://highscalability.com/blog/2016/3/3/asyncio-tarantool-queue-get-in-the-queue.html |
| When Should Approximate Query Processing Be Used? | http://highscalability.com/blog/2016/2/25/when-should-approximate-query-processing-be-used.html |
| Google's Transition From Single Datacenter, To Failover, To A Native Multihomed Architecture | http://highscalability.com/blog/2016/2/23/googles-transition-from-single-datacenter-to-failover-to-a-n.html |
| Spanner | http://highscalability.com/blog/2012/9/24/google-spanners-most-surprising-revelation-nosql-is-out-and.html |
| Machine Learning Driven Programming: A New Programming For A New World | http://highscalability.com/blog/2016/7/6/machine-learning-driven-programming-a-new-programming-for-a.html |
| The Image Optimization Technology That Serves Millions Of Requests Per Day | http://highscalability.com/blog/2016/6/15/the-image-optimization-technology-that-serves-millions-of-re.html |
| A Patreon Architecture Short | http://highscalability.com/blog/2016/2/1/a-patreon-architecture-short.html |
| Tinder: How Does One Of The Largest Recommendation Engines Decide Who You'll See Next? | http://highscalability.com/blog/2016/1/27/tinder-how-does-one-of-the-largest-recommendation-engines-de.html |
| Design Of A Modern Cache | http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html |
| Live Video Streaming At Facebook Scale | http://highscalability.com/blog/2016/1/13/live-video-streaming-at-facebook-scale.html |
| A Beginner's Guide To Scaling To 11 Million+ Users On Amazon's AWS | http://highscalability.com/blog/2016/1/11/a-beginners-guide-to-scaling-to-11-million-users-on-amazons.html |
| How Does The Use Of Docker Effect Latency? | http://highscalability.com/blog/2015/12/16/how-does-the-use-of-docker-effect-latency.html |
| A 360 Degree View Of The Entire Netflix Stack | http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html |
| Latency Is Everywhere And It Costs You Sales - How To Crush It | http://highscalability.com/latency-everywhere-and-it-costs-you-sales-how-crush-it |
| Serverless (very long, just need the gist) | http://martinfowler.com/articles/serverless.html |
| What Powers Instagram: Hundreds of Instances, Dozens of Technologies | http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances |
| Cinchcast Architecture - Producing 1,500 Hours Of Audio Every Day | http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html |
| Justin.Tv's Live Video Broadcasting Architecture | http://highscalability.com/blog/2010/3/16/justintvs-live-video-broadcasting-architecture.html |
| Playfish's Social Gaming Architecture - 50 Million Monthly Users And Growing | http://highscalability.com/blog/2010/9/21/playfishs-social-gaming-architecture-50-million-monthly-user.html |
| TripAdvisor Architecture - 40M Visitors, 200M Dynamic Page Views, 30TB Data | http://highscalability.com/blog/2011/6/27/tripadvisor-architecture-40m-visitors-200m-dynamic-page-view.html |
| PlentyOfFish Architecture | http://highscalability.com/plentyoffish-architecture |
| Salesforce Architecture - How They Handle 1.3 Billion Transactions A Day | http://highscalability.com/blog/2013/9/23/salesforce-architecture-how-they-handle-13-billion-transacti.html |
| ESPN's Architecture At Scale - Operating At 100,000 Duh Nuh Nuhs Per Second | http://highscalability.com/blog/2013/11/4/espns-architecture-at-scale-operating-at-100000-duh-nuh-nuhs.html |
| O'Reilly MySQL CE 2011: Jeremy Cole, "Big and Small Data at @Twitter" (video) | https://www.youtube.com/watch?v=5cKTP36HVgI |
| Timelines at Scale | https://www.infoq.com/presentations/Twitter-Timeline-Scalability |
| Video Series | https://github.com/coder0728/coding-interview-university#video-series |
| The System Design Primer | https://github.com/donnemartin/system-design-primer |
| System Design from HiredInTech | http://www.hiredintech.com/system-design/ |
| cheat sheet | https://github.com/jwasham/coding-interview-university/blob/master/extras/cheat%20sheets/system-design.pdf |
| Design a CDN network: old article | http://repository.cmu.edu/cgi/viewcontent.cgi?article=2112&context=compsci |
| Design a random unique ID generation system | https://blog.twitter.com/2010/announcing-snowflake |
| Design an online multiplayer card game | http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html |
| Design a key-value database | http://www.slideshare.net/dvirsky/introduction-to-redis |
| Design a picture sharing system | http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html |
| Design a recommendation system | http://ijcai13.org/files/tutorial_slides/td3.pdf |
| Design a URL-shortener system: copied from above | http://www.hiredintech.com/system-design/the-system-design-process/ |
| Design a cache system | https://www.adayinthelifeof.nl/2011/02/06/memcache-internals/ |
| https://github.com/coder0728/coding-interview-university#final-review |
| Videos | https://www.youtube.com/watch?v=r4r1DZcx1cM&list=PLmVb1OknmNJuC5POdcDv5oCS7_OUkDgpj&index=22 |
| Videos | https://www.youtube.com/channel/UCzDJwLWoYCUQowF_nG3m5OQ |
| Sedgewick Videos - Algorithms I | https://www.coursera.org/learn/algorithms-part1 |
| Sedgewick Videos - Algorithms II | https://www.coursera.org/learn/algorithms-part2 |
| https://github.com/coder0728/coding-interview-university#coding-question-practice |
| Algorithm design canvas | http://www.hiredintech.com/algorithm-design/ |
| https://camo.githubusercontent.com/a4d3decd8e33d71e7be871841eb8d75fee83b4a54dc26c2e38fa2317e858cb10/68747470733a2f2f64336a32706b6d6a74696e366f752e636c6f756466726f6e742e6e65742f6172745f626f6172645f736d5f322e6a7067 |
| Mathematics for Topcoders | https://www.topcoder.com/community/competitive-programming/tutorials/mathematics-for-topcoders/ |
| Dynamic Programming – From Novice to Advanced | https://www.topcoder.com/community/competitive-programming/tutorials/dynamic-programming-from-novice-to-advanced/ |
| MIT Interview Materials | https://web.archive.org/web/20160906124824/http://courses.csail.mit.edu/iap/interview/materials.php |
| Exercises for getting better at a given language | http://exercism.io/languages |
| Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition | http://www.wiley.com/WileyCDA/WileyTitle/productCd-047012167X.html |
| Cracking the Coding Interview, 6th Edition | http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/ |
| Book List above | https://github.com/coder0728/coding-interview-university#book-list |
| https://github.com/coder0728/coding-interview-university#coding-exerciseschallenges |
| How to Find a Solution | https://www.topcoder.com/community/competitive-programming/tutorials/how-to-find-a-solution/ |
| How to Dissect a Topcoder Problem Statement | https://www.topcoder.com/community/competitive-programming/tutorials/how-to-dissect-a-topcoder-problem-statement/ |
| IDeserve (88 videos) | https://www.youtube.com/watch?v=NBcqBddFbZw&list=PLamzFoFxwoNjPfxzaWqs7cZGsPYy0x_gI |
| Tushar Roy (5 playlists) | https://www.youtube.com/user/tusharroy2525/playlists?shelf_id=2&view=50&sort=dd |
| LeetCode | https://leetcode.com/ |
| TopCoder | https://www.topcoder.com/ |
| Project Euler (math-focused) | https://projecteuler.net/index.php?section=problems |
| Codewars | http://www.codewars.com |
| HackerEarth | https://www.hackerearth.com/ |
| HackerRank | https://www.hackerrank.com/ |
| Codility | https://codility.com/programmers/ |
| InterviewCake | https://www.interviewcake.com/ |
| Geeks for Geeks | http://www.geeksforgeeks.org/ |
| InterviewBit | https://www.interviewbit.com/invite/icjf |
| Sphere Online Judge (spoj) | http://www.spoj.com/ |
| Codechef | https://www.codechef.com/ |
| Interactive Coding Interview Challenges in Python | https://github.com/donnemartin/interactive-coding-challenges |
| Gainlo.co: Mock interviewers from big companies | http://www.gainlo.co/ |
| Pramp: Mock interviews from/with peers | https://www.pramp.com/ |
| Refdash: Mock interviews and expedited interviews | https://refdash.com/ |
| https://github.com/coder0728/coding-interview-university#once-youre-closer-to-the-interview |
| Cracking The Code Interview | https://www.youtube.com/watch?v=4NIb9l3imAo |
| Cracking the Coding Interview - Fullstack Speaker Series | https://www.youtube.com/watch?v=Eg5-tdAwclo |
| https://github.com/coder0728/coding-interview-university#your-resume |
| https://github.com/coder0728/coding-interview-university#be-thinking-of-for-when-the-interview-comes |
| https://github.com/coder0728/coding-interview-university#have-questions-for-the-interviewer |
| https://github.com/coder0728/coding-interview-university#once-youve-got-the-job |
| https://github.com/coder0728/coding-interview-university#additional-books |
| The Unix Programming Environment | https://www.amazon.com/dp/013937681X |
| The Linux Command Line: A Complete Introduction | https://www.amazon.com/dp/1593273894/ |
| TCP/IP Illustrated Series | https://en.wikipedia.org/wiki/TCP/IP_Illustrated |
| Head First Design Patterns | https://www.amazon.com/gp/product/0596007124/ |
| Design Patterns: Elements of Reusable Object-Oriented Software | https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612 |
| UNIX and Linux System Administration Handbook, 5th Edition | https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0134277554/ |
| Algorithm Design Manual | http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202 |
| Solutions | http://www.algorithm.cs.sunysb.edu/algowiki/index.php/The_Algorithms_Design_Manual_(Second_Edition) |
| Solutions | http://blog.panictank.net/category/algorithmndesignmanualsolutions/page/2/ |
| Errata | http://www3.cs.stonybrook.edu/~skiena/algorist/book/errata |
| Write Great Code: Volume 1: Understanding the Machine | https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038 |
| HLA | https://en.wikipedia.org/wiki/High_Level_Assembly |
| Introduction to Algorithms | https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844 |
| Computer Architecture, Sixth Edition: A Quantitative Approach | https://www.amazon.com/dp/0128119055 |
| Programming Pearls | http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880 |
| https://github.com/coder0728/coding-interview-university#additional-learning |
| https://github.com/coder0728/coding-interview-university#compilers |
| How a Compiler Works in ~1 minute (video) | https://www.youtube.com/watch?v=IhC7sdYe-Jg |
| Harvard CS50 - Compilers (video) | https://www.youtube.com/watch?v=CSZLNYF4Klo |
| C++ (video) | https://www.youtube.com/watch?v=twodd1KFfGk |
| Understanding Compiler Optimization (C++) (video) | https://www.youtube.com/watch?v=FnGCDLhaxKU |
| https://github.com/coder0728/coding-interview-university#emacs-and-vim |
| Editing With vim 01 - Installation, Setup, and The Modes (video) | https://www.youtube.com/watch?v=5givLEMcINQ&index=1&list=PL13bz4SHGmRxlZVmWQ9DvXo1fEg4UdGkr |
| VIM Adventures | http://vim-adventures.com/ |
| The vi/vim editor - Lesson 1 | https://www.youtube.com/watch?v=SI8TeVMX8pk |
| The vi/vim editor - Lesson 2 | https://www.youtube.com/watch?v=F3OO7ZIOaJE |
| The vi/vim editor - Lesson 3 | https://www.youtube.com/watch?v=ZYEccA_nMaI |
| The vi/vim editor - Lesson 4 | https://www.youtube.com/watch?v=1lYD5gwgZIA |
| Using Vi Instead of Emacs | http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Using_Vi_instead_of_Emacs |
| Basics Emacs Tutorial (video) | https://www.youtube.com/watch?v=hbmV1bnQ-i0 |
| Emacs Tutorial (Beginners) -Part 1- File commands, cut/copy/paste, cursor commands | https://www.youtube.com/watch?v=ujODL7MD04Q |
| Emacs Tutorial (Beginners) -Part 2- Buffer management, search, M-x grep and rgrep modes | https://www.youtube.com/watch?v=XWpsRupJ4II |
| Emacs Tutorial (Beginners) -Part 3- Expressions, Statements, ~/.emacs file and packages | https://www.youtube.com/watch?v=paSgzPso-yc |
| Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs (video) | https://www.youtube.com/watch?v=JWD1Fpdd4Pc |
| Writing C Programs With Emacs | http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#Writing_C_programs_with_Emacs |
| (maybe) Org Mode In Depth: Managing Structure (video) | https://www.youtube.com/watch?v=nsGYet02bEk |
| https://github.com/coder0728/coding-interview-university#unix-command-line-tools |
| strace | https://en.wikipedia.org/wiki/Strace |
| tcpdump | https://danielmiessler.com/study/tcpdump/ |
| https://github.com/coder0728/coding-interview-university#information-theory-videos |
| Khan Academy | https://www.khanacademy.org/computing/computer-science/informationtheory |
| Core Markov Text Generation | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/waxgx/core-markov-text-generation |
| Core Implementing Markov Text Generation | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/gZhiC/core-implementing-markov-text-generation |
| Project = Markov Text Generation Walk Through | https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/EUjrq/project-markov-text-generation-walk-through |
| https://github.com/coder0728/coding-interview-university#parity--hamming-code-videos |
| Intro | https://www.youtube.com/watch?v=q-3BctoUpHE |
| Parity | https://www.youtube.com/watch?v=DdMcAUlxh1M |
| Error detection | https://www.youtube.com/watch?v=1A_NcXxdoCc |
| Error correction | https://www.youtube.com/watch?v=JAMLuxdHH8o |
| Error Checking | https://www.youtube.com/watch?v=wbH2VxzmoZk |
| https://github.com/coder0728/coding-interview-university#entropy |
| Information Theory, Claude Shannon, Entropy, Redundancy, Data Compression & Bits (video) | https://youtu.be/JnJq3Py0dyM?t=176 |
| https://github.com/coder0728/coding-interview-university#cryptography |
| Khan Academy Series | https://www.khanacademy.org/computing/computer-science/cryptography |
| Cryptography: Hash Functions | https://www.youtube.com/watch?v=KqqOXndnvic&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=30 |
| Cryptography: Encryption | https://www.youtube.com/watch?v=9TNI2wHmaeI&index=31&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp |
| https://github.com/coder0728/coding-interview-university#compression |
| Compression | https://www.youtube.com/watch?v=Lto-ajuqW3w |
| Entropy in Compression | https://www.youtube.com/watch?v=M5c_RFKVkko |
| Upside Down Trees (Huffman Trees) | https://www.youtube.com/watch?v=umTbivyJoiI |
| EXTRA BITS/TRITS - Huffman Trees | https://www.youtube.com/watch?v=DV8efuB3h2g |
| Elegant Compression in Text (The LZ 77 Method) | https://www.youtube.com/watch?v=goOa3DGezUA |
| Text Compression Meets Probabilities | https://www.youtube.com/watch?v=cCDCfoHTsaU |
| Compressor Head videos | https://www.youtube.com/playlist?list=PLOU2XLYxmsIJGErt5rrCqaSGTMyyqNt2H |
| (optional) Google Developers Live: GZIP is not enough! | https://www.youtube.com/watch?v=whGwm0Lky2s |
| https://github.com/coder0728/coding-interview-university#computer-security |
| MIT (23 videos) | https://www.youtube.com/playlist?list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Introduction, Threat Models | https://www.youtube.com/watch?v=GqmQg-cszw4&index=1&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Control Hijacking Attacks | https://www.youtube.com/watch?v=6bwzNg5qQ0o&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=2 |
| Buffer Overflow Exploits and Defenses | https://www.youtube.com/watch?v=drQyrzRoRiA&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=3 |
| Privilege Separation | https://www.youtube.com/watch?v=6SIJmoE9L9g&index=4&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Capabilities | https://www.youtube.com/watch?v=8VqTSY-11F4&index=5&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Sandboxing Native Code | https://www.youtube.com/watch?v=VEV74hwASeU&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=6 |
| Web Security Model | https://www.youtube.com/watch?v=chkFBigodIw&index=7&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Securing Web Applications | https://www.youtube.com/watch?v=EBQIGy1ROLY&index=8&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Symbolic Execution | https://www.youtube.com/watch?v=yRVZPvHYHzw&index=9&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Network Security | https://www.youtube.com/watch?v=SIEVvk3NVuk&index=11&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Network Protocols | https://www.youtube.com/watch?v=QOtA76ga_fY&index=12&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Side-Channel Attacks | https://www.youtube.com/watch?v=PuVMkSEcPiI&index=15&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| https://github.com/coder0728/coding-interview-university#garbage-collection |
| GC in Python (video) | https://www.youtube.com/watch?v=iHVs_HkjdmI |
| Deep Dive Java: Garbage Collection is Good! | https://www.infoq.com/presentations/garbage-collection-benefits |
| Deep Dive Python: Garbage Collection in CPython (video) | https://www.youtube.com/watch?v=P-8Z0-MhdQs&list=PLdzf4Clw0VbOEWOS_sLhT_9zaiQDrS5AR&index=3 |
| https://github.com/coder0728/coding-interview-university#parallel-programming |
| Coursera (Scala) | https://www.coursera.org/learn/parprog1/home/week/1 |
| Efficient Python for High Performance Parallel Computing (video) | https://www.youtube.com/watch?v=uY85GkaYzBk |
| https://github.com/coder0728/coding-interview-university#messaging-serialization-and-queueing-systems |
| Thrift | https://thrift.apache.org/ |
| Tutorial | http://thrift-tutorial.readthedocs.io/en/latest/intro.html |
| Protocol Buffers | https://developers.google.com/protocol-buffers/ |
| Tutorials | https://developers.google.com/protocol-buffers/docs/tutorials |
| gRPC | http://www.grpc.io/ |
| gRPC 101 for Java Developers (video) | https://www.youtube.com/watch?v=5tmPvSe7xXQ&list=PLcTqM9n_dieN0k1nSeN36Z_ppKnvMJoly&index=1 |
| Redis | http://redis.io/ |
| Tutorial | http://try.redis.io/ |
| Amazon SQS (queue) | https://aws.amazon.com/sqs/ |
| Amazon SNS (pub-sub) | https://aws.amazon.com/sns/ |
| RabbitMQ | https://www.rabbitmq.com/ |
| Get Started | https://www.rabbitmq.com/getstarted.html |
| Celery | http://www.celeryproject.org/ |
| First Steps With Celery | http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html |
| ZeroMQ | http://zeromq.org/ |
| Intro - Read The Manual | http://zeromq.org/intro:read-the-manual |
| ActiveMQ | http://activemq.apache.org/ |
| Kafka | http://kafka.apache.org/documentation.html#introduction |
| MessagePack | http://msgpack.org/index.html |
| Avro | https://avro.apache.org/ |
| https://github.com/coder0728/coding-interview-university#a |
| A Search Algorithm | https://en.wikipedia.org/wiki/A*_search_algorithm |
| A* Pathfinding Tutorial (video) | https://www.youtube.com/watch?v=KNXfSOx4eEE |
| A* Pathfinding (E01: algorithm explanation) (video) | https://www.youtube.com/watch?v=-L-WgKMFuhE |
| https://github.com/coder0728/coding-interview-university#fast-fourier-transform |
| An Interactive Guide To The Fourier Transform | https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/ |
| What is a Fourier transform? What is it used for? | http://www.askamathematician.com/2012/09/q-what-is-a-fourier-transform-what-is-it-used-for/ |
| What is the Fourier Transform? (video) | https://www.youtube.com/watch?v=Xxut2PN-V8Q |
| Divide & Conquer: FFT (video) | https://www.youtube.com/watch?v=iTMn0Kt18tg&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=4 |
| Understanding The FFT | http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/ |
| https://github.com/coder0728/coding-interview-university#bloom-filter |
| Bloom Filters (video) | https://www.youtube.com/watch?v=-SuTGoFYjZs |
| Bloom Filters | Mining of Massive Datasets | Stanford University (video) | https://www.youtube.com/watch?v=qBTdukbzc78 |
| Tutorial | http://billmill.org/bloomfilter-tutorial/ |
| How To Write A Bloom Filter App | http://blog.michaelschmatz.com/2016/04/11/how-to-write-a-bloom-filter-cpp/ |
| https://github.com/coder0728/coding-interview-university#hyperloglog |
| How To Count A Billion Distinct Objects Using Only 1.5KB Of Memory | http://highscalability.com/blog/2012/4/5/big-data-counting-how-to-count-a-billion-distinct-objects-us.html |
| https://github.com/coder0728/coding-interview-university#locality-sensitive-hashing |
| Simhashing (hopefully) made simple | http://ferd.ca/simhashing-hopefully-made-simple.html |
| https://github.com/coder0728/coding-interview-university#van-emde-boas-trees |
| Divide & Conquer: van Emde Boas Trees (video) | https://www.youtube.com/watch?v=hmReJCupbNU&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=6 |
| MIT Lecture Notes | https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012/lecture-notes/MIT6_046JS12_lec15.pdf |
| https://github.com/coder0728/coding-interview-university#augmented-data-structures |
| CS 61B Lecture 39: Augmenting Data Structures | https://archive.org/details/ucberkeley_webcast_zksIj9O8_jc |
| https://github.com/coder0728/coding-interview-university#balanced-search-trees |
| Self-balancing binary search tree | https://en.wikipedia.org/wiki/Self-balancing_binary_search_tree |
| MIT AVL Trees / AVL Sort (video) | https://www.youtube.com/watch?v=FNeL18KsWPc&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=6 |
| AVL Trees (video) | https://www.coursera.org/learn/data-structures/lecture/Qq5E0/avl-trees |
| AVL Tree Implementation (video) | https://www.coursera.org/learn/data-structures/lecture/PKEBC/avl-tree-implementation |
| Split And Merge | https://www.coursera.org/learn/data-structures/lecture/22BgE/split-and-merge |
| CS 61B: Splay Trees (video) | https://archive.org/details/ucberkeley_webcast_G5QIXywcJlY |
| Video | https://www.youtube.com/watch?v=QnPl_Y6EqMo |
| Aduni - Algorithms - Lecture 4 (link jumps to starting point) (video) | https://youtu.be/1W3x0f_RmUo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3871 |
| Aduni - Algorithms - Lecture 5 (video) | https://www.youtube.com/watch?v=hm2GHwyKF1o&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=5 |
| Red-Black Tree | https://en.wikipedia.org/wiki/Red%E2%80%93black_tree |
| An Introduction To Binary Search And Red Black Tree | https://www.topcoder.com/community/competitive-programming/tutorials/an-introduction-to-binary-search-and-red-black-trees/ |
| 23-Tree Intuition and Definition (video) | https://www.youtube.com/watch?v=C3SsdUqasD4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=2 |
| Binary View of 23-Tree | https://www.youtube.com/watch?v=iYvBtGKsqSg&index=3&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6 |
| 2-3 Trees (student recitation) (video) | https://www.youtube.com/watch?v=TOb1tuEZ2X4&index=5&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp |
| CS 61B Lecture 26: Balanced Search Trees (video) | https://archive.org/details/ucberkeley_webcast_zqrqYXkth6Q |
| Bottom Up 234-Trees (video) | https://www.youtube.com/watch?v=DQdMYevEyE4&index=4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6 |
| Top Down 234-Trees (video) | https://www.youtube.com/watch?v=2679VQ26Fp4&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=5 |
| K-Ary Tree | https://en.wikipedia.org/wiki/K-ary_tree |
| B-Tree | https://en.wikipedia.org/wiki/B-tree |
| B-Tree Datastructure | http://btechsmartclass.com/data_structures/b-trees.html |
| Introduction to B-Trees (video) | https://www.youtube.com/watch?v=I22wEC1tTGo&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6&index=6 |
| B-Tree Definition and Insertion (video) | https://www.youtube.com/watch?v=s3bCdZGrgpA&index=7&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6 |
| B-Tree Deletion (video) | https://www.youtube.com/watch?v=svfnVhJOfMc&index=8&list=PLA5Lqm4uh9Bbq-E0ZnqTIa8LRaL77ica6 |
| MIT 6.851 - Memory Hierarchy Models (video) | https://www.youtube.com/watch?v=V3omVLzI0WE&index=7&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf |
| https://github.com/coder0728/coding-interview-university#k-d-trees |
| Kd Trees (video) | https://www.youtube.com/watch?v=W94M9D_yXKk |
| kNN K-d tree algorithm (video) | https://www.youtube.com/watch?v=Y4ZgLlDfKDg |
| https://github.com/coder0728/coding-interview-university#skip-lists |
| Randomization: Skip Lists (video) | https://www.youtube.com/watch?v=2g9OSRKJuzM&index=10&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp |
| For animations and a little more detail | https://en.wikipedia.org/wiki/Skip_list |
| https://github.com/coder0728/coding-interview-university#network-flows |
| Ford-Fulkerson in 5 minutes — Step by step example (video) | https://www.youtube.com/watch?v=Tl90tNtKvxs |
| Ford-Fulkerson Algorithm (video) | https://www.youtube.com/watch?v=v1VgJmkEJW0 |
| Network Flows (video) | https://www.youtube.com/watch?v=2vhN4Ice5jI |
| https://github.com/coder0728/coding-interview-university#disjoint-sets--union-find |
| UCB 61B - Disjoint Sets; Sorting & selection (video) | https://archive.org/details/ucberkeley_webcast_MAEGXTwmUsI |
| Sedgewick Algorithms - Union-Find (6 videos) | https://www.coursera.org/learn/algorithms-part1/home/week/1 |
| https://github.com/coder0728/coding-interview-university#math-for-fast-processing |
| Integer Arithmetic, Karatsuba Multiplication (video) | https://www.youtube.com/watch?v=eCaXlAaN2uE&index=11&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb |
| The Chinese Remainder Theorem (used in cryptography) (video) | https://www.youtube.com/watch?v=ru7mWZJlRQg |
| https://github.com/coder0728/coding-interview-university#treap |
| Treap | https://en.wikipedia.org/wiki/Treap |
| Data Structures: Treaps explained (video) | https://www.youtube.com/watch?v=6podLUYinH8 |
| Applications in set operations | https://www.cs.cmu.edu/~scandal/papers/treaps-spaa98.pdf |
| https://github.com/coder0728/coding-interview-university#linear-programming-videos |
| Linear Programming | https://www.youtube.com/watch?v=M4K6HYLHREQ |
| Finding minimum cost | https://www.youtube.com/watch?v=2ACJ9ewUC6U |
| Finding maximum value | https://www.youtube.com/watch?v=8AA_81xI3ik |
| Solve Linear Equations with Python - Simplex Algorithm | https://www.youtube.com/watch?v=44pAWI7v5Zk |
| https://github.com/coder0728/coding-interview-university#geometry-convex-hull-videos |
| Graph Alg. IV: Intro to geometric algorithms - Lecture 9 | https://youtu.be/XIAQRlNkJAw?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3164 |
| Geometric Algorithms: Graham & Jarvis - Lecture 10 | https://www.youtube.com/watch?v=J5aJEcOr6Eo&index=10&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm |
| Divide & Conquer: Convex Hull, Median Finding | https://www.youtube.com/watch?v=EzeYI7p9MjU&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=2 |
| https://github.com/coder0728/coding-interview-university#discrete-math |
| https://github.com/coder0728/coding-interview-university#machine-learning |
| How Google Is Remaking Itself As A Machine Learning First Company | https://backchannel.com/how-google-is-remaking-itself-as-a-machine-learning-first-company-ada63defcb70 |
| Large-Scale Deep Learning for Intelligent Computer Systems (video) | https://www.youtube.com/watch?v=QSaZGT4-6EY |
| Deep Learning and Understandability versus Software Engineering and Verification by Peter Norvig | https://www.youtube.com/watch?v=X769cyzBNVw |
| Google's Cloud Machine learning tools (video) | https://www.youtube.com/watch?v=Ja2hxBAwG_0 |
| Google Developers' Machine Learning Recipes (Scikit Learn & Tensorflow) (video) | https://www.youtube.com/playlist?list=PLOU2XLYxmsIIuiBfYad6rFYQU_jL2ryal |
| Tensorflow (video) | https://www.youtube.com/watch?v=oZikw5k_2FM |
| Tensorflow Tutorials | https://www.tensorflow.org/versions/r0.11/tutorials/index.html |
| Practical Guide to implementing Neural Networks in Python (using Theano) | http://www.analyticsvidhya.com/blog/2016/04/neural-networks-python-theano/ |
| Great starter course: Machine Learning | https://www.coursera.org/learn/machine-learning |
| videos only | https://www.youtube.com/playlist?list=PLZ9qNFMHZ-A4rycgrgOYma6zxF4BZGGPW |
| Neural Networks for Machine Learning | https://www.coursera.org/learn/neural-networks |
| Google's Deep Learning Nanodegree | https://www.udacity.com/course/deep-learning--ud730 |
| Google/Kaggle Machine Learning Engineer Nanodegree | https://www.udacity.com/course/machine-learning-engineer-nanodegree-by-google--nd009 |
| Self-Driving Car Engineer Nanodegree | https://www.udacity.com/drive |
| Metis Online Course ($99 for 2 months) | http://www.thisismetis.com/explore-data-science |
| Python Machine Learning | https://www.amazon.com/Python-Machine-Learning-Sebastian-Raschka/dp/1783555130/ |
| Data Science from Scratch: First Principles with Python | https://www.amazon.com/Data-Science-Scratch-Principles-Python/dp/149190142X |
| Introduction to Machine Learning with Python | https://www.amazon.com/Introduction-Machine-Learning-Python-Scientists/dp/1449369413/ |
| Machine Learning for Software Engineers | https://github.com/ZuzooVn/machine-learning-for-software-engineers |
| http://www.dataschool.io/ | http://www.dataschool.io/ |
| https://github.com/coder0728/coding-interview-university#additional-detail-on-some-subjects |
| Bob Martin SOLID Principles of Object Oriented and Agile Design (video) | https://www.youtube.com/watch?v=TMuno5RZNeE |
| Single Responsibility Principle | http://www.oodesign.com/single-responsibility-principle.html |
| Single responsibility to each Object | http://www.javacodegeeks.com/2011/11/solid-single-responsibility-principle.html |
| more flavor | https://docs.google.com/open?id=0ByOwmqah_nuGNHEtcU5OekdDMkk |
| Open/Closed Principal | http://www.oodesign.com/open-close-principle.html |
| On production level Objects are ready for extension but not for modification | https://en.wikipedia.org/wiki/Open/closed_principle |
| more flavor | http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgN2M5MTkwM2EtNWFkZC00ZTI3LWFjZTUtNTFhZGZiYmUzODc1&hl=en |
| Liskov Substitution Principal | http://www.oodesign.com/liskov-s-substitution-principle.html |
| Base Class and Derived class follow ‘IS A’ principal | http://stackoverflow.com/questions/56860/what-is-the-liskov-substitution-principle |
| more flavor | http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgNzAzZjA5ZmItNjU3NS00MzQ5LTkwYjMtMDJhNDU5ZTM0MTlh&hl=en |
| Interface segregation principle | http://www.oodesign.com/interface-segregation-principle.html |
| Interface Segregation Principle in 5 minutes (video) | https://www.youtube.com/watch?v=3CtAfl7aXAQ |
| more flavor | http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgOTViYjJhYzMtMzYxMC00MzFjLWJjMzYtOGJiMDc5N2JkYmJi&hl=en |
| Dependency Inversion principle | http://www.oodesign.com/dependency-inversion-principle.html |
| Why Is The Dependency Inversion Principle And Why Is It Important | http://stackoverflow.com/questions/62539/what-is-the-dependency-inversion-principle-and-why-is-it-important |
| more flavor | http://docs.google.com/a/cleancoder.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BwhCYaYDn8EgMjdlMWIzNGUtZTQ0NC00ZjQ5LTkwYzQtZjRhMDRlNTQ3ZGMz&hl=en |
| Overview | https://www.coursera.org/learn/data-structures/lecture/JssSY/overview |
| Naive Implementation | https://www.coursera.org/learn/data-structures/lecture/EM5D0/naive-implementations |
| Trees | https://www.coursera.org/learn/data-structures/lecture/Mxu0w/trees |
| Union By Rank | https://www.coursera.org/learn/data-structures/lecture/qb4c2/union-by-rank |
| Path Compression | https://www.coursera.org/learn/data-structures/lecture/Q9CVI/path-compression |
| Analysis Options | https://www.coursera.org/learn/data-structures/lecture/GQQLN/analysis-optional |
| 6.006: Dynamic Programming I: Fibonacci, Shortest Paths | https://www.youtube.com/watch?v=OQ5jsbhAv_M&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=19 |
| 6.006: Dynamic Programming II: Text Justification, Blackjack | https://www.youtube.com/watch?v=ENyox7kNKeY&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=20 |
| 6.006: DP III: Parenthesization, Edit Distance, Knapsack | https://www.youtube.com/watch?v=ocZMDMZwhCY&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=21 |
| 6.006: DP IV: Guitar Fingering, Tetris, Super Mario Bros. | https://www.youtube.com/watch?v=tp4_UXaVyx8&index=22&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb |
| 6.046: Dynamic Programming & Advanced DP | https://www.youtube.com/watch?v=Tw1k46ywN6E&index=14&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp |
| 6.046: Dynamic Programming: All-Pairs Shortest Paths | https://www.youtube.com/watch?v=NzgFUwOaoIw&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=15 |
| 6.046: Dynamic Programming (student recitation) | https://www.youtube.com/watch?v=krZI60lKPek&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=12 |
| Synchronous Distributed Algorithms: Symmetry-Breaking. Shortest-Paths Spanning Trees | https://www.youtube.com/watch?v=mUBmcbbJNf4&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=27 |
| Asynchronous Distributed Algorithms: Shortest-Paths Spanning Trees | https://www.youtube.com/watch?v=kQ-UQAzcnzA&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=28 |
| MIT 6.042J - Probability Introduction | https://www.youtube.com/watch?v=SmFwFdESMHI&index=18&list=PLB7540DEDD482705B |
| MIT 6.042J - Conditional Probability | https://www.youtube.com/watch?v=E6FbvM-FGZ8&index=19&list=PLB7540DEDD482705B |
| MIT 6.042J - Independence | https://www.youtube.com/watch?v=l1BCv3qqW4A&index=20&list=PLB7540DEDD482705B |
| MIT 6.042J - Random Variables | https://www.youtube.com/watch?v=MOfhhFaQdjw&list=PLB7540DEDD482705B&index=21 |
| MIT 6.042J - Expectation I | https://www.youtube.com/watch?v=gGlMSe7uEkA&index=22&list=PLB7540DEDD482705B |
| MIT 6.042J - Expectation II | https://www.youtube.com/watch?v=oI9fMUqgfxY&index=23&list=PLB7540DEDD482705B |
| MIT 6.042J - Large Deviations | https://www.youtube.com/watch?v=q4mwO2qS2z4&index=24&list=PLB7540DEDD482705B |
| MIT 6.042J - Random Walks | https://www.youtube.com/watch?v=56iFMY8QW2k&list=PLB7540DEDD482705B&index=25 |
| Simonson: Approximation Algorithms (video) | https://www.youtube.com/watch?v=oDniZCmNmNw&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=19 |
| Rabin Karps Algorithm | https://www.coursera.org/learn/data-structures/lecture/c0Qkw/rabin-karps-algorithm |
| Precomputing | https://www.coursera.org/learn/data-structures/lecture/nYrc8/optimization-precomputation |
| Optimization: Implementation and Analysis | https://www.coursera.org/learn/data-structures/lecture/h4ZLc/optimization-implementation-and-analysis |
| Table Doubling, Karp-Rabin | https://www.youtube.com/watch?v=BRO7mVIFt08&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=9 |
| Rolling Hashes, Amortized Analysis | https://www.youtube.com/watch?v=w6nuXg0BISo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&index=32 |
| TThe Knuth-Morris-Pratt (KMP) String Matching Algorithm | https://www.youtube.com/watch?v=5i7oKodCRJo |
| Boyer-Moore String Search Algorithm | https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm |
| Advanced String Searching Boyer-Moore-Horspool Algorithms (video) | https://www.youtube.com/watch?v=QDZpzctPf10 |
| Coursera: Algorithms on Strings | https://www.coursera.org/learn/algorithms-on-strings/home/week/1 |
| Lecture 15 | Programming Abstractions (video) | https://www.youtube.com/watch?v=ENp00xylP7c&index=15&list=PLFE6E58F856038C69 |
| Lecture 16 | Programming Abstractions (video) | https://www.youtube.com/watch?v=y4M9IVgrVKo&index=16&list=PLFE6E58F856038C69 |
| Aduni.org | http://www.aduni.org/ |
| Algorithms - Sorting - Lecture 2 (video) | https://www.youtube.com/watch?v=odNJmw5TOEE&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=2 |
| Algorithms - Sorting II - Lecture 3 (video) | https://www.youtube.com/watch?v=hj8YKFTFKEE&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=3 |
| lecture begins at 26:46 (video) | https://youtu.be/ute-pmMkyuk?list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&t=1600 |
| lecture begins at 27:40 (video) | https://www.youtube.com/watch?v=yLvp-pB8mak&index=8&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b |
| lecture begins at 35:00 (video) | https://www.youtube.com/watch?v=q7K9otnzlfE&index=9&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b |
| lecture begins at 23:50 (video) | https://www.youtube.com/watch?v=TvqIGu9Iupw&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=10 |
| https://github.com/coder0728/coding-interview-university#video-series |
| List of individual Dynamic Programming problems (each is short) | https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr |
| x86 Architecture, Assembly, Applications (11 videos) | https://www.youtube.com/playlist?list=PL038BE01D3BAEFDB0 |
| MIT 18.06 Linear Algebra, Spring 2005 (35 videos) | https://www.youtube.com/playlist?list=PLE7DDD91010BC51F8 |
| Excellent - MIT Calculus Revisited: Single Variable Calculus | https://www.youtube.com/playlist?list=PL3B08AE665AB9002A |
| Computer Science 70, 001 - Spring 2015 - Discrete Mathematics and Probability Theory | http://www.infocobuild.com/education/audio-video-courses/computer-science/cs70-spring2015-berkeley.html |
| Discrete Mathematics by Shai Simonson (19 videos) | https://www.youtube.com/playlist?list=PL3o9D4Dl2FJ9q0_gtFXPh_H4POI5dK0yG |
| Discrete Mathematics Part 1 by Sarada Herke (5 videos) | https://www.youtube.com/playlist?list=PLGxuz-nmYlQPOc4w1Kp2MZrdqOOm4Jxeo |
| Skiena lectures from Algorithm Design Manual | https://www.youtube.com/watch?v=ZFjhkohHdAA&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=1 |
| UC Berkeley 61B (Spring 2014): Data Structures (25 videos) | https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iAlnI-BQr9hjqADPBtujFJd |
| UC Berkeley 61B (Fall 2006): Data Structures (39 videos) | https://archive.org/details/ucberkeley-webcast-PL4BBB74C7D2A1049C |
| UC Berkeley 61C: Machine Structures (26 videos) | https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iCl2-D-FS5mk0jFF6cYSJs_ |
| OOSE: Software Dev Using UML and Java (21 videos) | https://www.youtube.com/playlist?list=PLJ9pm_Rc9HesnkwKlal_buSIHA-jTZMpO |
| UC Berkeley CS 152: Computer Architecture and Engineering (20 videos) | https://www.youtube.com/watch?v=UH0QYvtP7Rk&index=20&list=PLkFD6_40KJIwEiwQx1dACXwh-2Fuo32qr |
| MIT 6.004: Computation Structures (49 videos) | https://www.youtube.com/playlist?list=PLDSlqjcPpoL64CJdF0Qee5oWqGS6we_Yu |
| Carnegie Mellon - Computer Architecture Lectures (39 videos) | https://www.youtube.com/playlist?list=PL5PHm2jkkXmi5CxxI7b3JCL1TWybTDtKq |
| MIT 6.006: Intro to Algorithms (47 videos) | https://www.youtube.com/watch?v=HtSuA80QTyo&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb&nohtml5=False |
| MIT 6.033: Computer System Engineering (22 videos) | https://www.youtube.com/watch?v=zm2VP0kHl1M&list=PL6535748F59DCA484 |
| MIT 6.034 Artificial Intelligence, Fall 2010 (30 videos) | https://www.youtube.com/playlist?list=PLUl4u3cNGP63gFHB6xb-kVBiQHYe_4hSi |
| MIT 6.042J: Mathematics for Computer Science, Fall 2010 (25 videos) | https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLB7540DEDD482705B |
| MIT 6.046: Design and Analysis of Algorithms (34 videos) | https://www.youtube.com/watch?v=2P-yW7LQr08&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp |
| MIT 6.050J: Information and Entropy, Spring 2008 (19 videos) | https://www.youtube.com/watch?v=phxsQrZQupo&list=PL_2Bwul6T-A7OldmhGODImZL8KEVE38X7 |
| MIT 6.851: Advanced Data Structures (22 videos) | https://www.youtube.com/watch?v=T0yzrZL1py0&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf&index=1 |
| MIT 6.854: Advanced Algorithms, Spring 2016 (24 videos) | https://www.youtube.com/playlist?list=PL6ogFv-ieghdoGKGg2Bik3Gl1glBTEu8c |
| Harvard COMPSCI 224: Advanced Algorithms (25 videos) | https://www.youtube.com/playlist?list=PL2SOU6wwxB0uP4rJgf5ayhHWgw7akUWSf |
| MIT 6.858 Computer Systems Security, Fall 2014 | https://www.youtube.com/watch?v=GqmQg-cszw4&index=1&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh |
| Stanford: Programming Paradigms (27 videos) | https://www.youtube.com/view_play_list?p=9D558D49CA734A02 |
| Introduction to Cryptography by Christof Paar | https://www.youtube.com/playlist?list=PL6N5qY2nvvJE8X75VkXglSrVhLv1tVcfy |
| Course Website along with Slides and Problem Sets | http://www.crypto-textbook.com/ |
| Mining Massive Datasets - Stanford University (94 videos) | https://www.youtube.com/playlist?list=PLLssT5z_DsK9JDLcT8T62VtzwyW9LNepV |
| Graph Theory by Sarada Herke (67 videos) | https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd |
| https://github.com/coder0728/coding-interview-university#computer-science-courses |
| Directory of Online CS Courses | https://github.com/open-source-society/computer-science |
| Directory of CS Courses (many with online lectures) | https://github.com/prakhar1989/awesome-courses |
| https://github.com/coder0728/coding-interview-university#papers |
| Love classic papers? | https://www.cs.cmu.edu/~crary/819-f09/ |
| 1978: Communicating Sequential Processes | http://spinroot.com/courses/summer/Papers/hoare_1978.pdf |
| implemented in Go | https://godoc.org/github.com/thomas11/csp |
| 2003: The Google File System | http://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf |
| 2004: MapReduce: Simplified Data Processing on Large Clusters | http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf |
| 2006: Bigtable: A Distributed Storage System for Structured Data | https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf |
| An Inside Look at Google BigQuery | https://cloud.google.com/files/BigQueryTechnicalWP.pdf |
| 2006: The Chubby Lock Service for Loosely-Coupled Distributed Systems | https://research.google.com/archive/chubby-osdi06.pdf |
| 2007: Dynamo: Amazon’s Highly Available Key-value Store | http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf |
| 2007: What Every Programmer Should Know About Memory (very long, and the author encourages skipping of some sections) | https://www.akkadia.org/drepper/cpumemory.pdf |
| 2010: Dapper, a Large-Scale Distributed Systems Tracing Infrastructure | https://research.google.com/pubs/archive/36356.pdf |
| 2010: Dremel: Interactive Analysis of Web-Scale Datasets | https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36632.pdf |
| 2012: Google's Colossus | https://www.wired.com/2012/07/google-colossus/ |
| paper | http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37752.pdf |
| video | https://www.usenix.org/conference/atc12/technical-sessions/presentation/serebryany |
| paper | http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf |
| video | https://www.usenix.org/node/170855 |
| 2014: Machine Learning: The High-Interest Credit Card of Technical Debt | http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43146.pdf |
| 2015: Continuous Pipelines at Google | http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43790.pdf |
| 2015: High-Availability at Massive Scale: Building Google’s Data Infrastructure for Ads | https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44686.pdf |
| 2015: TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems | http://download.tensorflow.org/paper/whitepaper2015.pdf |
| 2015: How Developers Search for Code: A Case Study | http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43835.pdf |
| 2016: Borg, Omega, and Kubernetes | http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44843.pdf |
| https://github.com/coder0728/coding-interview-university#license |
| CC-BY-SA-4.0 | https://github.com/coder0728/coding-interview-university/blob/master/LICENSE.txt |
|
Readme
| https://github.com/coder0728/coding-interview-university#readme-ov-file |
|
CC-BY-SA-4.0 license
| https://github.com/coder0728/coding-interview-university#CC-BY-SA-4.0-1-ov-file |
| Please reload this page | https://github.com/coder0728/coding-interview-university |
|
Activity | https://github.com/coder0728/coding-interview-university/activity |
|
1
star | https://github.com/coder0728/coding-interview-university/stargazers |
|
0
watching | https://github.com/coder0728/coding-interview-university/watchers |
|
0
forks | https://github.com/coder0728/coding-interview-university/forks |
|
Report repository
| https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fcoder0728%2Fcoding-interview-university&report=coder0728+%28user%29 |
| Releases | https://github.com/coder0728/coding-interview-university/releases |
| Packages
0 | https://github.com/users/coder0728/packages?repo_name=coding-interview-university |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |