浏览代码

Organizing system design and scalability.

John Washam 8 年之前
父节点
当前提交
c40405d96f
共有 1 个文件被更改,包括 23 次插入4 次删除
  1. 23 4
      README.md

+ 23 - 4
README.md

@@ -829,10 +829,13 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
     - Distill large data sets to single values
     - Distill large data sets to single values
     - Transform one data set to another
     - Transform one data set to another
     - Handling obscenely large amounts of data
     - Handling obscenely large amounts of data
-    - [x] https://www.youtube.com/watch?v=9nWyWwY2Onc
-    - [x] https://www.youtube.com/watch?v=H4vMcD7zKM0
     - [x] Articles & Videos:
     - [x] Articles & Videos:
+        - [x] Scaling mobile games to a global audience using App Engine and Cloud Datastore: https://www.youtube.com/watch?v=9nWyWwY2Onc
+        - [x] How Google Does Planet-Scale Engineering for Planet-Scale Infra: https://www.youtube.com/watch?v=H4vMcD7zKM0
         - [x] The Importance of Algorithms: https://www.topcoder.com/community/data-science/data-science-tutorials/the-importance-of-algorithms/
         - [x] The Importance of Algorithms: https://www.topcoder.com/community/data-science/data-science-tutorials/the-importance-of-algorithms/
+        - [ ] Scale at Facebook: https://www.infoq.com/presentations/Scale-at-Facebook
+        - [ ] Velocity 2012: Jay Parikh, "Building for a Billion Users": https://www.youtube.com/watch?v=oodS71YtkGU
+        - [ ] Engineering for the Long Game - Astrid Atkinson Keynote: https://www.youtube.com/watch?v=p0jGmgIrf_M&list=PLRXxvay_m8gqVlExPC5DG3TGWJTaBgqSA&index=4
         - [x] 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
         - [x] 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
             - video: https://www.youtube.com/watch?v=G-lGCC4KKok
         - [x] 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
         - [x] 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
@@ -892,6 +895,7 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
 
 
 - [ ] **System design**
 - [ ] **System design**
     There are subjects here that overlap with scalability. So some of this is software design and some is systems design.
     There are subjects here that overlap with scalability. So some of this is software design and some is systems design.
+    I moved the scalabilty stuff to the Scalability section.
         - features sets
         - features sets
         - interfaces
         - interfaces
         - class hierarchies
         - class hierarchies
@@ -899,13 +903,13 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
         - simplicity and robustness
         - simplicity and robustness
         - tradeoffs
         - tradeoffs
         - performance analysis and optimization
         - performance analysis and optimization
-    - [ ] https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023
+    - [x] https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023
     - [ ] System Design: http://www.hiredintech.com/system-design/
     - [ ] System Design: http://www.hiredintech.com/system-design/
     - [ ] Algorithm design: http://www.hiredintech.com/algorithm-design/
     - [ ] Algorithm design: http://www.hiredintech.com/algorithm-design/
     - [ ] https://github.com/checkcheckzz/system-design-interview
     - [ ] https://github.com/checkcheckzz/system-design-interview
     - [ ] http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones
     - [ ] http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones
     - [ ] http://blog.gainlo.co/index.php/2015/10/22/8-things-you-need-to-know-before-system-design-interviews/
     - [ ] http://blog.gainlo.co/index.php/2015/10/22/8-things-you-need-to-know-before-system-design-interviews/
-    - Lecture Videos - can skip through some if you already have a good OO background
+    - [ ] Lecture Videos - can skip through some if you already have a good OO background
         - [ ] Chapter 1 - Software and Software Engineering: https://www.youtube.com/watch?v=maE3PxV4mk0
         - [ ] Chapter 1 - Software and Software Engineering: https://www.youtube.com/watch?v=maE3PxV4mk0
         - [ ] Chapter 2 (Part 1) - Basics of Object-Orientation: https://www.youtube.com/watch?v=noe17Sg5Uas
         - [ ] Chapter 2 (Part 1) - Basics of Object-Orientation: https://www.youtube.com/watch?v=noe17Sg5Uas
         - [ ] Chapter 2 (Part 2) - Inheritance, polymorphism and review of key Java concepts: https://www.youtube.com/watch?v=NSJ0zNQ2Ilk
         - [ ] Chapter 2 (Part 2) - Inheritance, polymorphism and review of key Java concepts: https://www.youtube.com/watch?v=NSJ0zNQ2Ilk
@@ -926,6 +930,21 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
         - [ ] Chapter 9 (Part 2) - Design Principles, Software Architecture: https://www.youtube.com/watch?v=XQnytAeZrWE
         - [ ] Chapter 9 (Part 2) - Design Principles, Software Architecture: https://www.youtube.com/watch?v=XQnytAeZrWE
         - [ ] Chapter 9 (Part 3) - Pipe-and-Filter Architecture and Design Documents: https://www.youtube.com/watch?v=ZmsUizg6gPY
         - [ ] Chapter 9 (Part 3) - Pipe-and-Filter Architecture and Design Documents: https://www.youtube.com/watch?v=ZmsUizg6gPY
         - [ ] Chapter 10 and 11 - Testing process, Inspection, Process Models, Cost Estimation, Team Building: https://www.youtube.com/watch?v=L8x3OuZcEsc
         - [ ] Chapter 10 and 11 - Testing process, Inspection, Process Models, Cost Estimation, Team Building: https://www.youtube.com/watch?v=L8x3OuZcEsc
+    - [ ] SOLID OOP Principles:
+        - [ ] S– Single Responsibility Principle | Single responsibility to each Object
+            - http://www.oodesign.com/single-responsibility-principle.html
+            - http://www.javacodegeeks.com/2011/11/solid-single-responsibility-principle.html
+        - [ ] O– Open/Closed Principal  | On production level Objects are ready for extension for not for modification
+            - https://en.wikipedia.org/wiki/Open/closed_principle
+            - http://www.oodesign.com/open-close-principle.html
+        - [ ] L– Liskov Substitution Principal | Base Class and Derived class follow ‘IS A’ principal
+            - http://stackoverflow.com/questions/56860/what-is-the-liskov-substitution-principle
+            - http://www.oodesign.com/liskov-s-substitution-principle.html
+        - [ ] I – Interface segregation principle | If an implementation don’t require then don’t implement it.
+            - http://efectivejava.blogspot.in/2013/09/interface-segregation-principleisp-java.html
+        - [ ] D-Dependency Inversion principle | Reduce the dependency In composition of objects.
+            - http://stackoverflow.com/questions/62539/what-is-the-dependency-inversion-principle-and-why-is-it-important
+        
  
  
 - [ ] **Familiarize yourself with a unix-based code editor: emacs & vi(m)**
 - [ ] **Familiarize yourself with a unix-based code editor: emacs & vi(m)**
     - suggested by Yegge, from an old Amazon recruiting post
     - suggested by Yegge, from an old Amazon recruiting post