- 2 hours each weekday
- 1 hour in the AM
- 2 hours in the PM
- 3 hours each Saturday
- 2 hours each Sunday
- 7 days a week
- Monday through Sunday
Approximately 20 hours a week
- Data Structures for Interviews
- Algorithms and data structures for Interview preparation
- Optional (if access to Lynda): Four Semesters of Computer Science in 5 Hours with Brian Holt
- Grokking Algorithms
- Or any other book or guide of your choosing
- Exercism.io
- Going with Python
- Basic video review of core concept online (30 minutes)
- More in depth with online course study (Stanford course?)
- Work through coding exercises
- Cracking the Coding Interview
- Make flash cards of any generalized info (if applicable)
- Basic video review of core concept online (30 minutes)
- More in depth with online course study (Stanford course?)
- Work through coding exercises
- Cracking the Coding Interview
- Make flash cards of any generalized info (if applicable)
- Basic video review of core concept online (30 minutes)
- More in depth with online course study (Stanford course?)
- Work through coding exercises
- Cracking the Coding Interview
- Make flash cards of any generalized info (if applicable)
- Basic video review of core concept online (30 minutes)
- Reading...
- Make flash cards of any generalized info (if applicable)
- Basic video review of core concept online (30 minutes)
- Reading...
- Make flash cards of any generalized info (if applicable)
- Basic video review of core concept online (30 minutes)
- Reading...
- Make flash cards of any generalized info (if applicable)
- Basic video review of core concept online (30 minutes)
- Reading...
- Make flash cards of any generalized info (if applicable)
- Review flash cards
- Watch another summary video on topic (30 minutes)
- Review flash cards
- Watch another summary video on topic (30 minutes)
- Review flash cards
- Watch another summary video on topic (30 minutes)
- Review flash cards
- Watch another summary video on topic (30 minutes)
- Review flash cards
- Watch another summary video on topic (30 minutes)
- Review flash cards
- Watch another summary video on topic (30 minutes)
- Review flash cards
- Watch another summary video on topic (30 minutes)
- Write code on computer from sample question and verify solution
- Write code on computer from sample question and verify solution
- Write code on computer from sample question and verify solution
- Write code on whiteboard from sample question and verify solution
- Write code on whiteboard from sample question and verify solution
- Write code on whiteboard from sample question and verify solution
- https://simpleprogrammer.com/2016/10/03/software-developer-interviews/
- https://github.com/jwasham/coding-interview-university
- Stanford University CS 106A: Programming Methodology
- Retaining Computer Science Knowledge
- CS Flash Cards
- Learn Anything: CS: Algorithms
- Khan Academy Algorithms
- Cracking the Coding Interview - YouTube playlist
- How to: Work at Google - Example Coding/Engineering Interview - YouTube
- How to: Prepare for a Google Engineering Interview
- Get that job at Google - Steve Yegge (oldie but a goodie)
- Failing at Google Interviews - Alex Bowe
- Nailing your first Google interview
- Why I studied full-time for 8 months for a Google interview -- "Don’t Study As Much As I Did" -- "Ask don't assume" -- "I read way more books than I needed to" -- "Spaced repetition is the key to memorization" -- "Start coding problems sooner instead of reading and watching videos longer"
- How should I prepare for my Google interview if I have 1 month left and I’m applying for a software engineer role?
- How much time did you spend preparing for Google's interviews? Is everyone who got into Facebook, Google, etc. really that good to solve or understand every classic algorithm or problem?
- LeetCode
- HackerRank
- TopCoder
- Project Euler -- probably just do a few
- many others...
- Data Structures and Algorithms in Python
- Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition
- Grokking Algorithms: An illustrated guide for programmers and other curious people
- Head First Design Patterns: A Brain-Friendly Guide
- Design Patterns: Elements of Reusable Object-Oriented Software
- Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
- Programming Pearls
- The Algorithm Design Manual (based on 3 strong recommendations from blog posts)
- Computer Science Distilled: Learn the Art of Solving Computational Problems
- Introduction to Algorithms, 3rd Edition (MIT Press) 3rd Edition [aka CLRS]
- How Google Works
-
npcomplete, nap sack, traveling salesman, trees (construction, traversal, manipulation), hash tables, stacks, arrays, linked lists, basic descrete math problems, probability theory, N Choose K problems, recursion, OS (processes, threads, concurrency,concurrency issues, semifors, mutexes, locks, resource allocation, context switching, scheduling, system design - feature sets, distrubed systems, interent basics - routers, balancers, domain name servers, firewalls, basics of search
-
coding tests prep places: code chef, top coder, careercup, hackerrank
- Think out load while solving
- Ask clarifying questions -- time or space complexity
Adapted and inspiration from Coding Interview University