If you’re anything like me, you’ll learn better if someone doesn’t ask you to do the impossible, but instead leads you through enough solutions that you can get an immediate confidence boost from the first few easy ones, then the intermediate ones require more thought, and if you really get stuck, there are discussions about how to solve some of the problems. Usually you have to think algorithmically, not just write code, and some problems might just be harder for you to understand because you haven’t done as much work in that area. I won’t say it’s a complete look at algorithms—there’s a whole other course on strings if I recall, but it’s a good start.
Also, here’s my cheat to pass those employer questions — if they let you use JS, do EVERYTHING you can with ES6 Map and Set classes. Folks rarely look at the code and don’t care if you’re using for loops or advanced classes, but it’s way easier to use a Set than to worry about how many times you have to loop over some result to reduce duplication, or sort things, or what have you. If you need a unique sorted set, there are faster algorithms, but a simple (new Set(arr.sort())) gets the job done, because Set is insertion-ordered by default and any native JS function is generally faster than you writing your own code, so it’s impossible to mark this solution as wrong unless you exclude native functions (but who does that?). A bonus tip, if you need to figure out the difference between sets, just get creative with .filter and .map. There’s not much to memorize beyond that because there’s not much advanced functionality, just building blocks flexible enough to do anything, relatively expressively. https://exploringjs.com/impatient-js/ch_sets.html#missing-se...