Ver código fonte

Add back to top

Sofwan Aldi Rikhaldi 8 meses atrás
pai
commit
8d572ad4c7
1 arquivos alterados com 65 adições e 0 exclusões
  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.
 
+**[⬆ back to top](#table-of-contents)**
+
 ## How to use it
 
 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
     ```
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Don't feel you 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)
     - [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
 
 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,
 not just when a specific online course is in session.
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Choose a Programming Language
 
 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)
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Books for Data Structures and Algorithms
 
 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++ 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
 
 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/)
         - [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
 
 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
 without lyrics and you'll be able to focus pretty well.
 
+**[⬆ back to top](#table-of-contents)**
+
 ## What you won't see covered
 
 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
 - SQL
 
+**[⬆ back to top](#table-of-contents)**
+
 ## 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.
@@ -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.
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Coding Question Practice
 
     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.**
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Coding Problems
 
 Don't forget your key coding interview books [here](#interview-prep-books).
@@ -548,6 +570,8 @@ Challenge/Practice sites:
 - [Project Euler](https://projecteuler.net/)
     - very math-focused, and not really suited for coding interviews
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Let's Get Started
 
 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
 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
 
 - ### Arrays
@@ -699,6 +725,8 @@ if you can identify the runtime complexity of different algorithms. It's a super
         - get(key)
         - remove(key)
 
+**[⬆ back to top](#table-of-contents)**
+
 ## More Knowledge
 
 - ### Binary search
@@ -739,6 +767,8 @@ if you can identify the runtime complexity of different algorithms. It's a super
     - [ ] Absolute value:
         - [Absolute Integer](https://bits.stephan-brumme.com/absInteger.html)
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Trees
 
 - ### 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
         - [ ] 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
 
 - [ ] 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).
 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 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
         - [ ] check for bipartite graph
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Even More Knowledge
 
 - ### 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
 
     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
 
 - 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)
     - 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
 
 - [ ] [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.
 - [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
 
 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 would you have done better at [job x / project y]?
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Have questions for the interviewer
 
 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?
 - How is the work/life balance?
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Once You've Got The Job
 
 Congratulations!
@@ -1304,6 +1352,8 @@ You're never really done.
 
 ---
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Additional Books
 
     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)
     - For a richer, more up-to-date (2017), but longer treatment
 
+**[⬆ back to top](#table-of-contents)**
+
 ## System Design, Scalability, Data Handling
 
 **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 cache system](https://web.archive.org/web/20220217064329/https://adayinthelifeof.nl/2011/02/06/memcache-internals/)
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Additional Learning
 
     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
 
     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)
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Video Series
 
 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)
 
+**[⬆ back to top](#table-of-contents)**
+
 ## 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)
 
+**[⬆ back to top](#table-of-contents)**
+
 ## Algorithms implementation
 
 - [Multiple Algorithms implementation by Princeton University](https://algs4.cs.princeton.edu/code)
 
+**[⬆ back to top](#table-of-contents)**
 
 ## 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)
 - More papers: [1,000 papers](https://github.com/0voice/computer_expert_paper)
 
+**[⬆ back to top](#table-of-contents)**
+
 ## LICENSE
 
 [CC-BY-SA-4.0](./LICENSE.txt)