Skip to content

Commit

Permalink
Rewrite
Browse files Browse the repository at this point in the history
* removed dead links
* refactored to a more logical structure
* aded and removed resources based on relevance
* removed the funky relative links I was using

TODO: go through issues and PRs
  • Loading branch information
andreis committed Apr 24, 2017
1 parent a7f48ff commit 8db9c60
Showing 1 changed file with 133 additions and 184 deletions.
317 changes: 133 additions & 184 deletions README.md
Expand Up @@ -2,226 +2,175 @@

### Contents

* [Articles](#articles)
* [Algorithms](#algorithms)
* [Coding](#coding)
* [Guides](#guides)
* [Language-specific](#language-specific)
* [JavaScript](#javascript)
* [Python](#python)
* [Maths](#maths)
* [Misc](#misc)
* [Questions](#questions)
* [Systems Design](#systems-design)
* [Unix](#unix)
* [Videos](#videos)
* [other repos](#similar-github-repos)


## Articles

Recommended: Steve Yegge – **Get That Job at Google** [[web][a_sy]]

* Carlos Bueno – **Get That Job at Facebook** [[web][a_cb]]
* Daniel Blumenthal – **How to Prepare for Technical Interviews** [[web][a_db3]]
* David Byttow – **ABC: Always Be Coding** [[web][a_db]]
* David Byttow – **Four Steps to Google, Without a Degree** [[web][a_db2]]
* Thomas L. Friedman – **How to Get a Job at Google** [[part 1][a_tf]] [[part 2][a_tf2]]
* Andrew Rothbart – **Preparing for a technical interview with programming contests** [[web][a_ar]]
* Steve Yegge – **Ten Tips for a (Slightly) Less Awful Resume** [[web][a_sy2]]

[a_cb]: https://www.facebook.com/notes/10150964382448920
[a_ar]: https://www.facebook.com/notes/10151298476823920
[a_db]: https://medium.com/tech-talk/d5f8051afce2
[a_db2]: https://medium.com/this-happened-to-me/8f381aa6bd5e
[a_db3]: http://dandreamsofcoding.com/2012/11/25/how-to-prepare-for-technical-interviews/
[a_sy]: http://steve-yegge.blogspot.co.uk/2008/03/get-that-job-at-google.html
[a_sy2]: http://steve-yegge.blogspot.co.uk/2007_09_01_archive.html
[a_tf]: http://mobile.nytimes.com/2014/02/23/opinion/sunday/friedman-how-to-get-a-job-at-google.html
[a_tf2]: http://mobile.nytimes.com/2014/04/20/opinion/sunday/friedman-how-to-get-a-job-at-google-part-2.html


## Algorithms

Recommended: Steven Skiena – **The Algorithm Design Manual** [[Amazon][b_tadm_amzn]] [[pdf][b_tadm_pdf]] [[web][b_tadm_web]]

* Jon Bentley – **Programming Pearls** [[Amazon][b_pp_amzn]] [[web (full text)][b_pp_web]]
* Cormen, Leiserson, Rivest, Stein – **Introduction to Algorithms** [[Amazon][b_clrs_amzn]] [[pdf][b_clrs_pdf]]
* more – **Free Programming Books** (*giant* collection) [[GitHub][b_fbp]]
* more – **IT eBooks** [[web][b_ite]]
* more – **Free Programming Books** [[web][b_fpbcom]]

Please support the authors by buying the books.

[b_clrs_amzn]: http://www.amazon.com/dp/0262033844
[b_clrs_pdf]: https://www.google.com/search?q=cormen+pdf
[b_fbp]: https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md
[b_fpbcom]: http://www.freeprogrammingbook.com/
[b_ite]: http://it-ebooks.info/
[b_pp_amzn]: http://www.amazon.com/dp/8177588583
[b_pp_web]: http://www.wou.edu/~jcm/Spring-P-2015/Programming%20Pearls%20(2nd%20Ed)%20Bentley.pdf
[b_tadm_amzn]: http://www.amazon.com/dp/1848000693
[b_tadm_pdf]: https://www.google.com/search?q=skiena+algorithm+design+manual+pdf
[b_tadm_web]: http://www.algorist.com/


## Coding

Recommended: **Talentbuddy** [[web][c_tb]] [[free app][c_tb_app]]

* **Coderust** (great selection of problems) [[$10 app][c_cr]]
* **Hacker Rank** [[web][c_hr]]
* **Interview Cake** [[web][c_ic]]
* **HackerEarth** [[web][c_he]]
* **HiredInTech** [[web][c_hit]]
* **Project Euler** [[web][c_pe]]
* **Google Code Jam practice problems** [[web][c_gcj]]
* **Top Coder tutorials** [[web][c_tct]]
* **Infoarena training path** (RO) [[web][c_itp]]
* **LeetCode Online Judge** [[web][c-lc]]
* more – **Free Programming Resources** [[web][c_fpr]]
* more - **Web Resources and Tutorials That Don't Suck** [[web][c_p]]

[c_cr]: http://coderust.com/
[c_fpr]: http://resrc.io/
[c_gcj]: https://code.google.com/codejam/contests.html
[c_he]: http://www.hackerearth.com/
[c_hit]: http://www.hiredintech.com/
[c_hr]: https://www.hackerrank.com/
[c_ic]: https://www.interviewcake.com/
[c_itp]: http://www.infoarena.ro/training-path
[c_p]: http://pineapple.io/
[c_pe]: https://projecteuler.net/
[c_tb]: http://www.talentbuddy.co/
[c_tb_app]: https://itunes.apple.com/us/app/talentbuddy/id845593905
[c_tct]: http://www.topcoder.com/tc?d1=tutorials&d2=alg_index&module=Static
[c-lc]: http://oj.leetcode.com/

* [Articles](#articles)
* [Books](#books)
* [Misc](#misc)
* [Q&A](#qa)
* [Sites](#sites)
* [Videos](#videos)
* [Algorithms](#algorithms)
* [Books](#books-1)
* [Coding Practice](#coding-practice)
* [Guides](#guides-1)
* [Languages and technologies](#languages-and-technologies)
* [JavaScript](#javascript)
* [Python](#python)
* [React](#react)
* [Misc](#misc-1)
* [Maths](#maths)
* [Networking](#networking)
* [Operating Systems](#operating-systems)
* [System Design](#system-design)
* [Similar repos](#similar-repos)


*Found a dead link? Try [archive.is](http://archive.is/) or the [Wayback Machine](https://archive.org/web/).*

## Guides

Recommended (resume): Gayle McDowell – **The Google Resume** [[Amazon][g_tgr_amzn]] [[pdf][g_tgr_pdf]]

Recommended (interview): Gayle McDowell – **Cracking the Coding Interview** [[Amazon][g_cci_amzn]] [[pdf][g_cci_pdf]]

* **CareerCup** [[web][g_cc]]
* **Coding for Interviews** [[web][g_cfi]]
* **Here's How to Prepare for Tech Interviews** [[reddit][g_rd]]
* **Programming Interviews Exposed** [[Amazon][g_pie_amzn]] [[pdf][g_pie_pdf]]
* **Elements of Programming Interviews** [[Amazon][g_epibook]] [[web][g_epiweb]]
* Mina Azib – **Resources for Preparing for the Google Interview** [[web][g_ma]]

[g_cc]: http://www.careercup.com/
[g_cci_amzn]: http://www.amazon.com/dp/098478280X
[g_cci_pdf]: https://www.google.com/search?q=cracking+the+coding+interview+pdf
[g_cfi]: http://codingforinterviews.com/
[g_ma]: http://itsallonesandzeroes.blogspot.de/2013/07/prepping-for-google-interview.html
[g_pie_amzn]: http://www.amazon.com/dp/047012167X
[g_pie_pdf]: https://www.google.com/search?q=programming+interviews+exposed+it-ebooks
[g_rd]: http://redd.it/1jov24
[g_tgr_amzn]: http://www.amazon.com/dp/0470927623
[g_tgr_pdf]: https://www.google.com/search?q=the+google+resume+pdf
[g_epiweb]: https://code.google.com/p/elements-of-programming-interviews/
[g_epibook]: http://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836

**Quora**:
### Articles

* Steve Yegge – [Get That Job at Google](http://steve-yegge.blogspot.co.uk/2008/03/get-that-job-at-google.html)
* Steve Yegge – [Ten Tips for a (Slightly) Less Awful Resume](http://steve-yegge.blogspot.co.uk/2007_09_01_archive.html)
* Carlos Bueno – [Get That Job at Facebook](https://www.facebook.com/notes/10150964382448920)
* Daniel Blumenthal – [How to Prepare for Technical Interviews](http://dandreamsofcoding.com/2012/11/25/how-to-prepare-for-technical-interviews/)
* David Byttow – [ABC: Always Be Coding](https://medium.com/tech-talk/d5f8051afce2)
* David Byttow – [Four Steps to Google, Without a Degree](https://medium.com/this-happened-to-me/8f381aa6bd5e)
* Thomas L. Friedman – How to Get a Job at Google [[part 1](http://mobile.nytimes.com/2014/02/23/opinion/sunday/friedman-how-to-get-a-job-at-google.html)] [[part 2](http://mobile.nytimes.com/2014/04/20/opinion/sunday/friedman-how-to-get-a-job-at-google-part-2.html)]
* Andrew Rothbart – [Preparing for a technical interview with programming contests](https://www.facebook.com/notes/10151298476823920)
* Mina Azib – [Resources for Preparing for the Google Interview](http://itsallonesandzeroes.blogspot.ro/2013/07/prepping-for-google-interview.html)
* [u/RunninADorito](https://www.reddit.com/user/RunninADorito)[How to Prepare for Tech Interviews](https://www.reddit.com/r/cscareerquestions/comments/1jov24/heres_how_to_prepare_for_tech_interviews/)

### Books

* Gayle McDowell – [The Google Resume](https://www.amazon.com/Google-R%C3%A9sum%C3%A9-Prepare-Microsoft-Company/dp/151138459X)
* Gayle McDowell – [Cracking the Coding Interview](https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/098478280X)
* Giguere, Mongan, Kindler – [Programming Interviews Exposed](https://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364)
* Aziz, Lee, Prakash – [Elements of Programming Interviews](https://www.amazon.com/dp/1479274836/) [[code](https://code.google.com/archive/p/elements-of-programming-interviews/)]

### Misc

* Aaron Swartz – [How I Hire Programmers](http://www.aaronsw.com/weblog/hiring)
* Joel Spolsky – [The Guerrilla Guide to Interviewing (v.3)](http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html)
* Steve Yegge – [Done, and Gets Things Smart](http://steve-yegge.blogspot.co.uk/2008/06/done-and-gets-things-smart.html)
* Steve Yegge – [Five Essential Phone Interview Questions](https://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions)
* Daniel Blumenthal – [Questions I Want to Ask, but Can't](http://dandreamsofcoding.com/2013/03/01/questions-i-want-to-ask-but-cant/)
* [How does an interviewer define the difficulty level of a question?](http://www.quora.com/Programming-Interviews/How-does-an-interviewer-define-the-difficulty-level-of-a-question)

### Q&A
* [How to prepare for my Google/Facebook interview if I have 6 months left?](http://www.quora.com/Career-Advice/What-are-the-ways-to-utilize-6-months-to-build-skill-set-to-get-into-Facebook-or-Google)
* [How should I prepare for my Google interview if I have 1 month left?](https://www.quora.com/Google-Interview-Questions/How-should-I-prepare-for-my-Google-interview-if-I-have-1-month-left)
* [What is the best advice for an engineering internship interview at Google or Facebook?](https://www.quora.com/What-is-the-best-advice-for-an-engineering-internship-interview-at-Google-or-Facebook)
* [What graph topics should I study in order to be adequately prepared for a Google Software Engineer interview?](https://www.quora.com/Google-Interview-Questions/What-graph-topics-should-I-study-in-order-to-be-adequately-prepared-for-a-Google-Software-Engineer-interview)

### Sites

## Language-specific

### JavaScript
* [interviewing.io](https://interviewing.io/) *"Practice interviewing with engineers from top companies"*
* [Coding for Interviews](http://codingforinterviews.com/)
* [Career Cup](https://www.careercup.com/)

* [Superhero.js](http://superherojs.com/)
### Videos

### Python
* [How to: Work at Google – Candidate Coaching Session for Technical Interviewing](https://www.youtube.com/watch?v=oWbUtlUhwa8)
* Gayle McDowell – [Cracking the Coding Interview](https://www.youtube.com/watch?v=rEJzOhC5ZtQ)
* Gayle McDowell - [Cracking the Coding Interview (examples)](https://www.youtube.com/watch?v=aClxtDcdpsQ)
* [Google Recruiters Share Technical Interview Tips](https://www.youtube.com/watch?v=qc1owf2-220)
* [Google Recruiters Share Non-Technical Interview Tips](https://www.youtube.com/watch?v=DINxNbBOEoI)
* Ladies Storm Hackathons – [Interview Prep Round 1: Strings, Arrays, Linked Lists](https://www.youtube.com/watch?v=fIpliB-ton8)

* [The Hitchhiker's Guide to Python](http://docs.python-guide.org/en/latest/)
* [The Insider's Guide to Python Interviewing](http://www.toptal.com/python#hiring-guide)

## Maths
## Algorithms

Recommended: MIT - **Mathematics for Computer Science** [[Youtube][m_mit_yt]] [[web][m_mit_web]]
### Books

* Graham, Knuth, Patashnik – **Concrete Mathematics: A Foundation for Computer Science** [[Amazon][m_cm_amzn]] [[pdf][m_cm_pdf]]
* Steven Skiena – [The Algorithm Design Manual](http://www.algorist.com/)
* Udi Manber – [Introduction to Algorithms: A Creative Approach](https://www.amazon.com/Introduction-Algorithms-Creative-Udi-Manber/dp/0201120372)
* Cormen, Leiserson, Rivest, Stein – [Introduction to Algorithms](https://mitpress.mit.edu/books/introduction-algorithms)
* Sedgewick, Wayne – [Algorithms](http://algs4.cs.princeton.edu/home/)
* Antti Laaksonen – [Competitive Programmer's Handbook](https://cses.fi/book.html)
* Steven & Felix Halim – [Competitive Programming](https://cpbook.net/)
* Jon Bentley – [Programming Pearls](http://www.wou.edu/~jcm/Spring-P-2015/Programming%20Pearls%20(2nd%20Ed)%20Bentley.pdf)
* [E-Maxx Algorithms](https://e-maxx-eng.appspot.com/)
* [Original [RU]](https://e-maxx.ru/algo/)
* [vhf/free-programming-books](https://github.com/vhf/free-programming-books)
* [it-ebooks.info](http://it-ebooks.info/)

[m_cm_amzn]: http://www.amazon.com/dp/0201558025/
[m_cm_pdf]: https://www.google.co.uk/search?q=knuth+concrete+mathematics+pdf
[m_mit_web]: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/
[m_mit_yt]: https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLB7540DEDD482705B

### Coding practice

## Misc
* [LeetCode](https://leetcode.com/)
* [Codility](https://codility.com/)
* [HackerRank](https://www.hackerrank.com/)
* [Project Euler](https://projecteuler.net/)
* [Google Code Jam practice problems](https://code.google.com/codejam/contests.html)
* [Interview Cake](https://www.interviewcake.com/) [[review](https://www.quora.com/How-helpful-was-the-paid-program-from-Interview-Cake-in-your-interview-preparation)]
* [Coderust 2.0](https://www.educative.io/collection/5642554087309312/5679846214598656?authorName=Coderust)
* [HackerEarth](https://www.hackerearth.com/)
* [HiredInTech](https://www.hiredintech.com/)

* Aaron Swartz – **How I Hire Programmers** [[web](http://www.aaronsw.com/weblog/hiring)]
* Joel Spolsky – **The Guerrilla Guide to Interviewing (v.3)** [[web](http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html)]
* Steve Yegge – **Done, and Gets Things Smart** [[web](http://steve-yegge.blogspot.co.uk/2008/06/done-and-gets-things-smart.html)]
### Guides

**Quora**
* [Top Coder tutorials](http://www.topcoder.com/tc?d1=tutorials&d2=alg_index&module=Static)
* [Infoarena training path](http://www.infoarena.ro/training-path) (RO)
* Steven & Felix Halim – [Increasing the Lower Bound of Programming Contests](https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=118) (UVA Online Judge)

* [How does an interviewer define the difficulty level of a question?](http://www.quora.com/Programming-Interviews/How-does-an-interviewer-define-the-difficulty-level-of-a-question)
## Languages and technologies

### JavaScript

## Questions
* [Free books by Dr. Axel Rauschmayer](http://exploringjs.com/)
* [You Don't Know JS](https://github.com/getify/You-Dont-Know-JS)
* [Superhero.js](http://superherojs.com/)
* [h5bp/Front-end-Developer-Interview-Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions)

Recommended: MIT – **Hacking a Google Interview** [[web][q_hgi]]
### Python

* **Computer Science Primer / Interview Questions** [[web][q_csp]]
* **Programming Interview Questions** [[web][q_piq]]
* **Prismo-Skills** [[web][q_ps]]
* Jeff Atwood – **How Good an Estimator Are You?** [[web][q_ja]]
* Daniel Blumenthal – **Questions I Want to Ask, but Can't** [[web][q_db]]
* Steve Yegge – **The Five Essential Phone-Screen Questions** [[web][q_feps]]
* [The Hitchhiker's Guide to Python](http://docs.python-guide.org/en/latest/)
* [The Insider's Guide to Python Interviewing](http://www.toptal.com/python#hiring-guide)

[q_db]: http://dandreamsofcoding.com/2013/03/01/questions-i-want-to-ask-but-cant/
[q_csp]: http://www.grokit.ca/spc/computer_science_review/
[q_feps]: https://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions
[q_hgi]: https://courses.csail.mit.edu/iap/interview/materials.php
[q_ja]: http://blog.codinghorror.com/how-good-an-estimator-are-you/
[q_piq]: http://maxnoy.com/interviews.html
[q_ps]: http://prismoskills.appspot.com/freshers.jsp
### React

* [markerikson/react-redux-links](https://github.com/markerikson/react-redux-links)
* [12 Essential React.js Interview Questions](https://www.toptal.com/react/interview-questions)
* [React Interview Questions](https://tylermcginnis.com/react-interview-questions/)

## Systems Design
## Misc

**Quora**
### Maths

* [How should I prepare system design questions for Google/Facebook interview?](http://www.quora.com/Job-Interviews/How-should-I-prepare-system-design-questions-for-Google-Facebook-Interview)
* MIT - [Mathematics for Computer Science](https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLB7540DEDD482705B)
* Graham, Knuth, Patashnik – [Concrete Mathematics: A Foundation for Computer Science](https://www.amazon.com/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025)
* Bogart, Drysdale, Stein – [Discrete Math for Computer Science Students](http://www.cse.iitd.ernet.in/~bagchi/courses/discrete-book/fullbook.pdf)

### Networking

## Unix
* Andrew Tanenbaum – [Computer Networks](https://www.amazon.com/Computer-Networks-Tanenbaum-International-Economy/dp/9332518742)
* Kurose, Ross – [Computer Networking: A Top-Down Approach](https://www.amazon.com/Computer-Networking-Top-Down-Approach-6th/dp/0132856204)
* W. Richard Stevens – [TCP/IP Illustrated, Vol. 1: The Protocols](https://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469)
* W. Richard Stevens – [UNIX Netowrk Programming](https://www.amazon.com/UNIX-Network-Programming-Richard-Stevens/dp/0139498761)

**Quora**
### Operating systems

* [What is the difference between a process and a thread?](http://www.quora.com/What-is-the-difference-between-a-process-and-a-thread)

### System design

## Videos

Recommended: **Candidate Coaching Session: Tech Interviewing** [[Youtube][v_ccs]]

* Gayle McDowell – **Cracking the Coding Interview** [[Youtube][v_cci]]
* Gayle McDowell - **Cracking the Coding Interview (examples)** [[one][v_cci2]] [[two][v_cci3]]
* Hangouts on Air: **Google Recruiters Share Interview Tips** [[technical][v_gt]] [[non-technical][v_gnt]]
* Ladies Storm Hackathons: **Interview Prep Round 1: Strings, Arrays, Linked Lists** [[technical][v_lsh1]]

[v_cci]: http://youtu.be/rEJzOhC5ZtQ
[v_cci2]: http://youtu.be/aClxtDcdpsQ
[v_cci3]: http://youtu.be/2cf9xo1S134
[v_ccs]: http://youtu.be/oWbUtlUhwa8
[v_gt]: http://youtu.be/qc1owf2-220
[v_gnt]: http://youtu.be/DINxNbBOEoI
[v_lsh1]: http://youtu.be/fIpliB-ton8

## Similar GitHub repos

* [schmatz/cs-interview-guide](https://github.com/schmatz/cs-interview-guide) **(NEW)**
* [SITZ/JobPuzzles](https://github.com/SITZ/JobPuzzles) **(NEW)**
* [interview-resources](https://github.com/davidhampgonsalves/interview-resources)
* [code-problems](https://github.com/blakeembrey/code-problems)
* [InterviewThis](https://github.com/ChiperSoft/InterviewThis)
* [job_interview](https://github.com/ruby-jokes/job_interview)
* [donnemartin/system-design-primer](https://github.com/donnemartin/system-design-primer)
* [How should I prepare system design questions for Google/Facebook interview?](http://www.quora.com/Job-Interviews/How-should-I-prepare-system-design-questions-for-Google-Facebook-Interview)
* Jeff Atwood – [How Good an Estimator Are You?](http://blog.codinghorror.com/how-good-an-estimator-are-you/)

## Similar repos

* [MaximAbramchuck/awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions)
* [donnemartin/interactive-coding-challenges](https://github.com/donnemartin/interactive-coding-challenges)
* [schmatz/cs-interview-guide](https://github.com/schmatz/cs-interview-guide)
* [SITZ/JobPuzzles](https://github.com/SITZ/JobPuzzles)
* [davidhampgonsalves/interview-resources](https://github.com/davidhampgonsalves/interview-resources)
* [blakeembrey/code-problems](https://github.com/blakeembrey/code-problems)
* [ChiperSoft/InterviewThis](https://github.com/ChiperSoft/InterviewThis)
* [ruby-jokes/job_interview](https://github.com/ruby-jokes/job_interview)
* [what-happens-when](https://github.com/alex/what-happens-when)
* [poteto/hiring-without-whiteboards](https://github.com/poteto/hiring-without-whiteboards)
* [liwei606/interview](https://github.com/liwei606/interview)

0 comments on commit 8db9c60

Please sign in to comment.