Sitemap
A complete index of all learning materials, courses, challenges, and tools available on DeepFrontend.
General Pages
Recent Topics (282)
- RAG Basics & Vector Databases
- AI SDK Integration (Anthropic, OpenAI)
- REST Design & Best Practices
- Sessions vs Tokens, Cookie Security, Refresh Tokens
- BFF Pattern & API Gateway
- Flexbox
- CRUD & Collections
- Docker (containerizing frontend / Node)
- Routing
- How the Web Works: The Request Lifecycle
- Folder Structure & Feature-Based Architecture
- Core Web Vitals (LCP, CLS, INP)
- Code Splitting & Lazy Loading
- Queries & Mutations
- Apollo Client
- + 267 more topics indexed in domain pages
Learning Paths & Courses (24)
- Foundations & Tooling(11 topics)
- HTML(11 topics)
- CSS(16 topics)
- JavaScript(23 topics)
- TypeScript(14 topics)
- React(20 topics)
- State Management(4 topics)
- Redux Ecosystem(19 topics)
- Next.js(15 topics)
- Node.js(10 topics)
- Express.js(11 topics)
- Databases(14 topics)
- GraphQL(9 topics)
- API Development(13 topics)
- Web Security(7 topics)
- PWA & Offline(5 topics)
- Testing(9 topics)
- Frontend Performance(11 topics)
- Frontend Architecture(11 topics)
- Backend for Frontend (BFF)(4 topics)
- DevOps & Deployment(5 topics)
- AI for Frontend Developers(10 topics)
- System Design(10 topics)
- Interview Prep(5 topics)
Practice Arena (128)
- Implement debouncefree
- Implement throttlepaid
- Implement curryfree
- Implement Promise.all from scratchpaid
- Implement a deep clonepaid
- Implement an event emitterpaid
- Implement memoizepaid
- Implement async retry with exponential backoffpaid
- fetchJson: fetch with proper error handlingfree
- Implement myMap (Array.prototype.map)free
- Implement myFilter (Array.prototype.filter)free
- Implement myReduce (with and without an initial value)paid
- Implement myForEach (Array.prototype.forEach)free
- Implement myFind (Array.prototype.find)paid
- Implement mySome (Array.prototype.some)paid
- Implement myEvery (Array.prototype.every)paid
- Implement myFlat (Array.prototype.flat)paid
- Implement myFlatMap (Array.prototype.flatMap)paid
- Implement myCall (Function.prototype.call)free
- Implement myApply (Function.prototype.apply)free
- Implement myBind (Function.prototype.bind)paid
- Implement myRace (Promise.race)paid
- Implement myAllSettled (Promise.allSettled)paid
- Implement myAny (Promise.any)paid
- Implement promisify(callbackFn)paid
- Build a mini Promise from scratch (MyPromise)paid
- Implement myObjectAssign (Object.assign)free
- Implement myEntries (Object.entries)free
- Implement myFromEntries (Object.fromEntries)free
- Implement deepFreezepaid
- Implement myInstanceofpaid
- Implement myNew (the new operator)paid
- Implement getType (precise type detection)paid
- Implement once(fn)free
- Implement pipe and composepaid
- Implement partial(fn, ...presetArgs)free
- Implement negate(predicate)free
- Implement groupBy(arr, keyFn)paid
- Implement keyBy(arr, keyFn)free
- Implement countBy(arr, keyFn)free
- Implement partition(arr, predicate)paid
- Implement chunk(arr, size)free
- Implement uniqueBy(arr, keyFn)paid
- Implement pick(obj, keys)free
- Implement omit(obj, keys)free
- Implement mapValues(obj, fn)paid
- Implement invert(obj)free
- Implement zip(...arrays)paid
- Implement unzip(arr)paid
- Implement range(start, end, step)free
- Implement get(obj, path, defaultValue)paid
- Implement set(obj, path, value)paid
- Implement mergeDeep(a, b)paid
- Implement flattenDeep(arr)paid
- Implement deepEqual(a, b)paid
- Implement intersectionBy, differenceBy, unionBypaid
- Implement orderBy(arr, keys, dirs)paid
- Implement normalize(list, idKey)paid
- Implement paginate(arr, options) — offset and cursor modespaid
- Implement buildTree(flatNodes, idKey, parentKey)paid
- Implement flattenTree(nodes, childrenKey)paid
- Implement fetchWithTimeout(fetch, url, ms)paid
- Implement fetchWithRetry(fetch, url, options)paid
- Implement dedupeInFlight(fetch)paid
- Implement withCache(fetch, ttl)paid
- Implement fetchAllPages(fetch, url)paid
- Implement transformResponse(raw)paid
- Implement paginateAndSort(fetch, url, sortKey)paid
- Implement mapLimit(items, n, asyncFn)paid
- Implement parallel(tasks)paid
- Implement series(tasks)paid
- Implement optimisticUpdate(store, mutate, fetch)paid
- Implement buildApiClient(fetch, baseUrl)paid
- Implement verifyWebhookSignature(body, signature, secret, hmacSha256)paid
- Two Sumfree
- Contains Duplicatefree
- Best Time to Buy and Sell Stockfree
- Maximum Subarray (Kadane's Algorithm)free
- Product of Array Except Selfpaid
- Majority Element (Boyer-Moore)free
- Move Zeroesfree
- Valid Anagramfree
- Valid Palindromefree
- Group Anagramspaid
- Longest Substring Without Repeating Characterspaid
- First Unique Character in a Stringfree
- Longest Common Prefixfree
- 3Sumpaid
- Container With Most Waterpaid
- Sort Colors (Dutch National Flag)paid
- Maximum Average Subarray (Fixed Window)free
- Valid Parenthesesfree
- Min Stack (Design)paid
- Evaluate Reverse Polish Notationpaid
- Daily Temperatures (Monotonic Stack)paid
- Binary Searchfree
- Search in Rotated Sorted Arraypaid
- First Bad Versionfree
- Reverse Linked Listfree
- Linked List Cycle (Floyd's Algorithm)free
- Merge Two Sorted Listsfree
- Middle of the Linked Listfree
- Remove Nth Node From End of Listpaid
- Maximum Depth of Binary Treefree
- Invert Binary Treefree
- Binary Tree Level Order Traversalfree
- Validate Binary Search Treepaid
- Lowest Common Ancestor of a Binary Treepaid
- Diameter of Binary Treepaid
- Symmetric Treepaid
- Number of Islandsfree
- Flood Fillpaid
- Course Schedulepaid
- Clone Graphpaid
- Kth Largest Element in an Arrayfree
- Top K Frequent Elementspaid
- K Closest Points to Originpaid
- Merge Intervalsfree
- Insert Intervalpaid
- Meeting Roomspaid
- Climbing Stairsfree
- Coin Changepaid
- House Robberpaid
- Longest Increasing Subsequencepaid
- Unique Pathspaid
- Subsetsfree
- Permutationspaid
- Combination Sumpaid