Browse Source

Merge pull request #390 from AungMyoKyaw/feat/collapsible_sections

Feat/collapsible sections
John Washam 6 years ago
parent
commit
0af15fedb8
1 changed files with 147 additions and 7 deletions
  1. 147 7
      README.md

+ 147 - 7
README.md

@@ -10,13 +10,19 @@
 >
 >
 > *Best of luck to you!*
 > *Best of luck to you!*
 
 
-Translations:
+<details>
+<summary>Translations:</summary>
+
 - [中文版本](translations/README-cn.md)
 - [中文版本](translations/README-cn.md)
 - [Tiếng Việt - Vietnamese](translations/README-vi.md)
 - [Tiếng Việt - Vietnamese](translations/README-vi.md)
 - [Español](translations/README-es.md)
 - [Español](translations/README-es.md)
 - [Português Brasileiro](translations/README-ptbr.md)
 - [Português Brasileiro](translations/README-ptbr.md)
 
 
-Translations in progress:
+</details>
+
+<details>
+<summary>Translations in progress:</summary>
+
 - [हिन्दी](https://github.com/jwasham/coding-interview-university/issues/81)
 - [हिन्दी](https://github.com/jwasham/coding-interview-university/issues/81)
 - [עברית](https://github.com/jwasham/coding-interview-university/issues/82)
 - [עברית](https://github.com/jwasham/coding-interview-university/issues/82)
 - [Bahasa Indonesia](https://github.com/jwasham/coding-interview-university/issues/101)
 - [Bahasa Indonesia](https://github.com/jwasham/coding-interview-university/issues/101)
@@ -35,6 +41,8 @@ Translations in progress:
 - [Malayalam](https://github.com/jwasham/coding-interview-university/issues/239)
 - [Malayalam](https://github.com/jwasham/coding-interview-university/issues/239)
 - [Japanese (日本語)](https://github.com/jwasham/coding-interview-university/issues/257)
 - [Japanese (日本語)](https://github.com/jwasham/coding-interview-university/issues/257)
 
 
+</details>
+
 ## What is it?
 ## What is it?
 
 
 This is my multi-month study plan for going from web developer (self-taught, no CS degree) to software engineer for a large company.
 This is my multi-month study plan for going from web developer (self-taught, no CS degree) to software engineer for a large company.
@@ -125,6 +133,9 @@ If you want to be a reliability engineer or operations engineer, study more from
 
 
 ---------------- Everything below this point is optional ----------------
 ---------------- Everything below this point is optional ----------------
 
 
+<details>
+<summary>Additional Resources</summary>
+
 - [Additional Books](#additional-books)
 - [Additional Books](#additional-books)
 - [Additional Learning](#additional-learning)
 - [Additional Learning](#additional-learning)
     - [Compilers](#compilers)
     - [Compilers](#compilers)
@@ -168,6 +179,8 @@ If you want to be a reliability engineer or operations engineer, study more from
 - [Video Series](#video-series)
 - [Video Series](#video-series)
 - [Computer Science Courses](#computer-science-courses)
 - [Computer Science Courses](#computer-science-courses)
 
 
+</details>
+
 ---
 ---
 
 
 ## Why use it?
 ## Why use it?
@@ -183,6 +196,9 @@ It's a long plan. It may take you months. If you are familiar with a lot of this
 
 
 ## How to use it
 ## How to use it
 
 
+<details>
+<summary>How to use it</summary>
+
 Everything below is an outline, and you should tackle the items in order from top to bottom.
 Everything below is an outline, and you should tackle the items in order from top to bottom.
 
 
 I'm using Github's special markdown flavor, including tasks lists to check progress.
 I'm using Github's special markdown flavor, including tasks lists to check progress.
@@ -210,6 +226,8 @@ I'm using Github's special markdown flavor, including tasks lists to check progr
 
 
 [More about Github-flavored markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
 [More about Github-flavored markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
 
 
+</details>
+
 ## Don't feel you aren't smart enough
 ## Don't feel you aren't smart enough
 - Successful software engineers are smart, but many have an insecurity that they aren't smart enough.
 - Successful software engineers are smart, but many have an insecurity that they aren't smart enough.
 - [The myth of the Genius Programmer](https://www.youtube.com/watch?v=0SARbwvhupQ)
 - [The myth of the Genius Programmer](https://www.youtube.com/watch?v=0SARbwvhupQ)
@@ -227,6 +245,9 @@ Sometimes the classes are not in session so you have to wait a couple of months,
 
 
 ## Interview Process & General Interview Prep
 ## Interview Process & General Interview Prep
 
 
+<details>
+<summary>Interview Process & General Interview Prep</summary>
+
 - [ ] [ABC: Always Be Coding](https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4)
 - [ ] [ABC: Always Be Coding](https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4)
 - [ ] [Whiteboarding](https://medium.com/@dpup/whiteboarding-4df873dbba2e#.hf6jn45g1)
 - [ ] [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/)
 - [ ] [Effective Whiteboarding during Programming Interviews](http://www.coderust.com/blog/2014/04/10/effective-whiteboarding-during-programming-interviews/)
@@ -243,6 +264,8 @@ Sometimes the classes are not in session so you have to wait a couple of months,
     - [ ] [Python for Data Structures, Algorithms, and Interviews! (paid course)](https://www.udemy.com/python-for-data-structures-algorithms-and-interviews/):
     - [ ] [Python for Data Structures, Algorithms, and Interviews! (paid course)](https://www.udemy.com/python-for-data-structures-algorithms-and-interviews/):
         - A Python centric interview prep course which covers data structures, algorithms, mock interviews and much more.
         - A Python centric interview prep course which covers data structures, algorithms, mock interviews and much more.
 
 
+</details>
+
 ## Pick One Language for the Interview
 ## Pick One Language for the Interview
 
 
 You can use a language you are comfortable in to do the coding part of the interview, but for large companies, these are solid choices:
 You can use a language you are comfortable in to do the coding part of the interview, but for large companies, these are solid choices:
@@ -279,21 +302,25 @@ This is a shorter list than what I used. This is abbreviated to save you time.
 - [ ] [Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
 - [ ] [Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
     - answers in Java
     - answers in Java
 
 
-If you have tons of extra time:
+<details>
+<summary>If you have tons of extra time:</summary>
 
 
 - [ ] [Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
 - [ ] [Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
 - [ ] Elements of Programming Interviews (Java version)
 - [ ] Elements of Programming Interviews (Java version)
     - [book](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
     - [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)
     - [Companion Project - Method Stub and Test Cases for Every Problem in the Book](https://github.com/gardncl/elements-of-programming-interviews)
 
 
-### Computer Architecture
+</details>
 
 
-If short on time:
+### Computer Architecture
 
 
 - [ ] [Write Great Code: Volume 1: Understanding the Machine](https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038)
 - [ ] [Write Great Code: Volume 1: Understanding the Machine](https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038)
     - The book was published in 2004, and is somewhat outdated, but it's a terrific resource for understanding a computer in brief.
     - The book was published in 2004, and is somewhat outdated, but it's a terrific resource for understanding a computer in brief.
     - The author invented [HLA](https://en.wikipedia.org/wiki/High_Level_Assembly), so take mentions and examples in HLA with a grain of salt. Not widely used, but decent examples of what assembly looks like.
     - The author invented [HLA](https://en.wikipedia.org/wiki/High_Level_Assembly), so take mentions and examples in HLA with a grain of salt. Not widely used, but decent examples of what assembly looks like.
     - These chapters are worth the read to give you a nice foundation:
     - These chapters are worth the read to give you a nice foundation:
+      <details>
+      <summary>......</summary>
+
         - Chapter 2 - Numeric Representation
         - Chapter 2 - Numeric Representation
         - Chapter 3 - Binary Arithmetic and Bit Operations
         - Chapter 3 - Binary Arithmetic and Bit Operations
         - Chapter 4 - Floating-Point Representation
         - Chapter 4 - Floating-Point Representation
@@ -304,11 +331,15 @@ If short on time:
         - Chapter 10 - Instruction Set Architecture
         - Chapter 10 - Instruction Set Architecture
         - Chapter 11 - Memory Architecture and Organization
         - Chapter 11 - Memory Architecture and Organization
 
 
-If you have more time (I want this book):
+      </details>
+
+<details>
+<summary>If you have more time (I want this book):</summary>
 
 
 - [ ] [Computer Architecture, Sixth Edition: A Quantitative Approach](https://www.amazon.com/dp/0128119055)
 - [ ] [Computer Architecture, Sixth Edition: A Quantitative Approach](https://www.amazon.com/dp/0128119055)
     - For a richer, more up-to-date (2017), but longer treatment
     - For a richer, more up-to-date (2017), but longer treatment
 
 
+</details>
 
 
 ### Language Specific
 ### Language Specific
 
 
@@ -321,6 +352,9 @@ If you read though one of these, you should have all the data structures and alg
 
 
 ### C++
 ### C++
 
 
+<details>
+<summary>C++</summary>
+
 I haven't read these two, but they are highly rated and written by Sedgewick. He's awesome.
 I haven't read these two, but they are highly rated and written by Sedgewick. He's awesome.
 
 
 - [ ] [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++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching](https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/)
@@ -328,8 +362,13 @@ I haven't read these two, but they are highly rated and written by Sedgewick. He
 
 
 If you have a better recommendation for C++, please let me know. Looking for a comprehensive resource.
 If you have a better recommendation for C++, please let me know. Looking for a comprehensive resource.
 
 
+</details>
+
 ### Java
 ### Java
 
 
+<details>
+<summary>Java</summary>
+
 - [ ] [Algorithms (Sedgewick and Wayne)](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)
 - [ ] [Algorithms (Sedgewick and Wayne)](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)
     - videos with book content (and Sedgewick!) on coursera:
     - videos with book content (and Sedgewick!) on coursera:
         - [Algorithms I](https://www.coursera.org/learn/algorithms-part1)
         - [Algorithms I](https://www.coursera.org/learn/algorithms-part1)
@@ -342,19 +381,28 @@ OR:
     - used as optional text for CS intro course at UC Berkeley
     - used as optional text for CS intro course at UC Berkeley
     - see my book report on the Python version below. This book covers the same topics.
     - see my book report on the Python version below. This book covers the same topics.
 
 
+</details>
+
 ### Python
 ### Python
 
 
+<details>
+<summary>Python</summary>
+
 - [ ] [Data Structures and Algorithms in Python](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/)
 - [ ] [Data Structures and Algorithms in Python](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/)
     - by Goodrich, Tamassia, Goldwasser
     - by Goodrich, Tamassia, Goldwasser
     - I loved this book. It covered everything and more.
     - I loved this book. It covered everything and more.
     - Pythonic code
     - Pythonic code
     - my glowing book report: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
     - my glowing book report: https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
 
 
+</details>
 
 
 ### Optional Books
 ### Optional Books
 
 
 **Some people recommend these, but I think it's going overboard, unless you have many years of software engineering experience and expect a much harder interview:**
 **Some people recommend these, but I think it's going overboard, unless you have many years of software engineering experience and expect a much harder interview:**
 
 
+<details>
+<summary>Optional Books</summary>
+
 - [ ] [Algorithm Design Manual](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202) (Skiena)
 - [ ] [Algorithm Design Manual](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202) (Skiena)
     - As a review and problem recognition
     - As a review and problem recognition
     - The algorithm catalog portion is well beyond the scope of difficulty you'll get in an interview.
     - The algorithm catalog portion is well beyond the scope of difficulty you'll get in an interview.
@@ -389,6 +437,7 @@ OR:
     - A fine book, but after working through problems on several pages I got frustrated with the Pascal, do while loops, 1-indexed arrays, and unclear post-condition satisfaction results.
     - A fine book, but after working through problems on several pages I got frustrated with the Pascal, do while loops, 1-indexed arrays, and unclear post-condition satisfaction results.
     - Would rather spend time on coding problems from another book or online coding problems.
     - Would rather spend time on coding problems from another book or online coding problems.
 
 
+</details>
 
 
 ## Before you Get Started
 ## Before you Get Started
 
 
@@ -479,6 +528,9 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
 
 
 ## Prerequisite Knowledge
 ## Prerequisite Knowledge
 
 
+<details>
+<summary>Prerequisite Knowledge</summary>
+
 - [ ] **Learn C**
 - [ ] **Learn C**
     - C is everywhere. You'll see examples in books, lectures, videos, *everywhere* while you're studying.
     - C is everywhere. You'll see examples in books, lectures, videos, *everywhere* while you're studying.
     - [ ] [C Programming Language, Vol 2](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628)
     - [ ] [C Programming Language, Vol 2](https://www.amazon.com/Programming-Language-Brian-W-Kernighan/dp/0131103628)
@@ -493,7 +545,13 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
     - [ ] [The Central Processing Unit (CPU) (video)](https://youtu.be/FZGugFqdr60)
     - [ ] [The Central Processing Unit (CPU) (video)](https://youtu.be/FZGugFqdr60)
     - [ ] [Instructions and Programs (video)](https://youtu.be/zltgXvg6r3k)
     - [ ] [Instructions and Programs (video)](https://youtu.be/zltgXvg6r3k)
 
 
+</details>
+
 ## Algorithmic complexity / Big-O / Asymptotic analysis
 ## Algorithmic complexity / Big-O / Asymptotic analysis
+
+<details>
+<summary>Algorithmic complexity / Big-O / Asymptotic analysis</summary>
+
 - nothing to implement
 - nothing to implement
 - [ ] [Harvard CS50 - Asymptotic Notation (video)](https://www.youtube.com/watch?v=iOq5kSKqeR4)
 - [ ] [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 Notations (general quick tutorial) (video)](https://www.youtube.com/watch?v=V6mKVRU1evU)
@@ -517,8 +575,13 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
     If some of the lectures are too mathy, you can jump down to the bottom and
     If some of the lectures are too mathy, you can jump down to the bottom and
     watch the discrete mathematics videos to get the background knowledge.
     watch the discrete mathematics videos to get the background knowledge.
 
 
+</details>
+
 ## Data Structures
 ## Data Structures
 
 
+<details>
+<summary>Data Structures</summary>
+
 - ### Arrays
 - ### Arrays
     - Implement an automatically resizing vector.
     - Implement an automatically resizing vector.
     - [ ] Description:
     - [ ] Description:
@@ -644,8 +707,13 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
         - get(key)
         - get(key)
         - remove(key)
         - remove(key)
 
 
+</details>
+
 ## More Knowledge
 ## More Knowledge
 
 
+<details>
+<summary>More Knowledge</summary>
+
 - ### Binary search
 - ### Binary search
     - [ ] [Binary Search (video)](https://www.youtube.com/watch?v=D5SrAga1pno)
     - [ ] [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)
     - [ ] [Binary Search (video)](https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search)
@@ -681,8 +749,13 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
     - [ ] absolute value:
     - [ ] absolute value:
         - [Absolute Integer](http://bits.stephan-brumme.com/absInteger.html)
         - [Absolute Integer](http://bits.stephan-brumme.com/absInteger.html)
 
 
+</details>
+
 ## Trees
 ## Trees
 
 
+<details>
+<summary>Trees</summary>
+
 - ### Trees - Notes & Background
 - ### Trees - Notes & Background
     - [ ] [Series: Core Trees (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/ovovP/core-trees)
     - [ ] [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)
     - [ ] [Series: Trees (video)](https://www.coursera.org/learn/data-structures/lecture/95qda/trees)
@@ -762,8 +835,13 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
         - [ ] heap_sort() - take an unsorted array and turn it into a sorted array in-place using a max heap
         - [ ] heap_sort() - take an unsorted array and turn it into a sorted array in-place using a max heap
             - note: using a min heap instead would save operations, but double the space needed (cannot do in-place).
             - note: using a min heap instead would save operations, but double the space needed (cannot do in-place).
 
 
+</details>
+
 ## Sorting
 ## Sorting
 
 
+<details>
+<summary>Sorting</summary>
+
 - [ ] Notes:
 - [ ] Notes:
     - Implement sorts & know best case/worst case, average complexity of each:
     - Implement sorts & know best case/worst case, average complexity of each:
         - no bubble sort - it's terrible - O(n^2), except when n <= 16
         - no bubble sort - it's terrible - O(n^2), except when n <= 16
@@ -837,8 +915,13 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
 As a summary, here is a visual representation of [15 sorting algorithms](https://www.youtube.com/watch?v=kPRA0W1kECg).
 As a summary, here is a visual representation of [15 sorting algorithms](https://www.youtube.com/watch?v=kPRA0W1kECg).
 If you need more detail on this subject, see "Sorting" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
 If you need more detail on this subject, see "Sorting" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
 
 
+</details>
+
 ## Graphs
 ## Graphs
 
 
+<details>
+<summary>Graphs</summary>
+
 Graphs can be used to represent many problems in computer science, so this section is long, like trees and sorting were.
 Graphs can be used to represent many problems in computer science, so this section is long, like trees and sorting were.
 
 
 - Notes:
 - Notes:
@@ -899,8 +982,13 @@ Graphs can be used to represent many problems in computer science, so this secti
 
 
 You'll get more graph practice in Skiena's book (see Books section below) and the interview books
 You'll get more graph practice in Skiena's book (see Books section below) and the interview books
 
 
+</details>
+
 ## Even More Knowledge
 ## Even More Knowledge
 
 
+<details>
+<summary>Even More Knowledge</summary>
+
 - ### Recursion
 - ### Recursion
     - [ ] Stanford lectures on recursion & backtracking:
     - [ ] Stanford lectures on recursion & backtracking:
         - [ ] [Lecture 8 | Programming Abstractions (video)](https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=8)
         - [ ] [Lecture 8 | Programming Abstractions (video)](https://www.youtube.com/watch?v=gl3emqCuueQ&list=PLFE6E58F856038C69&index=8)
@@ -1186,7 +1274,13 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
         - [ ] [Java - Sockets - Introduction (video)](https://www.youtube.com/watch?v=6G_W54zuadg&t=6s)
         - [ ] [Java - Sockets - Introduction (video)](https://www.youtube.com/watch?v=6G_W54zuadg&t=6s)
         - [ ] [Socket Programming (video)](https://www.youtube.com/watch?v=G75vN2mnJeQ)
         - [ ] [Socket Programming (video)](https://www.youtube.com/watch?v=G75vN2mnJeQ)
 
 
+</details>
+
 ## System Design, Scalability, Data Handling
 ## System Design, Scalability, Data Handling
+
+<details>
+<summary>System Design, Scalability, Data Handling</summary>
+
 - **You can expect system design questions if you have 4+ years of experience.**
 - **You can expect system design questions if you have 4+ years of experience.**
 - Scalability and System Design are very large topics with many topics and resources, since
 - Scalability and System Design are very large topics with many topics and resources, since
       there is a lot to consider when designing a software/hardware system that can scale.
       there is a lot to consider when designing a software/hardware system that can scale.
@@ -1312,10 +1406,15 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
         - [Design a URL-shortener system: copied from above](http://www.hiredintech.com/system-design/the-system-design-process/)
         - [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/)
         - [Design a cache system](https://www.adayinthelifeof.nl/2011/02/06/memcache-internals/)
 
 
+</details>
+
 ---
 ---
 
 
 ## Final Review
 ## Final Review
 
 
+<details>
+<summary>Final Review</summary>
+
     This section will have shorter videos that you can watch pretty quickly to review most of the important concepts.
     This section will have shorter videos that you can watch pretty quickly to review most of the important concepts.
     It's nice if you want a refresher often.
     It's nice if you want a refresher often.
 
 
@@ -1326,10 +1425,15 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
 - [ ] [Sedgewick Videos - Algorithms I](https://www.coursera.org/learn/algorithms-part1)
 - [ ] [Sedgewick Videos - Algorithms I](https://www.coursera.org/learn/algorithms-part1)
 - [ ] [Sedgewick Videos - Algorithms II](https://www.coursera.org/learn/algorithms-part2)
 - [ ] [Sedgewick Videos - Algorithms II](https://www.coursera.org/learn/algorithms-part2)
 
 
+</details>
+
 ---
 ---
 
 
 ## Coding Question Practice
 ## Coding Question Practice
 
 
+<details>
+<summary>Coding Question Practice</summary>
+
 Now that you know all the computer science topics above, it's time to practice answering coding problems.
 Now that you know all the computer science topics above, it's time to practice answering coding problems.
 
 
 **Coding question practice is not about memorizing answers to programming problems.**
 **Coding question practice is not about memorizing answers to programming problems.**
@@ -1368,8 +1472,13 @@ Supplemental:
 
 
 See [Book List above](#book-list)
 See [Book List above](#book-list)
 
 
+</details>
+
 ## Coding exercises/challenges
 ## Coding exercises/challenges
 
 
+<details>
+<summary>Coding Question Practice</summary>
+
 Once you've learned your brains out, put those brains to work.
 Once you've learned your brains out, put those brains to work.
 Take coding challenges every day, as many as you can.
 Take coding challenges every day, as many as you can.
 
 
@@ -1402,6 +1511,8 @@ Mock Interviews:
 - [Pramp: Mock interviews from/with peers](https://www.pramp.com/) - peer-to-peer model of practice interviews
 - [Pramp: Mock interviews from/with peers](https://www.pramp.com/) - peer-to-peer model of practice interviews
 - [Refdash: Mock interviews and expedited interviews](https://refdash.com/) - also help candidates fast track by skipping multiple interviews with tech companies.
 - [Refdash: Mock interviews and expedited interviews](https://refdash.com/) - also help candidates fast track by skipping multiple interviews with tech companies.
 
 
+</details>
+
 ## Once you're closer to the interview
 ## Once you're closer to the interview
 
 
 - [ ] Cracking The Coding Interview Set 2 (videos):
 - [ ] Cracking The Coding Interview Set 2 (videos):
@@ -1469,6 +1580,9 @@ You're never really done.
 
 
 ## Additional Books
 ## Additional Books
 
 
+<details>
+<summary>Additional Books</summary>
+
 - [ ] [The Unix Programming Environment](https://www.amazon.com/dp/013937681X)
 - [ ] [The Unix Programming Environment](https://www.amazon.com/dp/013937681X)
     - an oldie but a goodie
     - an oldie but a goodie
 - [ ] [The Linux Command Line: A Complete Introduction](https://www.amazon.com/dp/1593273894/)
 - [ ] [The Linux Command Line: A Complete Introduction](https://www.amazon.com/dp/1593273894/)
@@ -1481,8 +1595,13 @@ You're never really done.
     - the canonical design patterns book
     - the canonical design patterns book
 - [ ] [UNIX and Linux System Administration Handbook, 5th Edition](https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0134277554/)
 - [ ] [UNIX and Linux System Administration Handbook, 5th Edition](https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0134277554/)
 
 
+</details>
+
 ## Additional Learning
 ## Additional Learning
 
 
+<details>
+<summary>Additional Learning</summary>
+
 These topics will likely not come up in an interview, but I added them to help you become a well-rounded
 These topics will likely not come up in an interview, but I added them to help you become a well-rounded
 software engineer, and to be aware of certain technologies and algorithms, so you'll have a bigger toolbox.
 software engineer, and to be aware of certain technologies and algorithms, so you'll have a bigger toolbox.
 
 
@@ -1810,10 +1929,15 @@ software engineer, and to be aware of certain technologies and algorithms, so yo
         - [Machine Learning for Software Engineers](https://github.com/ZuzooVn/machine-learning-for-software-engineers)
         - [Machine Learning for Software Engineers](https://github.com/ZuzooVn/machine-learning-for-software-engineers)
         - Data School: http://www.dataschool.io/
         - Data School: http://www.dataschool.io/
 
 
---
+</details>
+
+---
 
 
 ## Additional Detail on Some Subjects
 ## Additional Detail on Some Subjects
 
 
+<details>
+<summary>Additional Detail on Some Subjects</summary>
+
     I added these to reinforce some ideas already presented above, but didn't want to include them
     I added these to reinforce some ideas already presented above, but didn't want to include them
     above because it's just too much. It's easy to overdo it on a subject.
     above because it's just too much. It's easy to overdo it on a subject.
     You want to get hired in this century, right?
     You want to get hired in this century, right?
@@ -1882,10 +2006,15 @@ software engineer, and to be aware of certain technologies and algorithms, so yo
         - [ ] [lecture begins at 35:00 (video)](https://www.youtube.com/watch?v=q7K9otnzlfE&index=9&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)
         - [ ] [lecture begins at 23:50 (video)](https://www.youtube.com/watch?v=TvqIGu9Iupw&list=PLOtl7M3yp-DV69F32zdK7YJcNXpTunF2b&index=10)
 
 
+</details>
+
 ## Video Series
 ## Video Series
 
 
 Sit back and enjoy. "Netflix and skill" :P
 Sit back and enjoy. "Netflix and skill" :P
 
 
+<details>
+<summary>Video Series</summary>
+
 - [ ] [List of individual Dynamic Programming problems (each is short)](https://www.youtube.com/playlist?list=PLrmLmBdmIlpsHaNTPP_jHHDx_os9ItYXr)
 - [ ] [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)
 - [ ] [x86 Architecture, Assembly, Applications (11 videos)](https://www.youtube.com/playlist?list=PL038BE01D3BAEFDB0)
@@ -1946,7 +2075,18 @@ Sit back and enjoy. "Netflix and skill" :P
 
 
 - [ ] [Graph Theory by Sarada Herke (67 videos)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd)
 - [ ] [Graph Theory by Sarada Herke (67 videos)](https://www.youtube.com/user/DrSaradaHerke/playlists?shelf_id=5&view=50&sort=dd)
 
 
+</details>
+
 ## Computer Science Courses
 ## Computer Science Courses
 
 
+<details>
+<summary>Computer Science Courses</summary>
+
 - [Directory of Online CS Courses](https://github.com/open-source-society/computer-science)
 - [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)
 - [Directory of CS Courses (many with online lectures)](https://github.com/prakhar1989/awesome-courses)
+
+</details>
+
+## LICENSE
+
+[CC-BY-SA-4.0](./LICENSE.txt)