13 JavaScript interview puzzles - theoretical questions and practical coding tasks. Essential JavaScript topics: arrays, objects, functional programming, higher-order functions, pure functions, immutability, closures, asynchronous code, promises, async-await, callbacks, testing, loops, classes, prototypes, references, and the keyword "this".
0:00 Introduction
0:15 Q1 Array methods with reduce
1:04 Q2 Closures
1:41 Q3 Async/await
2:50 Q4 Debounce
3:28 Q5 Test debounce
4:05 Q6 Flatten array
4:36 Q7 Loop for..of vs Array.forEach
5:13 Q8 Merge objects
5:35 Q9 Pure state updates
6:25 Q10 Extending built-in prototype
6:45 Q11 Prototype inheritance
7:00 Q12 "this" context
7:33 Q13 Update object at path