From ecb74f1a6af57c27dcdc7cccebbb66d9e5112049 Mon Sep 17 00:00:00 2001 From: John Washam Date: Sun, 27 Nov 2016 12:33:39 -0800 Subject: [PATCH] Moved some books around. --- README.md | 72 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 9fabf89..f0863eb 100644 --- a/README.md +++ b/README.md @@ -1241,11 +1241,46 @@ Supplemental: - [MIT Interview Materials](https://web.archive.org/web/20160906124824/http://courses.csail.mit.edu/iap/interview/materials.php) - [Exercises for getting better at a given language](http://exercism.io/languages) -**Read as a review and problem recognition** +**Read and Do Programming Problems (in this order):** +- [ ] [Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition](http://www.wiley.com/WileyCDA/WileyTitle/productCd-047012167X.html) + - recommended in Google candidate coaching +- [ ] [Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/) + - recommended on the [Google Careers site](https://www.google.com/about/careers/how-we-hire/interview/) + - If you see people reference "The Google Resume", it was a book replaced by "Cracking the Coding Interview". + +**If you have time** +- [ ] [Grokking Algorithms](https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230) + - This is a great book for review of CS concepts, and a very quick read. + - Did not have as much Python code as I had hoped for, but has a great chapter on dynamic programming, so I worked through that and finally got the concept. +- [ ] [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 a bit outdated, but it's a terrific resource for understanding a computer. + - The author invented HLA, 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: + - Chapter 2 - Numeric Representation + - Chapter 3 - Binary Arithmetic and Bit Operations + - Chapter 4 - Floating-Point Representation + - Chapter 5 - Character Representation + - Chapter 6 - Memory Organization and Access + - Chapter 7 - Composite Data Types and Memory Objects + - Chapter 9 - CPU Architecture + - Chapter 10 - Instruction Set Architecture + - Chapter 11 - Memory Architecture and Organization + - For a richer, more up-to-date (2011), but longer treatment, pick up [Computer Architecture, Fifth Edition: A Quantitative Approach](https://www.amazon.com/dp/012383872X/) +- [ ] [Elements of Programming Interviews](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836) + - all code is in C++, if you're looking to use C++ in your interview + - a good book on problem solving in general. + +**Perhaps** + +- [ ] [Programming Pearls](http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880) + - The first couple of chapters present clever solutions to programming problems (some very old using data tape) but + that is just an intro. This a guidebook on program design and architecture, much like Code Complete, but much shorter. - [ ] [Algorithm Design Manual](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202) (Skiena) + - As a review and problem recognition + - The algorithm catalog portion is well beyond the scope of difficulty you'll get in an interview. - This book has 2 parts: - class textbook on data structures and algorithms - - pros: + - pros: - is a good review as any algorithms textbook would be - nice stories from his experiences solving problems in industry and academia - code examples in C @@ -1269,39 +1304,6 @@ Supplemental: - [Solutions](http://blog.panictank.net/category/algorithmndesignmanualsolutions/page/2/) - [Errata](http://www3.cs.stonybrook.edu/~skiena/algorist/book/errata) -**Read and Do Programming Problems (in this order):** -- [ ] [Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition](http://www.wiley.com/WileyCDA/WileyTitle/productCd-047012167X.html) - - recommended in Google candidate coaching -- [ ] [Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/) - - recommended on the [Google Careers site](https://www.google.com/about/careers/how-we-hire/interview/) - - If you see people reference "The Google Resume", it was a book replaced by "Cracking the Coding Interview". - -**If you have time** -- [ ] [Programming Pearls](http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880) - - The first couple of chapters present clever solutions to programming problems (some very old using data tape) but - that is just an intro. This a guidebook on program design and architecture, much like Code Complete, but much shorter. -- [ ] [Grokking Algorithms](https://www.amazon.com/Grokking-Algorithms-illustrated-programmers-curious/dp/1617292230) - - This is a great book for review of CS concepts, and a very quick read. - - Did not have as much Python code as I had hoped for, but has a great chapter on dynamic programming, so I worked through that and finally got the concept. -- [ ] [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 a bit outdated, but it's a terrific resource for understanding a computer. - - The author invented HLA, 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: - - Chapter 2 - Numeric Representation - - Chapter 3 - Binary Arithmetic and Bit Operations - - Chapter 4 - Floating-Point Representation - - Chapter 5 - Character Representation - - Chapter 6 - Memory Organization and Access - - Chapter 7 - Composite Data Types and Memory Objects - - Chapter 9 - CPU Architecture - - Chapter 10 - Instruction Set Architecture - - Chapter 11 - Memory Architecture and Organization - - For a richer, more up-to-date (2011), but longer treatment, pick up [Computer Architecture, Fifth Edition: A Quantitative Approach](https://www.amazon.com/dp/012383872X/) -- [ ] [Elements of Programming Interviews](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836) - - all code is in C++, if you're looking to use C++ in your interview - - a good book on problem solving in general. - -**Perhaps** - [ ] [Introduction to Algorithms](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844) - **Important:** Reading this book will only have limited value. This book is a great review of algorithms and data structures, but won't teach you how to write good code. You have to be able to code a decent solution efficiently. - To quote Yegge: "But if you want to come into your interviews *prepped*, then consider deferring your application until you've made your way through that book."