← All topics

⚑ Interview Prep

JavaScript

Closures, this, promises, the event loop, and the utility functions front-end and full-stack interviews ask you to build by hand.

100 questions, most asked first

Ranked by how often each question comes up in real interviews. #1 is the most common.

#3let vs const vs varScope & closuresEasyFree#4== vs ===Types & coercionEasyFree#8What is hoisting?Scope & closuresEasyFree#9FizzBuzzArrays & objectsEasyFreeUnlock 43 more JavaScript questions Β· all 1,200 questions for $39/year (about 11Β’ a day)See full access#13map, filter and reduceArrays & objectsEasyπŸ”’#15null vs undefinedTypes & coercionEasyπŸ”’#18Arrow functions vs regular functionsModern syntaxEasyπŸ”’#19Shallow copy vs deep copyReferences & copyingEasyπŸ”’#23Spread vs rest (`...`)Modern syntaxEasyπŸ”’#24DestructuringModern syntaxEasyπŸ”’#25Truthy and falsy valuesTypes & coercionEasyπŸ”’#26typeof and checking typesTypes & coercionEasyπŸ”’#27Which array methods mutate?Arrays & objectsEasyπŸ”’#28Implement Array.prototype.mapBuild it yourselfEasyπŸ”’#31Write a sleep functionAsync & promisesEasyπŸ”’#34Implement groupByArrays & objectsEasyπŸ”’#35Chunk an arrayArrays & objectsEasyπŸ”’#36Remove duplicates from an arrayArrays & objectsEasyπŸ”’#37const vs Object.freezeReferences & copyingEasyπŸ”’#38Classes in JavaScriptthis & prototypesEasyπŸ”’#41What does "use strict" do?Types & coercionEasyπŸ”’#42What is an IIFE?Scope & closuresEasyπŸ”’#43Pure functions and side effectsArrays & objectsEasyπŸ”’#44Higher-order functionsArrays & objectsEasyπŸ”’#48Map vs plain objectArrays & objectsEasyπŸ”’#49Set intersection, union and differenceArrays & objectsEasyπŸ”’#52for…in vs for…ofArrays & objectsEasyπŸ”’#53Optional chaining (?.) and nullish coalescing (??)Modern syntaxEasyπŸ”’#54Capitalize each wordArrays & objectsEasyπŸ”’#55Why is 0.1 + 0.2 !== 0.3?Types & coercionEasyπŸ”’#56NaNTypes & coercionEasyπŸ”’#62Implement onceBuild it yourselfEasyπŸ”’#63Implement pipe and composeBuild it yourselfEasyπŸ”’#65Parse a query stringBuild it yourselfEasyπŸ”’#66Safely get a nested value (lodash.get)Build it yourselfEasyπŸ”’#67setTimeout vs setIntervalEvent loopEasyπŸ”’#72The call stack and stack overflowEvent loopEasyπŸ”’#74Function declarations vs expressionsScope & closuresEasyπŸ”’#76Why does [10, 1, 2].sort() look wrong?Arrays & objectsEasyπŸ”’#78instanceof vs typeofthis & prototypesEasyπŸ”’#81Debounce vs throttle, when to use whichBuild it yourselfEasyπŸ”’#86Why use TypeScript?Modern syntaxEasyπŸ”’#93Implement deepFreezeReferences & copyingEasyπŸ”’#95Most frequent characterArrays & objectsEasyπŸ”’#96Reverse a string and check palindromesArrays & objectsEasyπŸ”’#97Object.keys, values, entries and fromEntriesArrays & objectsEasyπŸ”’#99Polyfills vs transpilingModern syntaxEasyπŸ”’