A comprehensive collection for FAANG-style technical interviews
DSA | JavaScript Core | React LLD | System Design
- Overview
- Quick Start
- DSA Problems
- JavaScript Concepts
- React LLD Components
- React Hooks
- System Design
- Project Structure
- Contributing
This repository is a one-stop interview preparation hub covering all aspects of technical interviews:
| Category | Count | Description |
|---|---|---|
| DSA | 125 | Curated problems with intuitions & optimal solutions |
| JavaScript | 34+ | Polyfills, patterns & utility functions |
| React LLD | 7 | Interactive UI components |
| React Hooks | 6 | Reusable custom hooks |
| System Design | 15 | Frontend architecture templates |
- Zero Dependencies - Pure implementations, no external libraries
- Self-Documenting - Each file includes problem statement, intuition & complexity analysis
- Runnable Tests - Execute DSA files directly with Node.js
- Interactive Demo - React app to visualize LLD components
- Interview Ready - Common follow-up questions included
- DSA Tracker - CSV with 125 problems, categories, priorities & intuitions
# Run any DSA problem directly
node DSA/Graph/numberOfIslands.js
node DSA/Two-Pointer/trappingRainWater.jscd practice
npm install
npm run dev
# Open http://localhost:5173125 curated problems organized by pattern/technique. Full tracking available in DSA/dsa-preparation-list.csv with:
- Problem name & LeetCode number
- Difficulty & Category
- Priority (Must Do / Core / Depth)
- Completion status
- Algorithm intuition for each problem
|
|
Arrays/Strings ████████████████░░░░ 28 problems
Graph/Matrix ████████████████████ 26 problems
Trees ███████████░░░░░░░░░ 11 problems
DP █████████░░░░░░░░░░░ 9 problems
Binary Search ██████░░░░░░░░░░░░░░ 6 problems
Sliding Window ██████░░░░░░░░░░░░░░ 6 problems
Stack ██████░░░░░░░░░░░░░░ 6 problems
Linked List ██████░░░░░░░░░░░░░░ 6 problems
Others █████████████████░░░ 27 problems
Each DSA file follows this structure:
/**
* ============================================================================
* PROBLEM: [Name] (LeetCode #XXX)
* ============================================================================
* [Problem description with examples]
*
* ============================================================================
* INTUITION: [Algorithm Name]
* ============================================================================
* [Why this approach works, key insights]
*
* Time Complexity: O(...)
* Space Complexity: O(...)
*/
// Implementation with detailed comments
// Multiple approaches (DFS, BFS, Union-Find, etc.)
// Comprehensive test cases at the bottomCore JavaScript implementations for interview questions:
|
|
|
Interactive low-level design problems with working solutions:
| # | Component | Key Concepts | Demo |
|---|---|---|---|
| 1 | Progress Bars | Concurrent animation, queue management | Animated bars with 3-bar limit |
| 2 | Grid Lights | State management, FIFO deactivation | 3x3 clickable grid |
| 3 | Wordle | Game logic, keyboard events, tile states | Word guessing game |
| 4 | Typeahead | Debouncing, AbortController, race conditions | Product search |
| 5 | File Explorer | Recursive components, tree traversal | VSCode-like file tree |
| 6 | Nested Comments | Recursive data, CRUD operations | Reddit-style threads |
| 7 | Traffic Light | Finite state machine, useEffect timing | Auto-cycling signal |
problem.md- Requirements & visual representationSolution.jsx- Working implementation- Key concepts & interview tips
- Common follow-up questions
- Edge cases to consider
Reusable custom hooks for common UI patterns:
| Hook | Purpose | Use Case |
|---|---|---|
useDebounce |
Delay value updates | Search inputs |
useThrottle |
Limit update frequency | Scroll handlers |
useClickOutside |
Detect outside clicks | Dropdowns, modals |
usePrevious |
Track previous value | Comparing state changes |
useIntersectionObserver |
Visibility detection | Lazy loading, infinite scroll |
useQuery |
URL query management | Filters, pagination |
15 comprehensive frontend system design documents for interviews:
|
|
- Requirements (Functional & Non-Functional)
- Component Architecture
- State Management Strategy
- API Design & Data Flow
- Performance Optimizations
- Accessibility Considerations
- Error Handling & Edge Cases
- Testing Strategy
- Security Considerations
- Deployment & Monitoring
.
├── DSA/ # Data Structures & Algorithms (125 problems)
│ ├── dsa-preparation-list.csv # Master tracking with intuitions
│ ├── Arrays&Hashset/
│ ├── BinarySearch/
│ ├── Graph/ # 10 fully documented graph problems
│ ├── Two-Pointer/
│ ├── intervals/
│ ├── matrix/
│ ├── recursion & backtracking/
│ ├── sliding-window/
│ └── tree/
│
├── JavaScriptProblems/ # Pure JavaScript (34+ implementations)
│ ├── Array/ # Array method polyfills
│ ├── Design Patterns/ # Common patterns
│ ├── call,apply,bind/ # Function context
│ ├── memoization/ # Caching strategies
│ ├── promise-async-problems/ # Async utilities
│ ├── promise-polyfills/ # Promise implementations
│ └── utility/ # Helper functions
│
├── practice/ # React LLD App
│ ├── src/
│ │ ├── components/ # App shell components
│ │ └── lld/ # 7 LLD problem solutions
│ └── package.json
│
├── reactHooks/ # 6 Custom React hooks
│
├── system-design/ # 15 Frontend architecture templates
│ ├── instagram-photo-feed.md
│ ├── news-feed-facebook-twitter.md
│ ├── video-streaming-youtube.md
│ ├── ecommerce-marketplace-amazon.md
│ └── ... (11 more)
│
└── Theory/ # Supporting educational content
Contributions are welcome! Please follow these guidelines:
- DSA Problems: Include problem link, intuition, brute force & optimal solutions, complexity analysis
- JavaScript: Provide polyfill with edge case handling
- React LLD: Include
problem.mdwith requirements and visual representation - System Design: Follow the existing template format with all 10 sections
- LeetCode - DSA practice
- GreatFrontEnd - Frontend interview prep
- React Documentation - Official React docs
- NeetCode - DSA roadmap
Happy Coding!
Star this repo if you find it helpful!
