jwasham /coding-interview-university

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

★ 364,163⑂ 85,555👁 8,482⑃ 1,076● 540▤ 0◈ 0
CC-BY-SA-4.0Created 2016-06-06
364,163
stars
+37
85,555
forks
8,482
watchers
1,076
prs
540
issues
0
releases
0
discussions

README

Coding Interview University

 I originally created this as a short to-do list of study topics for becoming a software engineer,
 but it grew to the large list you see today. After going through this study plan, I got hired
 as a Software Development Engineer at Amazon!
 You probably won't have to study as much as I did. Anyway, everything you need is here.

 I studied about 8-12 hours a day, for several months. This is my story: Why I studied full-time for 8 months for a Google interview

 Please Note: You won't need to study as much as I did. I wasted a lot of time on things I didn't need to know. More info about that is below. I'll help you get there without wasting your precious time.

 The items listed here will prepare you well for a technical interview at just about any software company,
 including the giants: Amazon, Facebook, Google, and Microsoft.

 Best of luck to you!


Translations:

- Bahasa Indonesia
- Bulgarian
- Español
- German
- Japanese (日本語)
- Marathi
- Polish
- Português Brasileiro
- Russian
- Tiếng Việt - Vietnamese
- Urdu - اردو
- Uzbek
- বাংলা - Bangla
- ខ្មែរ - Khmer
- 简体中文
- 繁體中文



Translations in progress:

- Afrikaans
- Arabic
- French
- Greek
- Italian
- Korean(한국어)
- Malayalam
- Persian - Farsi
- Telugu
- Thai
- Turkish
- Українська
- עברית
- हिन्दी



 What is it?

!Coding at the whiteboard - from HBO's Silicon Valley

This is my multi-month study plan for becoming a software engineer for a large company.

Required:
 A little experience with coding (variables, loops, methods/functions, etc)
 Patience
 Time

Note this is a study plan for software engineering, not frontend engineering or full-stack development. There are really
super roadmaps and coursework for those career paths elsewhere (see https://roadmap.sh/ for more info).

There is a lot to learn in a university Computer Science program, but only knowing about 75% is good enough for an interview, so that's what I cover here.
For a complete CS self-taught program, the resources for my study plan have been included in Kamran Ahmed's Computer Science Roadmap: https://roadmap.sh/computer-science

---

 Table of Contents

 The Study Plan

- What is it?
- Why use it?
- How to use it
- Don't feel you aren't smart enough
- A Note About Video Resources
- Choose a Programming Language
- Books for Data Structures and Algorithms
- Interview Prep Books
- Don't Make My Mistakes
- What you Won't See Covered
- The Daily Plan
- Coding Question Practice
- Coding Problems

 Topics of Study

- Algorithmic complexity / Big-O / Asymptotic analysis
- Data Structures
    - Arrays
    - Linked Lists
    - Stack
    - Queue
    - Hash table
- More Knowledge
    - Binary search
    - Bitwise operations
- Trees
    - Trees - Intro
    - Binary search trees: BSTs
    - Heap / Priority Queue / Binary Heap
    - balanced search trees (general concept, not details)
    - traversals: preorder, inorder, postorder, BFS, DFS
- Sorting
    - selection
    - insertion
    - heapsort
    - quickso

Top issues

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON