Over the years I've put together a list of resources that helped me prepare for programming interviews. Whether you're gunning for a role at a large tech firm or a smaller company, the fundamentals tend to be the same — and they're more learnable than they might first appear.

Articles

  • Steve Yegge — Get That Job at Google [web]
  • Daniel Blumenthal — How to Prepare for Technical Interviews [web]
  • David Byttow — ABC: Always Be Coding [web]
  • David Byttow — Four Steps to Google, Without a Degree [web]
  • Thomas L. Friedman — How to Get a Job at Google [part 1] [part 2]
  • Andrew Rothbart — Preparing for a technical interview with programming contests [web]
  • Steve Yegge — Ten Tips for a (Slightly) Less Awful Resume [web]

Algorithms

  • Steven Skiena — The Algorithm Design Manual [Amazon] [pdf] [web]
  • Jon Bentley — Programming Pearls [Amazon] [web (full text)]
  • Cormen, Leiserson, Rivest, Stein — Introduction to Algorithms [Amazon] [pdf]
  • more — Free Programming Books (giant collection) [GitHub]
  • more — IT eBooks [web]
  • more — Free Programming Books [web]

Please do support the authors by buying the books where you can.

Coding

  • Coderust (great selection of problems) [$10 app]
  • Hacker Rank [web]
  • Interview Cake [web]
  • HackerEarth [web]
  • HiredInTech [web]
  • Project Euler [web]
  • Google Code Jam practice problems [web]
  • Top Coder tutorials [web]
  • Infoarena training path (RO) [web]
  • LeetCode Online Judge [web]
  • more — Free Programming Resources [web]

Guides

Gayle McDowell — The Google Resume [Amazon] [pdf]

Gayle McDowell — Cracking the Coding Interview [Amazon] [pdf]

  • CareerCup [web]
  • Coding for Interviews [web]
  • Here's How to Prepare for Tech Interviews [reddit]
  • Programming Interviews Exposed [Amazon] [pdf]
  • Elements of Programming Interviews [Amazon] [web]
  • Mina Azib — Resources for Preparing for the Google Interview [web]

Quora:

Language-specific

JavaScript

Python

Maths

MIT — Mathematics for Computer Science [Youtube] [web]

  • Graham, Knuth, Patashnik — Concrete Mathematics: A Foundation for Computer Science [Amazon] [pdf]

Misc

  • Aaron Swartz — How I Hire Programmers [web]
  • Joel Spolsky — The Guerrilla Guide to Interviewing (v.3) [web]
  • Steve Yegge — Done, and Gets Things Smart [web]

Quora

Questions

MIT — Hacking a Google Interview [web]

  • Computer Science Primer / Interview Questions [web]
  • Programming Interview Questions [web]
  • Prismo-Skills [web]
  • Jeff Atwood — How Good an Estimator Are You? [web]
  • Daniel Blumenthal — Questions I Want to Ask, but Can't [web]
  • Steve Yegge — The Five Essential Phone-Screen Questions [web]

Systems Design

Unix

Videos

  • Candidate Coaching Session: Tech Interviewing [Youtube]
  • Gayle McDowell — Cracking the Coding Interview [Youtube]
  • Gayle McDowell — Cracking the Coding Interview (examples) [one] [two]
  • Hangouts on Air: Google Recruiters Share Interview Tips [technical] [non-technical]
  • Ladies Storm Hackathons: Interview Prep Round 1: Strings, Arrays, Linked Lists [technical]

Useful GitHub repos