This page describes the purpose, structure, and contents of the InterviewCodeBook repository. It is the entry point for navigating the wiki. For detailed reference material on specific data structures and algorithms, see Data Structures & Algorithms Reference. For worked problem solutions, see Blind 75 Problem Solutions.
InterviewCodeBook is a Python-based technical interview preparation resource. It contains two complementary artifacts:
The repository is written entirely in Python and is distributed under the Apache License 2.0.
Repository structure:
Sources: README.md1-16 Blind75/blind75.py1-5 .gitignore1-5 LICENSE1-2
The repository content divides into two main areas:
| Area | File | Purpose |
|---|---|---|
| Reference Guide | README.md | Concept explanations, code examples, complexity tables |
| Problem Solutions | Blind75/blind75.py | LeetCode-style solutions with multiple implementations |
README.md1-16 organizes all reference content into three tiers:
| Tier | Topics Covered |
|---|---|
| 🔰 Beginner | Arrays & Hashing, Strings, Sorting |
| 🟢 Intermediate | Stack, Queue & Heap, Linked Lists |
| 🚀 Advanced | Trees & Graphs, Recursion & Backtracking, Dynamic Programming (planned), Bit Manipulation (planned) |
README.md topic map:
Sources: README.md1-16
Blind75/blind75.py is organized into three problem categories, each containing multiple solution classes:
| Category | Problems | Key Classes / Functions |
|---|---|---|
| Arrays & Hashing | 8 | containsDuplicate, isAnagram, twoSum, groupAnagrams, topKFrequent, Codec, productExceptSelf, longestConsecutive |
| Two Pointers | 3 | isPalindrome, threeSum, maxArea |
| Sliding Window | 4 | maxProfit, lengthOfLongestSubstring, characterReplacement, minWindow |
blind75.py code entity map:
Sources: Blind75/blind75.py1-434
README.md teaches the underlying concepts; Blind75/blind75.py applies them to concrete problems. Both files share a common set of Python standard library tools:
| Tool | Used In |
|---|---|
collections.defaultdict | README.md examples, twoSum, isAnagram, groupAnagrams, characterReplacement, minWindow |
collections.Counter | README.md examples, isAnagram, topKFrequent |
collections.deque | README.md Queue section |
heapq | README.md Heap section, topKFrequent |
set / dict | Pervasive in both files |
Sources: README.md229-245 Blind75/blind75.py1-5 Blind75/blind75.py81-82 Blind75/blind75.py118-119
The following table summarizes every data structure and algorithm topic covered across both files:
| Topic | Category | Primary File | Wiki Page |
|---|---|---|---|
| Lists (arrays) | Data Structure | README.md | 2.1 |
dict / defaultdict / Counter (hashmaps) | Data Structure | README.md, blind75.py | 2.1 |
set (hashsets) | Data Structure | README.md, blind75.py | 2.1 |
| Strings | Data Structure | README.md | 2.1 |
Sorting (sort, sorted, Merge Sort) | Algorithm | README.md | 2.2 |
| Stack | Data Structure | README.md | 2.3 |
Queue / deque | Data Structure | README.md | 2.3 |
Heap / heapq | Data Structure | README.md, blind75.py | 2.3 |
| Singly / Doubly Linked List | Data Structure | README.md | 2.4 |
| Binary Trees, BFS, DFS | Data Structure + Algorithm | README.md | 2.5 |
| Graphs (edge list, adj list, adj matrix) | Data Structure | README.md | 2.5 |
| Recursion & Backtracking | Algorithm pattern | README.md | 2.6 |
| Two Pointers | Problem pattern | blind75.py | 3.2 |
| Sliding Window | Problem pattern | blind75.py | 3.3 |
The project is distributed under the Apache License 2.0 (LICENSE1-202). The .gitignore (.gitignore1-174) is a standard Python project configuration covering virtual environments (venv/, .env), build artifacts (dist/, build/), test framework outputs (.pytest_cache/, .coverage), and type checker caches (.mypy_cache/, .pyre/).
For full details on licensing and project setup, see Project Setup & Licensing.