HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
jwasham
coding-interview-university
Learning & Reference2016–2026
jwasham / coding-interview-university

coding-interview-university

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

44Distinct people
63Mentions
0Explicit recommenders
364.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

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

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 12:01:02 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year63 dated mentions

Observed mentions: 2016-08-12 12:59:47 UTC to 2026-05-01 15:14:24 UTC.

0510152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 9 mentions; 6 submissions, 3 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 17 mentions; 5 submissions, 12 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 14 mentions; 0 submissions, 14 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 8 mentions; 3 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 6 mentions; 3 submissions, 3 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 3 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC963
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC17512
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC14014
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC835
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC633
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC431
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC110
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

What Hacker News says

14 sources
I advise you to ask yourself are you good at problem solving, reading, and thinking about things logically. While I believe that it is possible for everyone to learn to program, they may not like it in the end. If you can stand being stuck on a problem, troubleshooting for hours to days, then finding out the solution was something fairly simple in the end without being utterly infuriated, this might be the job for you! In terms of actually learning, I remember this being posted sometime ago, perhaps a good place to start. https://github.com/jwasham/coding-interview-university/blob/... Edit: Actually thinking about it this is probably a good point following taking one of those coursera, udemy, or codeacademy courses to give you the absolute fundamentals, then build up from there. The repo posted above contains a lot of the actual compute
Read the rest
r science related material you would learn in a classical university education.
In Ask HN: How to start career in programming?
I really enjoyed practicing on Pramp [1]. I ran through their whole batch of problems (roughly 40) so I can't schedule more interviews, but it helped me a lot to work on the soft skills required for FAMG type interviews. Unfortunately I still didn't pass the Google interview (had on-sites in Zurich) even though I was very well prepared. I also maintain (sort of lol) a list of interview preparation resources [2], although I find [3] to be even better. PS: I also failed much easier interviews at CrowdStrike and SourceGraph so maybe I just suck at being interviewed in a way that's not clear to me. It really takes a toll on your confidence though. 1 - https://www.pramp.com/ 2 - https://github.com/andreis/interview 3 - https://github.com/jwasham/coding-interview-university
In Ask HN: How to not fail on coding interview questions?
These aren't courses, but from answers to "Ask HN: Recommended course/website/book to learn data structure and algorithms" : Data Structure: https://en.wikipedia.org/wiki/Data_structure Algorithm:https://en.wikipedia.org/wiki/Algorithm Big O notation:https://en.wikipedia.org/wiki/Big_O_notation Big-O Cheatsheet: http://bigocheatsheet.com Coding Interview University > Data Structures: https://github.com/jwasham/coding-interview-university/blob/... OSSU: Open Source Society University > Core CS > Core Theory > "Algorithms: Design and Analysis, Part I" [&2] https://github.com/ossu/computer-science/blob/master/README.... "Algorithms, 4th Edition" (2011; Sedgewick, Wayne): https://algs4.cs.princeton.edu/ Complexity Zoo > Petting Zoo (P, NP,): https://complexityzoo.uwaterloo.ca/Petting_Zoo While perusing awesome-awesomeness [1], I found awesome
Read the rest
In Ask HN: What's the best algorithms and data structures online course?
Ultimately I don't think this is what OP is saying. Just that white boarding leetcode/hackerrank algos isn't the best use of time, but I'll respond to the takeaways nonetheless because I have spent a lot of time on them: 1) By what metric? Also, who's we? I am a full-stack engineer and feel properly compensated if not over-payed given my expectations. 2) Leetcode has been extremely helpful. Not just in interviewing, but also in understanding how to have more granular control of space/performance. However, it is not the whole picture and I would point people to the famous coding university github: https://github.com/jwasham/coding-interview-university and further push people to follow research and coders they admire such as Peter Norvig: http://norvig.com/
In The time spent on practising white board test may not be worthy
Here's an answer to a similar question: "Ask HN: How to introduce someone to programming concepts during 12-hour drive?" https://news.ycombinator.com/item?id=15454421 https://learnxinyminutes.com/docs/python3/ (Python3) https://learnxinyminutes.com/docs/javascript/ (Javascript) https://learnxinyminutes.com/docs/git/ (Git) https://learnxinyminutes.com/docs/markdown/ (Markdown) Read the docs. Read the source. Write docstrings. Write automated tests: that's the other half of the code. Keep a journal of your knowledge as e.g. Markdown or ReStructuredText; regularly pull the good ones from bookmarks and history into an outline. I keep a tools reference doc with links to Wikipedia, Homepage, Source, Docs: https://wrdrd.github.io/docs/tools/ And a single-page log of my comments: https://westurner.github.io/hnlog/ > To get a job, "Coding Intervie
Read the rest
In What is the best way to learn to code from absolute scratch?
Data Structure: https://en.wikipedia.org/wiki/Data_structure Algorithm: https://en.wikipedia.org/wiki/Algorithm Big O notation: https://en.wikipedia.org/wiki/Big_O_notation Big-O Cheatsheet: http://bigocheatsheet.com Coding Interview University > Data Structures: https://github.com/jwasham/coding-interview-university/blob/... OSSU: Open Source Society University > Core CS > Core Theory > "Algorithms: Design and Analysis, Part I" [&2] https://github.com/ossu/computer-science/blob/master/README.... "Algorithms, 4th Edition" (2011; Sedgewick, Wayne): https://algs4.cs.princeton.edu/
In Ask HN: Recommended course/website/book to learn data structure and algorithms
From my perspective, I'd try walking before you run. You need to get the interview first. Although you hear of Google hiring thousands of developers a year, and those that do get hired having a 5% chance of success or whatever, that doesn't mean that Google are guaranteed to offer you an interview. I've applied a handful of times, and despite having a Computer Science degree, startup, and small/large agency experience I've never managed to get past the application stage at Google or Microsoft. Microsoft and Amazon contacted me in the past, but neither actually resulted in an interview. Google rejected me within days of applying on both occasions I applied. With that in mind I would recommend that you follow a loose curriculum, and just focus on becoming the best developer you can be. I'm currently working through John Washam's repo on get
Read the rest
ting a job at one of the big four, and it was good enough to get him through the door at Amazon. https://github.com/jwasham/coding-interview-university In general I think it's a good idea to rethink what your aims as a developer are every now and then, regardless of what company you want to work for. Recently, I was a senior .NET developer at a large agency working for big-name clients, but I often felt like I wasn't a "proper developer" because I worked on the .NET stack, and because for the past few years I've felt complacent in a senior-level role. To combat this, I started learning some new languages on the side, and eventually moved to a new job where I've switched from being the go-to guy for .NET to the goes-to guy for working on a Linux stack, and I hope that over the next few years I'll pick up enough knowledge that I can throw an application in again and not get immediately rejected.
In Ask HN: How do I prepare for an interview for AMZ/GOOG/APL/FB?
Start here: https://github.com/jwasham/coding-interview-university I wouldn't recommend going back to school. You already have a Master's in Physics, which should give you all the math background you need to understand CS algos. I'd even encourage you to start to "translate" your Physics knowledge into code. Google, FB, Microsoft, et. al. are more concerned with your ability to explain CS concepts at a whiteboard than your degrees. Have you considered SpaceX? http://www.spacex.com/careers/list They are usually very interested in cross discipline candidates.
In Ask HN: How much do you make at Facebook/Amazon/Apple/Netflix/Google/Microsoft?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.