Подготовка к JS-интервью

Топовые вопросы для JavaScript-интервью — от джуниора до сеньора.

Переменные и типы

Область видимости и замыкания

Функции

ООП и прототипы

Асинхронный JavaScript

Современный JavaScript

Производительность и память

Безопасность

Примеры ответов

Что такое замыкание?

// Замыкание — функция, которая помнит переменные из внешней
// области видимости даже после возврата внешней функции.

function makeAdder(x) {
  return function(y) {
    return x + y  // 'x' захвачен в замыкании
  }
}

const add5 = makeAdder(5)
add5(3)   // 8
add5(10)  // 15

Как работает event loop?

JavaScript однопоточен. Event loop позволяет неблокирующие операции через передачу работы Web API, затем колбэки ставятся в очередь. Микрозадачи (Promises) обрабатываются перед макрозадачами (setTimeout).