Introduction
Don't feel you aren't smart enough
- Successful software engineers are smart, but many have an insecurity that they aren't smart enough.
- The myth of the Genius Programmer - Youtube (video)
- It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech - Youtube (video)
- How to be a successful software engineer (article)
Interview Process & General Interview Prep
How to Get a Job at the Big 4 (Amazon, Facebook, Google & Microsoft):
- How to Get a Job at the Big 4 - Youtube (video)
- How to Get a Job at the Big 4.1 - Youtube (video)
- How to: Prepare for a Google Engineering Interview - Youtube (video)
- How to: Work at Google - Example Coding/Engineering Interview - Youtube (video)
- Technical Interviews - Harvard CS50 (video)
- How to Succeed in any Programming Interview - Siraj Raval (video)
Cracking The Coding Interview Videos:
Cracking the Facebook Coding Interview
Pick One Language for the Interview
Solid choices for big tech companies:
- Python (highy recommended for general coding interviews as it has cleaner syntax)
- C++ (for C++ specific job roles)
Book List
Interview Prep
- Programming Interviews Exposed: Coding Your Way Through the Interview, 4th Edition (book)
- answers in C++ and Java
- this is a good warm-up for Cracking the Coding Interview
- not too difficult, most problems may be easier than what you'll see in an interview (from what I've read)
- Cracking the Coding Interview, 6th Edition (book)
- answers in Java
Data Structures and Algorithms
If you have tons of extra time:
Choose one:
- Elements of Programming Interviews in C++ (book)
- Elements of Programming Interviews in Python (book)
- [Elements of Programming Interviews in Java (book)]
Prerequisite Knowledge
Intro to CS - Harvard CS50 (videos)
- Watch shorts to get a quick overview of C
- Solve problem sets
- If have time then watch lectures
How computers process a program: