- What are the data types Javascript supports?
- What do the break and the continue statements do?
- What's the difference between var, const and let?
- What's the difference between null, undefined, and undeclared, and how to check it?
- What's the difference between '==' and '==='?
- What is debounce and how could you implement debounce?
- What is JSON and where do we use it?
- What is variable scope?
- What's the difference between arrow functions and normal functions?
- What is a hashtable?
- Can you name an example of a library for templating in JavaScript?
- Name 2 programming paradigms important for JavaScript app developers.
- List methods of file operations in a browser.
- What is a ternary operator?
- What are falsy values in JavaScript?
- What is a reference, and what type of data does it point to?
- List some frameworks for unit testing in JavaScript.
- What is a barrel in ES6?
- Does Javascript pass parameters by value or by reference?
- What is a linter?
- What is a memory leak and how to prevent it?
- What is a property descriptor?
- What are AMD and CommonJS?
- Explain the same-origin policy with regards to JavaScript.
- Why is it a good idea not to use the global scope in JavaScript?
- What's the difference between identity (===) and equality (==) in JavaScript?
- How can you simulate private variables in JavaScript?
- What are some asynchronous design patterns in JavaScript?
- What are Firebug and Firefox Developer Tools?
- What's the difference between a shim and a polyfill?
- What are $$ methods?
- What are websockets?
- What does Babel do?
- What is a linked list?
- What is recursion?
- What is an Immediately Invoked Function Expression (IIFE)?
- What's the difference between .forEach() and .map()?
- What are typical uses of anonymous functions?
- What's the difference between feature detection, feature inference, and using the user agent string?
- What's the difference between function Person(){}, var person = Person(), and var person = new Person()?
- What's the difference between a function declaration and a function expression?
- What is the difference between this in an arrow function and a normal function?
- What is the difference between ES6 class and ES5 function constructors?
- How would you compare two objects in JavaScript?
- How does this work in JavaScript?
- How does prototypal inheritance work?
- How is prototypal inheritance different from classical inheritance?
- What's the difference between host objects and native objects?
- What's the difference between .call(), .apply(), and .bind()?
- How to change the context of this in a function?
- How to clone an object in JavaScript?
- What's the difference between a class and an object?
- What's the difference between mutable and immutable objects?
- Why might you want to create static class members?
- What are the pros and cons of extending built-in JavaScript objects?
- What are predefined objects?
- What are getters and setters?
- What is an abstract class?
- What do we mean by Object Oriented Programming (OOP)?
- What is an object?
- What is a class?
- What does the Object.create() and Object.assign() methods do?
- What is the difference between a class and an object?
- What is the difference between mutable and immutable objects?
- Why might you want to create static class members?
- Can you provide examples, pros, and cons of applying immutability?
- What is Map()?
- What is Set()?
- How to iterate over Maps and Sets?
- When do we use Map and Set?
- What is DOM?
- What is event propagation and delegation?
- How to control mouse right-click in JS?
- How to make a checkbox ticked when clicking on a label?
- Difference: event bubbling and event capturing
- Difference: node.nextSibling and ChildNode.nextElementSibling
- What is a NodeList?
- How to rotate an element 90 degrees?
- When would you use document.write()?
- Difference: load event and DOMContentLoaded event
- When do you use load event?
- What is the difference between window and document?
- 4 ways to validate a form
- How to submit a form?
- Where to hold form data in React and JavaScript?
- Does inputting data mutate component state?
- What is AJAX? Advantages and disadvantages
- Is JSONP Ajax?
- What HTTP request methods do you know?
- Examples of HTTP response codes
- What is FetchAPI?
- Can you describe the structure of an AJAX response, including the status code, headers, and body?
- What is the difference between synchronous and asynchronous code?
- Can you provide examples of asynchronous functions, and where do they come from?
- What are the call stack and the event loop?
- What is a callback function?
- Why do we use callback functions?
- What is callback hell?
- What is a promise?
- What are then(), catch(), and finally() methods in promises?
- What is promise polyfill?
- What is Promise.all?
- What is the purpose of design patterns in programming?
- Can you provide examples of design patterns and their benefits?
- What is functional programming (FP)?
- What is a higher-order function?
- What does it mean that JavaScript functions are first-class objects?
- What is a pure function?
- What is composing?
- What is the definition and purpose of closures?
- What are the meanings of Map, Filter, Reject?
- What does it mean when a function is idempotent?
- What is currying?
- What are the differences between cookies, sessionStorage, and localStorage?
- What loops do you know?
- How to iterate over object properties?
- How to iterate over collections?
- How to iterate over a NodeList?
- How to iterate over arrays?
- What are generators?
- What is destructuring?
- How to share code between files?
- How do you organize your code? (module pattern, classical inheritance?)
- What is the benefit of using modules?
- What are modules?
- Examples of ways to refactor code
- What is hoisting?
- What is strict mode?
- What is the difference between spread syntax and rest syntax?
- What is a garbage collector?
- What is interpolation/template literals?
- What is a symbol?