Reorganized some of the additional learning areas.

This commit is contained in:
John Washam 2016-08-15 21:21:49 -07:00
parent 981347d4c8
commit 76f8548717
1 changed files with 86 additions and 107 deletions

193
README.md
View File

@ -791,20 +791,6 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
- [x] MIT 6.004 L15: The Memory Hierarchy: https://www.youtube.com/watch?v=vjYF_fAZI5E&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-&index=24
- [x] MIT 6.004 L16: Cache Issues: https://www.youtube.com/watch?v=ajgC3-pyGlk&index=25&list=PLrRW1w6CGAcXbMtDFj205vALOGmiRc82-
- [ ] **Design patterns**
- [ ] CS164 Lecture 3 Design Patterns: https://youtu.be/mym5m-GKG0Q?t=660
- description:
- https://www.lynda.com/Developer-Programming-Foundations-tutorials/Foundations-Programming-Design-Patterns/135365-2.html
- Patterns: https://www.youtube.com/playlist?list=PLF206E906175C7E07
- UML: https://www.youtube.com/playlist?list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc
- [ ] strategy
- [ ] singleton
- [ ] adapter
- [ ] prototype
- [ ] decorator
- [ ] visitor
- [ ] factory
- [ ] **Operating Systems (25 videos):**
- Computer Science 162: https://www.youtube.com/watch?v=-KWd_eQYLwY&index=2&list=PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c
- https://www.quora.com/What-is-the-difference-between-a-process-and-a-thread
@ -836,13 +822,52 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
- [ ] 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
- [ ] **Scale & Data Handling:**
- see **Scalability** section below and **Papers**
- [ ] **Scalability & Data Handling:**
- Distill large data sets to single values
- Transform one data set to another
- Handling obscenely large amounts of data
- [ ] https://www.youtube.com/watch?v=9nWyWwY2Onc
- [ ] https://www.youtube.com/watch?v=H4vMcD7zKM0
- [ ] Articles:
- [ ] https://www.topcoder.com/community/data-science/data-science-tutorials/the-importance-of-algorithms/
- [ ] http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html
- [ ] http://highscalability.com/blog/2016/4/4/how-to-remove-duplicates-in-a-large-dataset-reducing-memory.html
- [ ] http://highscalability.com/blog/2016/3/23/what-does-etsys-architecture-look-like-today.html
- [ ] http://highscalability.com/blog/2016/3/21/to-compress-or-not-to-compress-that-was-ubers-question.html
- [ ] http://highscalability.com/blog/2016/3/3/asyncio-tarantool-queue-get-in-the-queue.html
- [ ] http://highscalability.com/blog/2016/2/25/when-should-approximate-query-processing-be-used.html
- [ ] http://highscalability.com/blog/2016/2/23/googles-transition-from-single-datacenter-to-failover-to-a-n.html
- [ ] http://highscalability.com/blog/2016/2/15/egnyte-architecture-lessons-learned-in-building-and-scaling.html
- [ ] http://highscalability.com/blog/2016/2/1/a-patreon-architecture-short.html
- [ ] http://highscalability.com/blog/2016/1/27/tinder-how-does-one-of-the-largest-recommendation-engines-de.html
- [ ] http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html
- [ ] http://highscalability.com/blog/2016/1/13/live-video-streaming-at-facebook-scale.html
- [ ] http://highscalability.com/blog/2016/1/11/a-beginners-guide-to-scaling-to-11-million-users-on-amazons.html
- [ ] http://highscalability.com/blog/2015/12/16/how-does-the-use-of-docker-effect-latency.html
- [ ] http://highscalability.com/blog/2015/12/14/does-amp-counter-an-existential-threat-to-google.html
- [ ] http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html
- [ ] http://highscalability.com/latency-everywhere-and-it-costs-you-sales-how-crush-it
- [ ] **About Google**:
- [ ] How Search Works:
- [ ] https://www.google.com/insidesearch/howsearchworks/thestory/
- [ ] https://www.youtube.com/watch?v=BNHR6IQJGZs
- [ ] https://www.google.com/insidesearch/howsearchworks/
- [ ] Series:
- [x] https://backchannel.com/how-google-search-dealt-with-mobile-33bc09852dc9
- [ ] https://backchannel.com/googles-secret-study-to-find-out-our-needs-eba8700263bf
- [ ] https://backchannel.com/google-search-will-be-your-next-brain-5207c26e4523
- [ ] https://backchannel.com/the-deep-mind-of-demis-hassabis-156112890d8a
- [ ] **Papers**:
- [ ] The Google File System: http://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf
- [ ] MapReduce: Simplified Data Processing on Large Clusters: http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf
- [ ] TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems: http://download.tensorflow.org/paper/whitepaper2015.pdf
- [ ] How Developers Search for Code: A Case Study http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43835.pdf
- [ ] Borg, Omega, and Kubernetes: http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44843.pdf
- [ ] Continuous Pipelines at Google: http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43790.pdf
- [ ] AddressSanitizer: A Fast Address Sanity Checker http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37752.pdf
- [ ] Computing Weak Consistency in Polynomial Time: http://dl.acm.org/ft_gateway.cfm?id=2767407&ftid=1607485&dwn=1&CFID=627637486&CFTOKEN=49290244
- [ ] **System design**
- https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023
@ -913,8 +938,23 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
- what is integration testing
- what is dependency injection
- [ ] **Design patterns**
- [ ] CS164 Lecture 3 Design Patterns: https://youtu.be/mym5m-GKG0Q?t=660
- description:
- https://www.lynda.com/Developer-Programming-Foundations-tutorials/Foundations-Programming-Design-Patterns/135365-2.html
- Patterns: https://www.youtube.com/playlist?list=PLF206E906175C7E07
- UML: https://www.youtube.com/playlist?list=PLGLfVvz_LVvQ5G-LdJ8RLqe-ndo7QITYc
- [ ] strategy
- [ ] singleton
- [ ] adapter
- [ ] prototype
- [ ] decorator
- [ ] visitor
- [ ] factory
- [ ] **Scheduling**
- in an OS, how it works
- can be gleaned from Operating System videos
- [ ] **Implement system routines**
- understand what lies beneath the programming APIs you use
@ -991,65 +1031,6 @@ If you have time:
- all code is in C++, if you're looking to use C++ in your interview
- good book on problem solving in general.
## About Google
- [ ] How Search Works:
- [ ] https://www.google.com/insidesearch/howsearchworks/thestory/
- [ ] https://www.youtube.com/watch?v=BNHR6IQJGZs
- [ ] https://www.google.com/insidesearch/howsearchworks/
- [ ] Series:
- [x] https://backchannel.com/how-google-search-dealt-with-mobile-33bc09852dc9
- [ ] https://backchannel.com/googles-secret-study-to-find-out-our-needs-eba8700263bf
- [ ] https://backchannel.com/google-search-will-be-your-next-brain-5207c26e4523
- [ ] https://backchannel.com/the-deep-mind-of-demis-hassabis-156112890d8a
## Scalability Articles
- [ ] https://www.topcoder.com/community/data-science/data-science-tutorials/the-importance-of-algorithms/
- [ ] http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html
- [ ] http://highscalability.com/blog/2016/4/4/how-to-remove-duplicates-in-a-large-dataset-reducing-memory.html
- [ ] http://highscalability.com/blog/2016/3/23/what-does-etsys-architecture-look-like-today.html
- [ ] http://highscalability.com/blog/2016/3/21/to-compress-or-not-to-compress-that-was-ubers-question.html
- [ ] http://highscalability.com/blog/2016/3/3/asyncio-tarantool-queue-get-in-the-queue.html
- [ ] http://highscalability.com/blog/2016/2/25/when-should-approximate-query-processing-be-used.html
- [ ] http://highscalability.com/blog/2016/2/23/googles-transition-from-single-datacenter-to-failover-to-a-n.html
- [ ] http://highscalability.com/blog/2016/2/15/egnyte-architecture-lessons-learned-in-building-and-scaling.html
- [ ] http://highscalability.com/blog/2016/2/1/a-patreon-architecture-short.html
- [ ] http://highscalability.com/blog/2016/1/27/tinder-how-does-one-of-the-largest-recommendation-engines-de.html
- [ ] http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html
- [ ] http://highscalability.com/blog/2016/1/13/live-video-streaming-at-facebook-scale.html
- [ ] http://highscalability.com/blog/2016/1/11/a-beginners-guide-to-scaling-to-11-million-users-on-amazons.html
- [ ] http://highscalability.com/blog/2015/12/16/how-does-the-use-of-docker-effect-latency.html
- [ ] http://highscalability.com/blog/2015/12/14/does-amp-counter-an-existential-threat-to-google.html
- [ ] http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html
- [ ] http://highscalability.com/latency-everywhere-and-it-costs-you-sales-how-crush-it
## Papers:
- [ ] The Google File System:
- http://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf
- [ ] MapReduce: Simplified Data Processing on Large Clusters:
- http://static.googleusercontent.com/media/research.google.com/en//archive/mapreduce-osdi04.pdf
- [ ] TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems
- http://download.tensorflow.org/paper/whitepaper2015.pdf
- [ ] How Developers Search for Code: A Case Study
- http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43835.pdf
- [ ] Borg, Omega, and Kubernetes
- http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44843.pdf
- [ ] Continuous Pipelines at Google
- http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43790.pdf
- [ ] AddressSanitizer: A Fast Address Sanity Checker
- http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/37752.pdf
- [ ] Computing Weak Consistency in Polynomial Time
- http://dl.acm.org/ft_gateway.cfm?id=2767407&ftid=1607485&dwn=1&CFID=627637486&CFTOKEN=49290244
## Coding exercises/challenges:
Once you've learned your brains out, put those brains to work.
@ -1128,10 +1109,38 @@ Some of mine (I already may know answer to but want their opinion or team perspe
Everything below is my recommendation, not Google's, and you may not have enough time to
learn, watch or read them all. That's ok. I may not either.
- [x] **Information theory**
- [x] Khan Academy: https://www.khanacademy.org/computing/computer-science/informationtheory
- [x] more about Markov processes:
- [x] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/waxgx/core-markov-text-generation
- [x] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/gZhiC/core-implementing-markov-text-generation
- [x] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/EUjrq/project-markov-text-generation-walk-through
- See more in MIT 6.050J Information and Entropy series below.
- [x] **Parity & Hamming Code**
- [x] Intro: https://www.youtube.com/watch?v=q-3BctoUpHE
- [x] Parity: https://www.youtube.com/watch?v=DdMcAUlxh1M
- [x] Hamming Code:
- Error detection: https://www.youtube.com/watch?v=1A_NcXxdoCc
- Error correction: https://www.youtube.com/watch?v=JAMLuxdHH8o
- [x] Error Checking:
- https://www.youtube.com/watch?v=wbH2VxzmoZk
- [ ] **Entropy** (see videos below)
- https://www.youtube.com/watch?v=phxsQrZQupo&index=1&list=PL_2Bwul6T-A7OldmhGODImZL8KEVE38X7
- [ ] **Cryptography** (also see videos below)
- [ ] 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: Encryptiom: https://www.youtube.com/watch?v=9TNI2wHmaeI&index=31&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp
- [ ] **Compression**
- [ ] Compressor Head videos: https://www.youtube.com/playlist?list=PLOU2XLYxmsIJGErt5rrCqaSGTMyyqNt2H
- [ ] https://www.youtube.com/watch?v=mM9m9uDlHno&list=PL_2Bwul6T-A7OldmhGODImZL8KEVE38X7&index=2
- [ ] **Computer Security**
- MIT (23 videos): https://www.youtube.com/playlist?list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh
- [ ] **Augmented Data Structures**
- [ ] CS 61B Lecture 39: Augmenting Data Structures: https://www.youtube.com/watch?v=zksIj9O8_jc&list=PL4BBB74C7D2A1049C&index=39
@ -1170,35 +1179,12 @@ Some of mine (I already may know answer to but want their opinion or team perspe
- [ ] Divide & Conquer: FFT: https://www.youtube.com/watch?v=iTMn0Kt18tg&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=4
- [ ] http://jakevdp.github.io/blog/2013/08/28/understanding-the-fft/
- [ ] Integer Arithmetic, Karatsuba Multiplication: https://www.youtube.com/watch?v=eCaXlAaN2uE&index=11&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb
- [ ] **Integer Arithmetic, Karatsuba Multiplication:**
- [ ] https://www.youtube.com/watch?v=eCaXlAaN2uE&index=11&list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb
- [ ] **Treap**
- [ ] ?
- [x] **Parity & Hamming Code**
- [x] Intro: https://www.youtube.com/watch?v=q-3BctoUpHE
- [x] Parity: https://www.youtube.com/watch?v=DdMcAUlxh1M
- [x] Hamming Code:
- Error detection: https://www.youtube.com/watch?v=1A_NcXxdoCc
- Error correction: https://www.youtube.com/watch?v=JAMLuxdHH8o
- [x] Error Checking:
- https://www.youtube.com/watch?v=wbH2VxzmoZk
- [ ] **Computer Security**
- MIT (23 videos): https://www.youtube.com/playlist?list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh
- [ ] **Information theory**
- [x] Khan Academy: https://www.khanacademy.org/computing/computer-science/informationtheory
- [ ] more about Markov processes:
- [ ] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/waxgx/core-markov-text-generation
- [ ] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/gZhiC/core-implementing-markov-text-generation
- See more in MIT 6.050J Information and Entropy series below.
- [ ] **Markov text generation**
- [ ] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/waxgx/core-markov-text-generation
- [ ] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/gZhiC/core-implementing-markov-text-generation
- [ ] https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/EUjrq/project-markov-text-generation-walk-through
- [ ] **Bloom Filter**
- https://www.youtube.com/watch?v=-SuTGoFYjZs
- http://blog.michaelschmatz.com/2016/04/11/how-to-write-a-bloom-filter-cpp/
@ -1220,13 +1206,6 @@ Some of mine (I already may know answer to but want their opinion or team perspe
- [ ] **Parallel Programming**
- https://www.coursera.org/learn/parprog1/home/week/1
- [ ] Cryptography (also see videos below)
- [ ] Cryptography: Hash Functions: https://www.youtube.com/watch?v=KqqOXndnvic&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp&index=30
- [ ] Cryptography: Encryptiom: https://www.youtube.com/watch?v=9TNI2wHmaeI&index=31&list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp
- [ ] Entropy (see videos below)
- https://www.youtube.com/watch?v=phxsQrZQupo&index=1&list=PL_2Bwul6T-A7OldmhGODImZL8KEVE38X7
- [ ] Discrete math (see videos below)