|
@@ -3,7 +3,9 @@
|
|
|
> I originally created this as a short to-do list of study topics for becoming a software engineer,
|
|
|
> but it grew to the large list you see today. After going through this study plan, [I got hired
|
|
|
> as a Software Development Engineer at Amazon](https://startupnextdoor.com/ive-been-acquired-by-amazon/?src=ciu)!
|
|
|
-> You probably won't have to study as much as I did. Anyway, everything you need is here. This was my story: [Why I studied full-time for 8 months for a Google interview](https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13)
|
|
|
+> You probably won't have to study as much as I did. Anyway, everything you need is here.
|
|
|
+>
|
|
|
+> I studied about 8-12 hours a day, for several months. This is my story: [Why I studied full-time for 8 months for a Google interview](https://medium.freecodecamp.org/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13)
|
|
|
>
|
|
|
> The items listed here will prepare you well for an interview at just about any software company,
|
|
|
> including the giants: Amazon, Facebook, Google or Microsoft.
|
|
@@ -468,7 +470,7 @@ You don't need all these. You need only [one language for the interview](#pick-o
|
|
|
|
|
|
Why code in all of these?
|
|
|
- Practice, practice, practice, until I'm sick of it, and can do it with no problem (some have many edge cases and bookkeeping details to remember)
|
|
|
-- Work within the raw constraints (allocating/freeing memory without help of garbage collection (except Python))
|
|
|
+- Work within the raw constraints (allocating/freeing memory without help of garbage collection (except Python or Java))
|
|
|
- Make use of built-in types so I have experience using the built-in tools for real-world use (not going to write my own linked list implementation in production)
|
|
|
|
|
|
I may not have time to do all of these for every subject, but I'll try.
|
|
@@ -508,7 +510,9 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
|
|
<details>
|
|
|
<summary>Algorithmic complexity / Big-O / Asymptotic analysis</summary>
|
|
|
|
|
|
-- nothing to implement
|
|
|
+- Nothing to implement
|
|
|
+- There are a lot of videos here. Just watch enough until you understand it. You can always come back and review.
|
|
|
+- 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.
|
|
|
- [ ] [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 Notation (and Omega and Theta) - best mathematical explanation (video)](https://www.youtube.com/watch?v=ei-A_wy5Yxw&index=2&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN)
|
|
@@ -528,9 +532,6 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
|
|
- [ ] [Cheat sheet](http://bigocheatsheet.com/)
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
-
|
|
|
</details>
|
|
|
|
|
|
## Data Structures
|
|
@@ -1236,6 +1237,7 @@ Graphs can be used to represent many problems in computer science, so this secti
|
|
|
- [ ] [Consistent Hashing](http://www.tom-e-white.com/2007/11/consistent-hashing.html)
|
|
|
- [ ] [NoSQL Patterns](http://horicky.blogspot.com/2009/11/nosql-patterns.html)
|
|
|
- [ ] Scalability:
|
|
|
+ - You don't need all of these. Just pick a few that interest you.
|
|
|
- [ ] [Great overview (video)](https://www.youtube.com/watch?v=-W9F__D3oY4)
|
|
|
- [ ] Short series:
|
|
|
- [Clones](http://www.lecloud.net/post/7295452622/scalability-for-dummies-part-1-clones)
|