6 Advanced JavaScript Interview Questions You’re Not Prepared For | by Selcuk Ozdemir | December 2024
1 min read

6 Advanced JavaScript Interview Questions You’re Not Prepared For | by Selcuk Ozdemir | December 2024


Stackademic
Photo by Desola Lanre-Ologun on Unsplash

JavaScript interviews often focus on fundamentals like closures or the event loop. But what happens when you’re asked something really difficult? These six advanced questions will test your in-depth understanding of JavaScript and help you stand out as a top developer.

Let’s go!

Promises are the cornerstone of JavaScript’s asynchronous programming, but once a promise is triggered, can you cancel it? Surprisingly, the answer is no. JavaScript does not natively provide a way to cancel promises, but clever workarounds exist to handle this limitation.

For cases where you are not using an API like fetch who supports Give up controlleryou can create your own cancellable promise mechanism using Promise.race. Here’s how to do it:

function createCancellablePromise(task) {
let rejectFn;
const cancelToken = Symbol("cancel");
const cancelPromise = new Promise((_, reject) => {
rejectFn = reject;
});
const wrappedPromise = Promise.race([task, cancelPromise]);
wrappedPromise.cancel = () => rejectFn(cancelToken);
wrappedPromise.isCancelled = (error) => error === cancelToken;
return wrappedPromise;
}

// Example Usage
const longRunningTask = new…



Grpahic Designer