Fundamentals 9 min read

How One Engineer Cracked Google Interviews in 8 Months – The Self‑Study Blueprint

An ex‑army veteran turned self‑taught programmer spent eight months mastering core computer‑science topics, building flashcards and interview projects, and ultimately landed a high‑paying role at Amazon, sharing his detailed study plan, resources, and interview tips via a popular GitHub repository.

ITPUB
ITPUB
ITPUB
How One Engineer Cracked Google Interviews in 8 Months – The Self‑Study Blueprint

Self‑Study Roadmap (8 months)

John Washam, without a CS degree, dedicated 8‑12 hours per day for over eight months to read books, write code, and watch computer‑science lectures, eventually securing a software‑engineer role at Amazon.

Language Choice and Core Topics

Primary language: C++, Java, or Python (common for Google interviews). Supplementary languages: JavaScript, Ruby, SQL, HTML. Studied hardware fundamentals, algorithmic complexity (Big‑O), data structures (arrays, linked lists, trees, graphs), sorting, recursion, dynamic programming, combinatorics, probability, NP‑complete problems, caching, threading, process management, system design, scalability, and data processing.

Flashcard‑Based Review

Created electronic flashcards (including code snippets) for each topic. The flashcard repository https://github.com/jwasham/computer-science-flash-cards contains the source, ASCII tables, OSI‑stack reference, and Big‑O cheat sheets. Review cards every 30 minutes of coding and take short breaks.

Interview Preparation

Emphasizes a strong résumé (based on Steve Yagge’s ten résumé tips). Provides a list of 20 common interview questions; prepare 2‑3 answers per question and formulate insightful questions for the interviewer. Additional efficiency tools include Emacs/Vim shortcuts, Unix command‑line utilities, and basic cryptography concepts.

Key Self‑Learning Principles

Plan early, avoid assumptions – gather interview requirements, allocate time across topics, and avoid spending effort on irrelevant material.

Prefer video tutorials to books – faster knowledge acquisition, leaving more time for hands‑on coding practice.

Repeated spaced review – use flashcards; mark a card mastered only after multiple correct recalls. John created 1,792 cards and reviews them during idle moments.

Resources

Main study repository: https://github.com/jwasham/coding-interview-university Flashcard repository: https://github.com/jwasham/computer-science-flash-cards Personal blog post (FreeCodeCamp) describing the 8‑month journey:

https://www.freecodecamp.org/news/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13/
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

software-engineeringcoding interviewGitHubself-studyGoogle interviewflashcards
ITPUB
Written by

ITPUB

Official ITPUB account sharing technical insights, community news, and exciting events.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.