Skip to content

Instantly share code, notes, and snippets.

@shotu
Forked from outro56/Interview Guide.md
Created April 2, 2021 05:46
Show Gist options
  • Save shotu/f6af9502f6c52d89d88467243ed9264c to your computer and use it in GitHub Desktop.
Save shotu/f6af9502f6c52d89d88467243ed9264c to your computer and use it in GitHub Desktop.

Revisions

  1. @outro56 outro56 revised this gist Nov 21, 2015. No changes.
  2. @outro56 outro56 revised this gist Nov 20, 2015. No changes.
  3. @outro56 outro56 created this gist Nov 20, 2015.
    226 changes: 226 additions & 0 deletions Interview Guide.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,226 @@

    ### 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/


    ## 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**:
    * [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)


    ## Language-specific

    ### JavaScript

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

    ### Python

    * [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

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

    * Graham, Knuth, Patashnik – **Concrete Mathematics: A Foundation for Computer Science** [[Amazon][m_cm_amzn]] [[pdf][m_cm_pdf]]

    [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


    ## Misc

    * 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)]

    **Quora**

    * [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)


    ## Questions

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

    * **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]]

    [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


    ## Systems Design

    **Quora**

    * [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)


    ## Unix

    **Quora**

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


    ## 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)
    * [what-happens-when](https://github.com/alex/what-happens-when)