Skip to content
Tech Interview Prep home
Technical interview guide

JavaScript Fundamentals

Values and references, the four equality algorithms, scope and closures, this and arrow functions, prototypes and classes, the event loop, and modules.

Read
46 min
Practice MCQs
25
Interview QA
25
Edition
v2
Editorial status
Reviewed
Relevant for
Frontend Engineer

Scope: ECMAScript 2024 and later, with Node behaviour cited from the active Node.js LTS line and browser behaviour from the WHATWG HTML event loop.

Interview QA

Treat each question like a live interview question: answer out loud first (structure, assumptions, tradeoffs), then open the model answer to spot gaps and rehearse a tighter follow-up.

Curated: · Written: · Reviewed:

QA-1

Explain values against references and how it changes a production decision.

QA-2

How would you reason about numbers as IEEE-754 doubles in a system you own?

QA-3

Walk through strings as UTF-16 code units, including where engineers most often get it wrong.

QA-4

What does null against undefined guarantee, and what does it deliberately leave open?

QA-5

Describe the falsy set and truthiness and the evidence you would collect before relying on it.

QA-6

A teammate proposes a design that hinges on loose equality against strict equality. How do you evaluate it?

QA-7

Where does the NaN and negative-zero cases matter, and where is it irrelevant?

QA-8

Teach operator coercion and object-to-primitive conversion to an engineer who has only seen it as a rule of thumb.

QA-9

How do var, let, and const differ in terms of scoping, redeclaration, and the temporal dead zone (TDZ)?

QA-10

How does hoisting differ between function declarations, function expressions, and variable declarations during the creation phase of an execution context?

QA-11

How do closures capture variables by reference rather than by value, and how does this affect loops containing asynchronous callbacks?

QA-12

How does closures and retained memory change if the workload grows by two orders of magnitude?

QA-13

How is the value of 'this' determined at execution time in standard JavaScript functions, and how does it differ across strict and non-strict modes?

QA-14

In what scenarios should arrow functions be avoided due to their lexical binding of this?

QA-15

How would you explain call, apply, and bind without using the usual slogan?

QA-16

What failure would you inject to check a team's understanding of the prototype chain?

QA-17

How should on-call treat an alert that names classes over prototypes as the cause?

QA-18

What belongs in a runbook section on property descriptors and enumerability, and what does not?

QA-19

How would you review a pull request whose risk is shallow copies, deep copies, and structuredClone?

QA-20

What trade-off does arrays as objects with a length force that a junior answer usually skips?

QA-21

How would you brief product on why iteration protocols delays a ship date?

QA-22

What is the smallest experiment that would change your mind about the event loop and the microtask queue?

QA-23

How does promises and error propagation interact with rollback, and where do people ignore that?

QA-24

What would you ask a candidate who recites await, sequential or concurrent but cannot apply it?

QA-25

How would you document modules, live bindings, and cycles so the next owner can operate it?