# Master the JavaScript Interview (Arnav Aggarwal)

Strings & Arrays - String Rotation We'll discuss how to determine if two strings are rotations of one another. We'll go over a brute-force solution and an elegant solution. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5648943388033024). Advanced Strings & Arrays - All Anagrams Learn how to determine if multiple strings are all anagrams of each other. While it seems as if this would require a fairly poor time and space complexity, we can come up with clever solutions that make this problem tractable. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5677090456207360). JavaScript Mastery - Deep Equals Have questions about Deep Equals? Go for it! View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5638916786880512). Strings & Arrays - Remove Dupes In this lesson, we'll discuss how to remove duplicates from a string. We'll cover two different solutions and see how ES2015 constructs can greatly simplify our code. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5673053186949120). Strings & Arrays - Is Unique We'll discuss three ways to determine if all characters in a string are unique. Each has benefits and drawbacks regarding time and space complexity. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5695586732867584). Advanced Strings & Arrays - Array Subset Learn how to tell if two arrays contain the same values. We'll discuss how to deal with both primitive values and objects and we'll go over how a JavaScript Map helps us with this problem. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5657230527430656). Algorithms & Data Structures - Balanced Brackets Learn how to determine if brackets are balanced or not. This is an actual problem that software developers must occasionally solve and many dev tools have their own implementation of it. We'll learn how a code editor can pick up our mistakes and highlight exactly which brackets don't match. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5629805013762048). Algorithms & Data Structures - Linked List Cycles Learn how to find cycles in a Linked List. We'll cover two different methods. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5766752193478656). Advanced Strings & Arrays - Rotate Matrix We'll learn how to work with a matrix in JavaScript and how to efficiently manipulate it. We'll cover a couple of clever tricks that can make our lives a lot easier by allowing us to reuse code. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5668906396024832). Advanced Strings & Arrays - Rotate Matrix, Advanced Learn how to rotate a matrix in place. We'll go over the complex algorithm required in heavy detail. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5740615169998848). Algorithms & Data Structures - Sorted Search Learn two different ways to complete the search of a sorted array. We'll go over the brute force method and a more elegant method. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5733423247261696). Algorithms & Data Structures - Creating a Queue with O(1) Operations Learn how to create a queue with constant-time enqueue and dequeue operations. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5662979341156352). Algorithms & Data Structures - Creating a Queue with Limited Data Structures Learn how to create a queue when the only data structure you have access to is a stack. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5729327995944960). Introduction - Welcome Welcome to the course! View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5738886445662208). JavaScript Mastery - Memoized Fibonacci We'll add yet another tool to our toolbelt in this lesson. We'll learn memoization, a technique of storing data that has already been computed for later use. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5724466092965888). JavaScript Mastery - Function Bind Have questions about Function Bind? Go for it! View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5693703389708288). Advanced Strings & Arrays - Maximum Profits We'll discuss how to write a function that can reap the maximum profits from a day's stock data. We'll discuss both the simple brute-force solution and an elegant solution to this problem. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5708007778287616). Advanced Strings & Arrays - Single Mutation We'll determine how to tell if two different strings are similar or extremely different. We'll also cover the idea of the double-condition loop, another tool to add to our repertoire. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5757183006343168). JavaScript Mastery - Versatile Add We'll cover the concepts of scope, closures, callbacks, and value vs. reference in this unique problem. This problem tests your understanding of the core concepts of JavaScript. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5685570869133312). Strings & Arrays - Flatten Array This problem will allow us to perform a task that has practical uses in a developer's career. We'll discuss how to flatten deeply nested arrays and why a recursive solution is a good way to attack this problem. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5762244625301504). Strings & Arrays - Highest Frequency In this problem, we'll learn how to keep a count of values as we go through an array. From that data, we'll return the most common string in the array. View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5750345418407936). Conclusion - Congratulations Thank you for completing this course! View the lesson [here](https://www.educative.io/collection/page/5679346740101120/5703274724327424/5708916163870720).