coding-interview-university
by
jwasham

Description: A complete computer science study plan to become a software engineer.

View jwasham/coding-interview-university on GitHub ↗

Summary Information

Initializing - Collecting repository analytics and enrichment data...
Added to GitGenius on May 25th, 2026
Created on June 6th, 2016
Open Issues & Pull Requests: 113 (+0)
Number of forks: 82,973
Total Stargazers: 347,585 (+12)
Total Subscribers: 8,547 (+0)

Issue Activity (beta)

Open issues: 40
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 611 days
Stale 30+ days: 37
Stale 90+ days: 34

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • automated issue (6)
  • report (6)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

The jwasham/coding-interview-university repository is a comprehensive, self-guided study plan designed to prepare individuals for technical interviews at major software companies such as Amazon, Google, Facebook, and Microsoft. Originally created as a personal checklist by the author, John Washam, the project has evolved into a widely-used resource for aspiring software engineers, particularly those without a formal computer science degree. The repository aims to bridge the gap between self-taught programmers and traditional computer science graduates by covering the essential topics required for technical interviews.

The core of the repository is an extensive curriculum that mirrors the content of a university-level computer science program, but with a focus on the most relevant subjects for interviews. The study plan is organized into a clear outline, starting with foundational concepts such as algorithmic complexity (Big-O notation), data structures (arrays, linked lists, stacks, queues, hash tables), and basic algorithms (binary search, bitwise operations). It then progresses to more advanced topics including trees (binary search trees, heaps, traversals), sorting algorithms (selection, insertion, heapsort, quicksort, mergesort), and graph theory (directed and undirected graphs, adjacency matrices/lists, BFS, DFS).

Beyond these basics, the repository covers recursion, dynamic programming, design patterns, combinatorics, probability, NP-completeness, computer architecture (how computers process programs, caches, processes, threads), testing, string manipulation, tries, floating point numbers, Unicode, endianness, and networking. There is also a section dedicated to final review, ensuring learners consolidate their knowledge before interviews.

The repository provides guidance on choosing a programming language for interviews, recommending C, Python, Java, or C++. It includes curated lists of recommended books for learning data structures and algorithms in these languages, as well as interview preparation books such as "Cracking the Coding Interview" and "Programming Interviews Exposed." The study plan also emphasizes the importance of practicing coding questions, reviewing coding problems, and using flashcards to retain knowledge.

In addition to technical preparation, the repository offers practical advice on resume updates, job searching, interview processes, and post-hiring tips. It encourages learners to track their progress using GitHub-flavored markdown checklists and provides instructions for both git users and those who prefer downloading the repository as a ZIP file.

Optional sections cover advanced topics like system design, scalability, compilers, Unix tools, information theory, cryptography, compression, computer security, parallel programming, and specialized data structures (AVL trees, B-trees, skip lists, network flows, etc.). There are also links to additional books, video series, computer science courses, and academic papers for further study.

The repository is available in multiple languages, with translations provided for a wide range of global audiences and ongoing efforts to expand accessibility. Overall, jwasham/coding-interview-university serves as a structured, accessible, and thorough roadmap for anyone seeking to master computer science fundamentals and succeed in software engineering interviews.

coding-interview-university
by
jwashamjwasham/coding-interview-university

Repository Details

Fetching additional details & charts...