Skip to content

Instantly share code, notes, and snippets.

@minmaxdata
Created March 6, 2015 19:00
Show Gist options
  • Save minmaxdata/a4212b60af58ee2eae42 to your computer and use it in GitHub Desktop.
Save minmaxdata/a4212b60af58ee2eae42 to your computer and use it in GitHub Desktop.
An understanding of algorithms is necessary to pass interviews and write scalable code.
Work on programming projects, the larger the better.
Get your code reviewed by others, the more experienced the better.
Become very good at one programming language. If it's Java, study Effective Java. For C++, Effective C++ and its sequel, etc.
Take a Programming Languages course to get exposed to different programming paradigms. Ideas will carry over. (Google's map-reduce came from the Lisp world.)
Learn about the memory hierarchy, from registers to secondary storage, and how to optimize performance.
Learn about concurrency and synchronization.
Study an interview prep book, such as Programming Interviews Exposed orCracking the Coding Interview.
When you apply, especially if you're not from a top 5 school, find a Google/FB employee who can refer you. That gets you to the top of the stack, and that person will be motivated to help you, including making sure you don't get lost in the shuffle. Don't apply through the website.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment