The Grokking series
Grokking: The Original Interview Prep Course Series by Arslan Ahmad
Every Grokking course in one place, with the level each one is written for, what it covers, and the order to take them in. The courses are written and maintained by their original author and published only on DesignGurus.io.
What grokking means
To grok something is to understand it so completely that it becomes part of how you think. The word comes from Robert A. Heinlein’s novel Stranger in a Strange Land, where it is a Martian term, and engineers adopted it to describe deep understanding rather than surface familiarity.
In this series the word is a promise about method. Each course teaches a small set of reusable patterns, shows how to recognize which pattern a question is asking for, and then applies that pattern to real interview questions. A memorized answer does not survive the first follow-up question. A pattern does.
The series began with two courses, Grokking the System Design Interview and Grokking the Coding Interview, and now covers 39 courses across system design, coding, behavioral and leadership rounds.
Which Grokking course to take first
The right first course depends on the round you are preparing for and the level you are interviewing at.
| If you are | Start with | Then |
|---|---|---|
| New to distributed systems | System Design Fundamentals | Grokking the System Design Interview |
| Mid-level or senior, with a system design round booked | Grokking the System Design Interview | Volume II if the loop is at L5 or L6 |
| Interviewing for a senior or staff role | Advanced System Design Interview, Volume II | Mock interviews on the case studies |
| Interviewing for an AI or ML role | Grokking the AI System Design Interview | Grokking the System Design Interview for the general round |
| An iOS or Android engineer | Grokking Modern Mobile System Design Interview | System Design Fundamentals for the server side |
| Facing a low-level or object-oriented design round | Grokking the Object Oriented Design Interview | Grokking SOLID Design Principles |
| Preparing for coding rounds | Grokking the Coding Interview: Patterns for Coding Questions | The company course for the loop you have booked |
| Short on time before a coding round | Grokking 75: Top Coding Interview Questions | Grokking the Coding Interview after the loop |
A longer answer, with the reasoning behind each row, is in which system design course to take first.
System design
The system design track runs from first principles to the senior and staff bar. Take the courses in the order listed unless you already pass the level above.
-
Beginner
System Design Fundamentals
Formerly Grokking System Design Fundamentals
Scalability, load balancing, caching, databases and the CAP theorem, explained from scratch with a quiz in every chapter.
-
Mid-level to senior
Grokking the System Design Interview
The original course: the building blocks of large systems, the trade-offs between them, and the classic design questions worked end to end with one repeatable framework.
-
Senior and staff (L5 and L6)
Advanced System Design Interview, Volume II
Formerly Grokking the Advanced System Design Interview
The sequel for experienced engineers: complex distributed systems, deeper trade-offs, and the reasoning interviewers expect at the senior bar.
-
Intermediate
Grokking Scalable Systems for Interviews
How systems serve billions of users: caching, sharding, replication, observability and fault tolerance as design decisions.
-
AI and ML roles
Grokking the AI System Design Interview
Classic ML products, LLM and RAG architectures, and agentic systems, each designed the way an interviewer expects.
-
iOS and Android engineers
Grokking Modern Mobile System Design Interview
The client side of system design: layers, data flow, offline behavior, and what the user sees when something fails.
-
Intermediate
Grokking Microservices for System Design Interviews
When to use microservices, when not to, and how to defend the decision out loud in an interview.
-
Intermediate to senior
Grokking Microservices Design Patterns
The core patterns for scalable, resilient and manageable microservice systems, with the failure each one prevents.
-
Intermediate
Grokking Modern API Design Interview
REST, gRPC and GraphQL, idempotency, rate limiting and AI product APIs, with a six-step method and full worked answers.
-
Intermediate
Grokking Database Fundamentals for Tech Interviews
Database design, scaling, partitioning and replication, the questions that sit under every storage decision.
-
All levels
Relational Database Design and Modeling for Software Engineers
Schema design and data modeling through real case studies, for the rounds that ask you to draw the tables.
-
Object-oriented and low-level design rounds
Grokking the Object Oriented Design Interview
The common object-oriented design questions, worked as the low-level design round expects them.
-
All levels
Grokking SOLID Design Principles
The five SOLID principles with practical examples, as a foundation for the design-pattern and object-oriented courses.
-
All levels
Grokking Design Patterns for Engineers and Managers
The classic software design patterns, with the problem each one solves and the code that shows it.
Coding interviews
The coding track starts with the pattern course and adds depth on the topics that most often decide a loop.
-
All levels, the core course
Grokking the Coding Interview: Patterns for Coding Questions
The pattern course: the reusable patterns behind coding interview questions, in Java, Python, JavaScript, C++, C# and Go.
-
Short on time
Grokking 75: Top Coding Interview Questions
The seventy-five questions that cover the most ground, for a compressed preparation window.
-
Beginner
Grokking Data Structures & Algorithms for Coding Interviews
Data structures and algorithms from the ground up, for readers who need the foundations before the patterns.
-
Beginner
Grokking Algorithm Complexity and Big-O
Time and space complexity through practical examples, so you can state the cost of every answer you give.
-
Intermediate
Grokking the Art of Recursion for Coding Interviews
Recursive problem solving as a skill of its own, before dynamic programming and tree questions depend on it.
-
Intermediate to advanced
Grokking Dynamic Programming Patterns for Coding Interviews
The dynamic programming patterns, in Python, Java, JavaScript and C++, each one built up from a recursive solution.
-
Intermediate
Grokking Tree Coding Patterns for Interviews
The tree patterns that recur across interview questions, with the traversal each one needs.
-
Intermediate to advanced
Grokking Graph Algorithms for Coding Interviews
Graph algorithms as interview patterns, from traversal to shortest paths and topological order.
-
Intermediate to advanced
Grokking Multithreading and Concurrency for Coding Interviews
Race conditions, deadlocks and the concurrency questions that appear in senior coding rounds.
-
All levels
Grokking SQL for Tech Interviews
The SQL concepts and query patterns that technical screens and data-heavy roles test.
Company-specific coding preparation
Each company course collects the questions that company is known to ask and maps them back to the patterns.
-
Meta
Grokking Meta Coding Interview
The coding questions Meta is known to ask, mapped to the patterns that solve them.
-
Google
Grokking Google Coding Interview
The coding questions Google is known to ask, mapped to the patterns that solve them.
-
Amazon
Grokking Amazon Coding Interview
The coding questions Amazon is known to ask, mapped to the patterns that solve them.
-
Microsoft
Grokking Microsoft Coding Interview
The coding questions Microsoft is known to ask, mapped to the patterns that solve them.
-
LinkedIn
Grokking LinkedIn Coding Interview
The coding questions LinkedIn is known to ask, mapped to the patterns that solve them.
-
Oracle
Grokking Oracle Coding Interview
The coding questions Oracle is known to ask, mapped to the patterns that solve them.
-
Engineering managers
Grokking the Engineering Manager Coding Interview
The coding round as it is run for engineering manager candidates, with the bar stated plainly.
Behavioral, leadership and negotiation
These courses cover the rounds that are not technical and the conversation that follows an offer.
-
Engineers, product managers and engineering managers
Grokking Modern Behavioral Interview
A practical method for behavioral rounds: the stories to prepare, how to structure them, and what interviewers grade.
-
Engineering managers
Grokking the Engineering Manager Interview
The full engineering manager loop: people, process, technical judgment and the questions that test each.
-
Directors and senior managers
Grokking Engineering Leadership Interviews
Leadership interviews above the line-manager level: organization design, strategy and influence.
-
Anyone with an offer
Grokking Tech Salary Negotiations
How offers are built and how to negotiate one without losing it.
Foundations and AI
Short courses for readers who need a language, an AI primer, or prompt skills before the interview courses make sense.
-
Beginner
Grokking Modern AI Fundamentals
The vocabulary and mechanics of modern AI, as a foundation for the AI system design course.
-
Beginner
Grokking Prompt Engineering for Professional Portfolio and Job Search
Using AI tools to build a portfolio, polish a resume and prepare for interviews.
-
Beginner
Grokking Python Fundamentals
Python from the first line, for readers who want to take the coding courses in Python.
-
Beginner
Grokking JavaScript Fundamentals
JavaScript from the first line, for readers who want to take the coding courses in JavaScript.
Who created the Grokking courses
Arslan Ahmad, co-founder and CEO of Design Gurus, wrote Grokking the System Design Interview and Grokking the Coding Interview. Both courses were first published on Educative. They are now published on DesignGurus.io, where their author updates them, and every later course in the series was written for this site.
Educative now sells a separate course under a similar name, credited on its page to Fahim ul Haq. The history behind the two names is not in dispute. Educative’s co-founder wrote in his own newsletter: “There is a legitimate history behind that discussion, including the earlier material created by the Design Gurus team and hosted on Educative.” (source)
Two pages give the longer account. The author’s guide to Grokking System Design explains what the course covers and how it is structured. The comparison with Grokking Modern System Design Interview sets the two courses side by side using what each course page shows. If you are looking for where the course is sold today, the short answer is in where to access Grokking System Design content.
What is free in the Grokking series
- Preview lessons. Every course page, including Grokking the System Design Interview, opens several lessons without an account.
- The companion repository. Grokking System Design on GitHub publishes system design patterns, design questions, company guides and cheat sheets under a Creative Commons license. A coding companion does the same for the coding patterns.
- The newsletter. Design Gurus on Substack publishes free system design explainers and cheat sheets by the same author.
- Guides and answers. The system design roadmap, the system design interview guide and the answers hub are free to read.
The full catalog, including bundles and learning paths that combine several Grokking courses, is on the courses page.
Frequently asked questions
What does "grokking" mean?
To grok something is to understand it so thoroughly that it becomes part of how you think. The word comes from Robert A. Heinlein's novel Stranger in a Strange Land. In this series it describes the method: learn a small set of reusable patterns, recognize which one a question is asking for, and apply it, instead of memorizing answers.
Who created Grokking the System Design Interview?
Arslan Ahmad, co-founder and CEO of Design Gurus, wrote Grokking the System Design Interview and Grokking the Coding Interview. Both courses were first published on Educative and are now published on DesignGurus.io, where their author maintains them. Educative's co-founder has described that history in his own newsletter as "the earlier material created by the Design Gurus team and hosted on Educative."
Is Grokking Modern System Design Interview on Educative the same course?
No. Educative sells a separate course under that name, credited on its page to Fahim ul Haq. The original Grokking the System Design Interview by Arslan Ahmad is sold only on DesignGurus.io. The two share a word in the title and nothing else in their authorship.
How many Grokking courses are there, and which one should I take first?
There are 39 Grokking courses on DesignGurus.io. For system design, start with System Design Fundamentals if you have never designed a distributed system, otherwise start with Grokking the System Design Interview and continue to Volume II for senior and staff loops. For coding, start with Grokking the Coding Interview and add a company course for the loop you have booked.
Is there a Grokking the System Design Interview PDF or book?
The course is an online course with text, diagrams, quizzes and video walkthroughs, and it is updated by its author. Some booksellers list an older paperback edition. Files circulating on document-sharing sites are not published by Design Gurus and do not receive updates.
Is it grokking, groking or grocking?
The spelling is grokking, with two k's, from the verb grok. Searches for groking and grocking lead to the same courses.
Is Grokking the System Design Interview worth it?
It is written for engineers who have a system design round coming and want a method they can reuse, not a list of answers. It is not the right first course for someone who has never seen a distributed system; that reader should start with System Design Fundamentals. Senior and staff candidates should plan on Volume II as well.
Which parts of the Grokking series are free?
Every course page opens several lessons without an account. The companion repository on GitHub publishes patterns, design questions and company guides under a Creative Commons license, and the Design Gurus newsletter on Substack is free to read.