You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -37,11 +37,11 @@ This is my multi-month study plan for going from web developer (self-taught, no
37
37
38
38

39
39
40
-
This is meant for **new software engineers** or those switching from
41
-
software/web development to software engineering (where computer science knowledge is required). If you have
42
-
many years of experience and are claiming many years of software engineering experience, expect a harder interview.
40
+
This is meant for **new software engineers** or those switching from
41
+
software/web development to software engineering (where computer science knowledge is required). If you have
42
+
many years of experience and are claiming many years of software engineering experience, expect a harder interview.
43
43
44
-
If you have many years of software/web development experience, note that large software companies like Google, Amazon,
44
+
If you have many years of software/web development experience, note that large software companies like Google, Amazon,
45
45
Facebook and Microsoft view software engineering as different from software/web development, and they require computer science knowledge.
46
46
47
47
If you want to be a reliability engineer or systems engineer, study more from the optional list (networking, security).
@@ -274,7 +274,7 @@ This is a shorter list than what I used. This is abbreviated to save you time.
274
274
275
275
If you have tons of extra time:
276
276
277
-
-[ ][Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
277
+
-[ ][Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
278
278
-[ ][Elements of Programming Interviews (Java version)](https://www.amazon.com/Elements-Programming-Interviews-Java-Insiders/dp/1517435803/)
279
279
280
280
### Computer Architecture
@@ -293,7 +293,7 @@ If short on time:
293
293
- Chapter 7 - Composite Data Types and Memory Objects
294
294
- Chapter 9 - CPU Architecture
295
295
- Chapter 10 - Instruction Set Architecture
296
-
- Chapter 11 - Memory Architecture and Organization
296
+
- Chapter 11 - Memory Architecture and Organization
297
297
298
298
If you have more time (I want this book):
299
299
@@ -304,7 +304,7 @@ If you have more time (I want this book):
304
304
305
305
**You need to choose a language for the interview (see above).** Here are my recommendations by language. I don't have resources for all languages. I welcome additions.
306
306
307
-
If you read though one of these, you should have all the data structures and algorithms knowledge you'll need to start doing coding problems.
307
+
If you read though one of these, you should have all the data structures and algorithms knowledge you'll need to start doing coding problems.
308
308
**You can skip all the video lectures in this project**, unless you'd like a review.
@@ -313,7 +313,7 @@ If you read though one of these, you should have all the data structures and alg
313
313
314
314
I haven't read these two, but they are highly rated and written by Sedgewick. He's awesome.
315
315
316
-
-[ ][Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching](https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/)
316
+
-[ ][Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching](https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/)
317
317
-[ ][Algorithms in C++ Part 5: Graph Algorithms](https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/)
318
318
319
319
If you have a better recommendation for C++, please let me know. Looking for a comprehensive resource.
@@ -378,7 +378,7 @@ OR:
378
378
that is just an intro. This a guidebook on program design and architecture, much like Code Complete, but much shorter.
379
379
380
380
-~~"Algorithms and Programming: Problems and Solutions" by Shen~~
381
-
- 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.
381
+
- 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.
382
382
- Would rather spend time on coding problems from another book or online coding problems.
383
383
384
384
@@ -407,7 +407,7 @@ I made a mobile-first website so I could review on my phone and tablet, wherever
407
407
Make your own for free:
408
408
409
409
-[Flashcards site repo](https://github.com/jwasham/computer-science-flash-cards)
-[My flash cards database (new - 1800 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/master/cards-jwasham-extreme.db):
412
412
413
413
Keep in mind I went overboard and have cards covering everything from assembly language and Python trivia to machine learning and statistics. It's way too much for what's required.
@@ -416,7 +416,7 @@ Keep in mind I went overboard and have cards covering everything from assembly l
416
416
same card and answer it several times correctly before you really know it. Repetition will put that knowledge deeper in
417
417
your brain.
418
418
419
-
An alternative to using my flashcard site is [Anki](http://ankisrs.net/), which has been recommended to me numerous times. It uses a repetition system to help you remember.
419
+
An alternative to using my flashcard site is [Anki](http://ankisrs.net/), which has been recommended to me numerous times. It uses a repetition system to help you remember.
420
420
It's user-friendly, available on all platforms and has a cloud sync system. It costs $25 on iOS but is free on other platforms.
421
421
422
422
My flashcard database in Anki format: https://ankiweb.net/shared/info/25173560 (thanks [@xiewenya](https://github.com/xiewenya))
@@ -474,9 +474,9 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
474
474
-[ ]**Learn C**
475
475
- C is everywhere. You'll see examples in books, lectures, videos, *everywhere* while you're studying.
0 commit comments