A comprehensive collection of coding interview questions, challenges, and study materials for JavaScript/TypeScript and React interviews.
interview/
├── interview-suite/ # Main coding challenges & projects
│ ├── src/ # Challenge implementations
│ │ ├── array-methods.ts # Array prototype methods
│ │ ├── deepcopy.ts # Deep cloning algorithms
│ │ ├── flatten.ts # Array/object flattening
│ │ ├── histogram.ts # Bloomberg-style histogram
│ │ ├── closures.ts # Closure exercises
│ │ ├── debounce.ts # Debounce implementation
│ │ ├── merge-intervals.ts # Interval merging
│ │ ├── clock.ts # Clock implementation
│ │ ├── stock-ticker/ # 📈 Real-time stock ticker (React)
│ │ ├── redux-sample/ # 🔄 Redux Toolkit example
│ │ └── recursive-react/ # 🌳 Recursive file explorer (React)
│ └── tests/ # Test suites for all challenges
├── javascript-interview-flash.html # JS concepts cheat sheet
└── javascript-interview-flash-v3.html # Enhanced cheat sheet
- Bun (recommended) or Node.js 18+
cd interview-suite
bun install# Run all tests
bun test
# Run specific test file
bun test tests/array-methods.test.ts
# Watch mode
bun test --watchbun run grade| Challenge | Description | Difficulty |
|---|---|---|
| Array Methods | Implement myMap, myFilter, myReduce |
⭐⭐ |
| Deep Copy | Deep clone objects, arrays, primitives | ⭐⭐ |
| Flatten | Flatten nested arrays and objects | ⭐⭐ |
| Histogram | Count points in buckets (Bloomberg) | ⭐⭐⭐ |
| Debounce | Implement debounce utility | ⭐⭐ |
| Closures | Closure-based exercises | ⭐⭐ |
| Merge Intervals | Merge overlapping intervals | ⭐⭐⭐ |
| Project | Description | Key Concepts |
|---|---|---|
| Stock Ticker | Real-time stock price dashboard | WebSockets, state management, performance |
| Recursive React | File explorer with nested folders | Recursion, tree structures, TypeScript |
| Redux Sample | Counter app with Redux Toolkit | Redux, async thunks, slices |
cd interview-suite/src/stock-ticker
bun install
bun devcd interview-suite/src/recursive-react
bun install
bun dev # Start dev server
bun test # Run component testscd interview-suite/src/redux-sample
bun install
bun dev- JavaScript Flash Sheet - Open
javascript-interview-flash.htmlin browser for quick JS reference - Frontend System Design Guide - See
interview-suite/src/stock-ticker/frontend-system-design-guide.mdfor the RADIO framework
- Closures & Scope
- Prototypes &
this - Array methods (map, filter, reduce)
- Async/Await & Promises
- Event Loop
- Arrays & Objects
- Recursion
- Tree traversal
- Interval problems
- Component composition
- Recursive components
- State management (useState, Redux)
- Performance optimization (memo, useCallback)
- Real-time data handling
- TypeScript integration
- Real-time dashboards
- WebSocket vs Polling
- State architecture
- Component hierarchy
All challenges include comprehensive test suites. The recommended workflow:
- Read the challenge requirements in the source file
- Run the tests to see what's failing
- Implement the solution
- Run tests again to verify
- Run
bun run gradefor final score
ISC