浏览代码

Add back to top

Sofwan Aldi Rikhaldi 8 月之前
父节点
当前提交
8d572ad4c7
共有 1 个文件被更改,包括 65 次插入0 次删除
  1. 65 0
      README.md

+ 65 - 0
README.md

@@ -221,6 +221,8 @@ thousands of associative arrays, but I never created data structures from scratc
 
 
 It's a long plan. It may take you months. If you are familiar with a lot of this already it will take you a lot less time.
 It's a long plan. It may take you months. If you are familiar with a lot of this already it will take you a lot less time.
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## How to use it
 ## How to use it
 
 
 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.
@@ -262,6 +264,8 @@ Create a new branch so you can check items like this, just put an x in the brack
     git push # just pushes to your fork
     git push # just pushes to your fork
     ```
     ```
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## 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.
@@ -269,6 +273,8 @@ Create a new branch so you can check items like this, just put an x in the brack
     - [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)
     - [It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech](https://www.youtube.com/watch?v=1i8ylq4j_EY)
     - [It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech](https://www.youtube.com/watch?v=1i8ylq4j_EY)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## A Note About Video Resources
 ## A Note About Video Resources
 
 
 Some videos are available only by enrolling in a Coursera or EdX class. These are called MOOCs.
 Some videos are available only by enrolling in a Coursera or EdX class. These are called MOOCs.
@@ -278,6 +284,8 @@ It would be great to replace the online course resources with free and always-av
 such as YouTube videos (preferably university lectures), so that you people can study these anytime,
 such as YouTube videos (preferably university lectures), so that you people can study these anytime,
 not just when a specific online course is in session.
 not just when a specific online course is in session.
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Choose a Programming Language
 ## Choose a Programming Language
 
 
 You'll need to choose a programming language for the coding interviews you do,
 You'll need to choose a programming language for the coding interviews you do,
@@ -332,6 +340,8 @@ Read more about choices:
 
 
 [See language-specific resources here](programming-language-resources.md)
 [See language-specific resources here](programming-language-resources.md)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Books for Data Structures and Algorithms
 ## Books for Data Structures and Algorithms
 
 
 This book will form your foundation for computer science.
 This book will form your foundation for computer science.
@@ -373,6 +383,8 @@ Your choice:
     - [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/)
     - [Algorithms in C++ Part 5: Graph Algorithms](https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/)
     - [Algorithms in C++ Part 5: Graph Algorithms](https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Interview Prep Books
 ## Interview Prep Books
 
 
 You don't need to buy a bunch of these. Honestly "Cracking the Coding Interview" is probably enough,
 You don't need to buy a bunch of these. Honestly "Cracking the Coding Interview" is probably enough,
@@ -396,6 +408,8 @@ Choose one:
 - [Elements of Programming Interviews (Java version)](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
 - [Elements of Programming Interviews (Java version)](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)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Don't Make My Mistakes
 ## Don't Make My Mistakes
 
 
 This list grew over many months, and yes, it got out of hand.
 This list grew over many months, and yes, it got out of hand.
@@ -467,6 +481,8 @@ There are many resources for this, listed below. Keep going.
 There are a lot of distractions that can take up valuable time. Focus and concentration are hard. Turn on some music
 There are a lot of distractions that can take up valuable time. Focus and concentration are hard. Turn on some music
 without lyrics and you'll be able to focus pretty well.
 without lyrics and you'll be able to focus pretty well.
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## What you won't see covered
 ## What you won't see covered
 
 
 These are prevalent technologies but not part of this study plan:
 These are prevalent technologies but not part of this study plan:
@@ -475,6 +491,8 @@ These are prevalent technologies but not part of this study plan:
 - HTML, CSS, and other front-end technologies
 - HTML, CSS, and other front-end technologies
 - SQL
 - SQL
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## The Daily Plan
 ## The Daily Plan
 
 
 This course goes over a lot of subjects. Each will probably take you a few days, or maybe even a week or more. It depends on your schedule.
 This course goes over a lot of subjects. Each will probably take you a few days, or maybe even a week or more. It depends on your schedule.
@@ -489,6 +507,8 @@ You can see my code here:
 
 
 You don't need to memorize every algorithm. You just need to be able to understand it enough to be able to write your own implementation.
 You don't need to memorize every algorithm. You just need to be able to understand it enough to be able to write your own implementation.
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Coding Question Practice
 ## Coding Question Practice
 
 
     Why is this here? I'm not ready to interview.
     Why is this here? I'm not ready to interview.
@@ -517,6 +537,8 @@ Gets messy quickly. **I use a pencil and eraser.**
 
 
 **Coding question practice is not about memorizing answers to programming problems.**
 **Coding question practice is not about memorizing answers to programming problems.**
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Coding Problems
 ## Coding Problems
 
 
 Don't forget your key coding interview books [here](#interview-prep-books).
 Don't forget your key coding interview books [here](#interview-prep-books).
@@ -548,6 +570,8 @@ Challenge/Practice sites:
 - [Project Euler](https://projecteuler.net/)
 - [Project Euler](https://projecteuler.net/)
     - very math-focused, and not really suited for coding interviews
     - very math-focused, and not really suited for coding interviews
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Let's Get Started
 ## Let's Get Started
 
 
 Alright, enough talk, let's learn!
 Alright, enough talk, let's learn!
@@ -577,6 +601,8 @@ Well, that's about enough of that.
 When you go through "Cracking the Coding Interview", there is a chapter on this, and at the end there is a quiz to see
 When you go through "Cracking the Coding Interview", there is a chapter on this, and at the end there is a quiz to see
 if you can identify the runtime complexity of different algorithms. It's a super review and test.
 if you can identify the runtime complexity of different algorithms. It's a super review and test.
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Data Structures
 ## Data Structures
 
 
 - ### Arrays
 - ### Arrays
@@ -699,6 +725,8 @@ if you can identify the runtime complexity of different algorithms. It's a super
         - get(key)
         - get(key)
         - remove(key)
         - remove(key)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## More Knowledge
 ## More Knowledge
 
 
 - ### Binary search
 - ### Binary search
@@ -739,6 +767,8 @@ if you can identify the runtime complexity of different algorithms. It's a super
     - [ ] Absolute value:
     - [ ] Absolute value:
         - [Absolute Integer](https://bits.stephan-brumme.com/absInteger.html)
         - [Absolute Integer](https://bits.stephan-brumme.com/absInteger.html)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Trees
 ## Trees
 
 
 - ### Trees - Intro
 - ### Trees - Intro
@@ -817,6 +847,8 @@ if you can identify the runtime complexity of different algorithms. It's a super
         - [ ] heapify - create a heap from an array of elements, needed for heap_sort
         - [ ] heapify - create a heap from an array of elements, needed for heap_sort
         - [ ] heap_sort() - take an unsorted array and turn it into a sorted array in place using a max heap or min heap
         - [ ] heap_sort() - take an unsorted array and turn it into a sorted array in place using a max heap or min heap
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Sorting
 ## Sorting
 
 
 - [ ] Notes:
 - [ ] Notes:
@@ -901,6 +933,8 @@ if you can identify the runtime complexity of different algorithms. It's a super
 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 the "Sorting" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
 If you need more detail on this subject, see the "Sorting" section in [Additional Detail on Some Subjects](#additional-detail-on-some-subjects)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Graphs
 ## Graphs
 
 
 Graphs can be used to represent many problems in computer science, so this section is long, like trees and sorting.
 Graphs can be used to represent many problems in computer science, so this section is long, like trees and sorting.
@@ -962,6 +996,8 @@ Graphs can be used to represent many problems in computer science, so this secti
         - [ ] list strongly connected components
         - [ ] list strongly connected components
         - [ ] check for bipartite graph
         - [ ] check for bipartite graph
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Even More Knowledge
 ## Even More Knowledge
 
 
 - ### Recursion
 - ### Recursion
@@ -1193,6 +1229,8 @@ Graphs can be used to represent many problems in computer science, so this secti
 
 
 ---
 ---
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Final Review
 ## Final Review
 
 
     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.
@@ -1208,6 +1246,8 @@ Graphs can be used to represent many problems in computer science, so this secti
 
 
 ---
 ---
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Update Your Resume
 ## Update Your Resume
 
 
 - See Resume prep information in the books: "Cracking The Coding Interview" and "Programming Interviews Exposed"
 - See Resume prep information in the books: "Cracking The Coding Interview" and "Programming Interviews Exposed"
@@ -1216,6 +1256,8 @@ Graphs can be used to represent many problems in computer science, so this secti
 - ["Step-by-step resume guide" by Tech Interview Handbook](https://www.techinterviewhandbook.org/resume/guide)
 - ["Step-by-step resume guide" by Tech Interview Handbook](https://www.techinterviewhandbook.org/resume/guide)
     - Detailed guide on how to set up your resume from scratch, write effective resume content, optimize it, and test your resume
     - Detailed guide on how to set up your resume from scratch, write effective resume content, optimize it, and test your resume
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Interview Process & General Interview Prep
 ## Interview Process & General Interview Prep
 
 
 - [ ] [How to Pass the Engineering Interview in 2021](https://davidbyttow.medium.com/how-to-pass-the-engineering-interview-in-2021-45f1b389a1)
 - [ ] [How to Pass the Engineering Interview in 2021](https://davidbyttow.medium.com/how-to-pass-the-engineering-interview-in-2021-45f1b389a1)
@@ -1249,6 +1291,8 @@ Mock Interviews:
 - [Hello Interview: Mock Interviews with Expert Coaches and AI](https://www.hellointerview.com/?utm_source=ciu) - interview directly with AI or with FAANG staff engineers and managers.
 - [Hello Interview: Mock Interviews with Expert Coaches and AI](https://www.hellointerview.com/?utm_source=ciu) - interview directly with AI or with FAANG staff engineers and managers.
 - [Codemia: Practice system design problems with AI or community solutions and feedback](https://codemia.io/?utm_source=ciu) - Practice system design problems via AI practice tool. Share your solution with the community to get human feedback as well.
 - [Codemia: Practice system design problems with AI or community solutions and feedback](https://codemia.io/?utm_source=ciu) - Practice system design problems via AI practice tool. Share your solution with the community to get human feedback as well.
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Be thinking of for when the interview comes
 ## Be thinking of for when the interview comes
 
 
 Think of about 20 interview questions you'll get, along with the lines of the items below. Have at least one answer for each.
 Think of about 20 interview questions you'll get, along with the lines of the items below. Have at least one answer for each.
@@ -1267,6 +1311,8 @@ Have a story, not just data, about something you accomplished.
 - What did you learn at [job x / project y]?
 - What did you learn at [job x / project y]?
 - What would you have done better at [job x / project y]?
 - What would you have done better at [job x / project y]?
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Have questions for the interviewer
 ## Have questions for the interviewer
 
 
 Some of mine (I already may know the answers, but want their opinion or team perspective):
 Some of mine (I already may know the answers, but want their opinion or team perspective):
@@ -1282,6 +1328,8 @@ Some of mine (I already may know the answers, but want their opinion or team per
 - What is the work life like?
 - What is the work life like?
 - How is the work/life balance?
 - How is the work/life balance?
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Once You've Got The Job
 ## Once You've Got The Job
 
 
 Congratulations!
 Congratulations!
@@ -1304,6 +1352,8 @@ You're never really done.
 
 
 ---
 ---
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Additional Books
 ## Additional Books
 
 
     These are here so you can dive into a topic you find interesting.
     These are here so you can dive into a topic you find interesting.
@@ -1358,6 +1408,8 @@ You're never really done.
 - [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
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## System Design, Scalability, Data Handling
 ## System Design, Scalability, Data Handling
 
 
 **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.**
@@ -1470,6 +1522,8 @@ You're never really done.
         - [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://web.archive.org/web/20220217064329/https://adayinthelifeof.nl/2011/02/06/memcache-internals/)
         - [Design a cache system](https://web.archive.org/web/20220217064329/https://adayinthelifeof.nl/2011/02/06/memcache-internals/)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Additional Learning
 ## Additional Learning
 
 
     I added them to help you become a well-rounded software engineer and to be aware of certain
     I added them to help you become a well-rounded software engineer and to be aware of certain
@@ -1778,6 +1832,8 @@ You're never really done.
 
 
 ---
 ---
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Additional Detail on Some Subjects
 ## Additional Detail on Some Subjects
 
 
     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
@@ -1864,6 +1920,8 @@ You're never really done.
 
 
 - NAND To Tetris: [Build a Modern Computer from First Principles](https://www.coursera.org/learn/build-a-computer)
 - NAND To Tetris: [Build a Modern Computer from First Principles](https://www.coursera.org/learn/build-a-computer)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Video Series
 ## Video Series
 
 
 Sit back and enjoy.
 Sit back and enjoy.
@@ -1919,15 +1977,20 @@ Sit back and enjoy.
 
 
 - [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)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Computer Science Courses
 ## Computer Science Courses
 
 
 - [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)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Algorithms implementation
 ## Algorithms implementation
 
 
 - [Multiple Algorithms implementation by Princeton University](https://algs4.cs.princeton.edu/code)
 - [Multiple Algorithms implementation by Princeton University](https://algs4.cs.princeton.edu/code)
 
 
+**[⬆ back to top](#table-of-contents)**
 
 
 ## Papers
 ## Papers
 
 
@@ -1954,6 +2017,8 @@ Sit back and enjoy.
 - [2015: How Developers Search for Code: A Case Study](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43835.pdf)
 - [2015: How Developers Search for Code: A Case Study](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43835.pdf)
 - More papers: [1,000 papers](https://github.com/0voice/computer_expert_paper)
 - More papers: [1,000 papers](https://github.com/0voice/computer_expert_paper)
 
 
+**[⬆ back to top](#table-of-contents)**
+
 ## LICENSE
 ## LICENSE
 
 
 [CC-BY-SA-4.0](./LICENSE.txt)
 [CC-BY-SA-4.0](./LICENSE.txt)