Mastering Javascript
  • Try Jovis AI
  • About
Categories
All (153)
advanced (58)
applications (1)
basic (15)
datastructures (6)
designpatterns (18)
intermediate (4)
problemsolving (51)
Title
Building a Simple Digital Clock with JavaScript
Loops
Template Literals
Promises
Merge two sorted linked lists
Implement a function to check if a linked list is a palindrome
FizzBuzz
Strict Mode
new, Constructor, instanceof and Instances
Implement a graph using an adjacency list or an adjacency matrix
Event Bubbling and Event Capturing
this Keyword
Prototypal Inheritance
Proxy Pattern
Creating URL-Friendly Slugs in JavaScript
Command Pattern
Mastering JavaScript String Methods
Mediator Pattern
Value Types and Reference Types
Merge Two Sorted Arrays
setTimeout, setInterval and requestAnimationFrame
Chain of Responsibility Pattern
House Robber Problem
Find the Maximum and Minimum Values in an Array
Rest Parameter
JavaScript Engines
Implement a function to find the longest palindromic subsequence (LPS) in a sequence
Arrow Functions
Error Handling (try…catch…finally)
Implement a function to find the minimum number of coins needed to make change for a given amount
this, call, apply and bind
Module Pattern
Decorator Pattern
Scope and Hoisting
JSON
Understanding and Using AJAX in JavaScript
Immediately Invoked Function Expressions (IIFEs) in JavaScript
Find the shortest path between two nodes in a graph (e.g., using Dijkstra’s algorithm)
Implicit, Explicit, Nominal, Structuring and Duck Typing
Prototype Pattern
Console.log function
Given a string, find the length of the longest substring without repeating characters
Service Workers
Operators
DOM Manipulation
Two Sum Problem
Memory Management and Garbage Collection
Diving Deep into WebRTC with JavaScript
Mutation Observer
Implement a function to find the sum of two linked lists
Improve the performance of your JavaScript code
Find the maximum depth of a binary tree
Revealing Module Pattern
Perform depth-first search (DFS) and breadth-first search (BFS) on a graph
Factories and Classes
Prototype Chain
Maximum Subarray (Kadane’s Algorithm)
Implement a queue using an array.
Constructor Pattern
Module Patterns - Encapsulation and Organization
Remove Duplicates from a Sorted Array
Circular Queue Data Structure
Object.create() and Object.assign()
Higher-Order Functions
Handle collisions in a hash table (e.g., chaining, open addressing)
ES1, ES2, ES3, and ES4 (and why ES4 never happened)
Stack Data Structure
Implement a queue using a linked list.
Given an array of integers, find the two numbers such that they add up to a specific target
Strategy Pattern
Message Queue and Event Loop
Implement a function to find the length of a linked list
Implement a function to find the longest common decreasing subsequence (LDDS) between two sequences
Making HTTP Requests in JavaScript
Functions
JavaScript Decorators
JavaScript Event Loop
Iterator Pattern
Immutability in JavaScript
Hash Table
Generators and Iterators
Queue Data Structure
Implement a function to find the nth to last node in a linked list
Expressions vs. Statements in JavaScript
Debouncing
Async/Await
lastIndex property
Adapter Pattern
Linked List Data Structure
Facade Pattern
Find the First Non-Repeating Character
Conditionals
Fetch API
Check for Palindrome
Local Storage and Session Storage
Inheritance
DOM and Layout Trees
Array Methods
Implement a function to check if parentheses in an expression are balanced
Valid Parentheses
Scope and Scope Chain
Math Object
Bitwise Operators, Type Arrays and Array Buffers
Factory Pattern
Write a function to check if a word is present in a dictionary
Implement a function to find the longest common increasing subsequence (LCIS) between two sequences
Primitive Types
Implement a stack using a linked list
replace method
Implement a hash table using an array and a hash function
Implement a function to find the longest increasing subsequence (LIS) in a sequence
Drag and drop elements
ES6 modules
Closures
Mastering JavaScript Date Manipulation
Implement a function to find the longest common subsequence (LCS) between two sequences
Implement a function to find the intersection of two linked lists
Implement a function to remove duplicates from a sorted linked list
Classes
Detect a cycle in a linked list
Implement a function to find the longest decreasing subsequence (LDS) in a sequence
Function Scope, Block Scope and Lexical Scope
Common JavaScript Anti-Patterns and How to Avoid Them
onchange and onblur
Spread Operator
Call Stack
Destructuring Assignment
Object-Oriented Programming (OOP)
Write a function that rotates an array to the right by k steps
State Pattern
Evaluate a postfix expression using a stack
Doubly Linked List Data Structure
ES6 Features
JavaScript Security - Protecting Your Web Applications
Implement a binary search tree (BST)
Recursion in JavaScript
Mouse event handlers
Check if a binary tree is balanced
Perform in-order, pre-order, and post-order traversals of a binary tree
Reverse a String
Write a function to reverse a singly linked list
Regular expressions
Implement a breadth-first search (BFS) algorithm using a queue
Double Equals (==), Triple Equals (===), and typeof in JavaScript
Implement a function to find the middle node of a singly linked list
Find the intersection of two sorted linked lists
Observer Pattern
Currying and Partial Application in JavaScript
Objects
Find the Largest Number in an Array
Implement a function to reverse a linked list
Given a collection of intervals, merge all overlapping intervals
Singleton Pattern
No matching items

    Built by the author of this blog — Jovis AI automates project management so your engineering team can focus on building. Try it free →