Получи случайную криптовалюту за регистрацию!

Web Interview

Логотип телеграм канала @interview_web — Web Interview W
Логотип телеграм канала @interview_web — Web Interview
Адрес канала: @interview_web
Категории: Технологии
Язык: Русский
Количество подписчиков: 195
Описание канала:

Канал с ежедневной публикацией реальных вопросов с собеседований российских компанй по фронту и бэку.
• Сомневаешься перед собеседованием?
Подписывайся на канал и пройди собеседование мечты!
Канал ведет действующий разработчик
Контакты: @Alexy_Grishin

Рейтинги и Отзывы

2.50

2 отзыва

Оценить канал interview_web и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

0

3 звезд

1

2 звезд

1

1 звезд

0


Последние сообщения

2021-10-29 11:41:08
#middle
#js
#вопрос

Вопрос:
Что такое каррирование в JS?

Ответ:
Каррирование – это трансформация функций таким образом, чтобы они принимали аргументы не как f(a, b, c), а как f(a)(b)(c).

Создадим вспомогательную функцию curry(f), которая выполняет каррирование функции f с двумя аргументами. Другими словами, curry(f) для функции f(a, b) трансформирует её в f(a)(b).

Пример:
function curry(f) { // curry(f) выполняет каррирование
return function(a) {
return function(b) {
return f(a, b);
};
};
}

// использование
function sum(a, b) {
return a + b;
}

let carriedSum = curry(sum);

alert( carriedSum(1)(2) ); // 3


Примечание:
Для каррирования необходима функция с фиксированным количеством аргументов.
Функцию, которая использует остаточные параметры, типа f(...args), так каррировать не получится.

Web Interview
412 views08:41
Открыть/Комментировать
2021-10-24 21:08:15
#junior
#js
#вопрос

Вопрос:
В чем разница между mutable и immutable объектами?

Ответ:
Immutable объект — неизменяемый. Объект, состояние которого не может быть изменено после создания.

Mutable объект может быть изменен после создания.

Примечание:
Все примитивы (числа, строки, булевые значения и т.п.) имутабельны.

Web Interview
460 views18:08
Открыть/Комментировать
2021-10-20 09:51:32
#junior
#js
#вопрос

Вопрос:
Как остановить выполнение функции setInterval/setTimeout?

Ответ:
Функции setInterval и setTimeout возвращают свой id.
С помощью функции clearInterval либо же clearTimeout вы можете остановить выполнение, передав в аргументы полученный id.

Пример 1:
 // повторяем с интервалом в 1 секунду
const intervalId = setInterval(() => console.log('tick'), 1000);

 // остановимся через 10 секунд
 setTimeout(() => {
 clearInterval(intervalId);
console.log('stop');
 }, 10000);

Пример 2:
В данном примере консоль лог не выполнится, так как мы моментально останавливаем setTimeout, но плюс этого примера в том, что он максимально понятный, хоть и не совсем правильный.

const id = setTimeout(() => {
console.log('haking')
}, 10000)

clearTimeout(id) // stop haking

Web Interview
480 views06:51
Открыть/Комментировать
2021-10-18 16:26:07
Как часто выпускать посты?
Anonymous Poll
71%
Каждый день
24%
Раз в 2 дня
4%
Раз в 3 дня
1%
Реже
140 voters396 views13:26
Открыть/Комментировать
2021-10-18 16:15:59
#junior
#js
#вопрос

Вопрос:
В чём разница между императивным и декларативным программированием?

Ответ:
Это общие термины, которые описывают схожие характеристики нескольких парадигм программирования. ФП (функц. прог.) – пример декларативного программирования, а ООП – пример императивного программирования.

Простыми словами:
Императивное программирование касается того, как делать. Оно объясняет шаги конкретным образом и характеризуется циклами for и while, операторами if и else и т.д.

Декларативное программирование сосредотачивается на том, что делать. При этом абстрагируется от описания, как делать, и опирается на выражения. Это приводит к получению более краткого кода, но при большом объеме страдает отладка.

Пример императив:
const sumArray = array => {
let result = 0;
for (let i = 0; i < array.length; i++) {
result += array[i]
};
return result;
}

Пример декларатив:
const sumArray = array => { return array.reduce((x, y) => x + y) };
Логика скрыта в reduce

Web Interview
400 views13:15
Открыть/Комментировать
2021-10-11 19:36:36
#middle
#js
#вопрос

Вопрос:
Опишите политику кросс-доменных ограничений (same-origin policy) в контексте JS.

Ответ:
Same-origin policy (политика одинакового источника) — определяет как сайт или документ/скрипт, загруженный из одного источника может взаимодействовать в браузере с ресурсом (файлом, скриптом, объектом) из другого источника.

Пример:
Если скрипт нашего сайта делает простой запрос (GET или POST) к чужому серверу и получает в ответ файл, при этом в ответе отсутствует заголовок Access-Control-Allow-Origin или в значении этого заголовка отсутствует наш домен, браузер запретит доступ к этому файлу (не даст посмотреть содержимое ответа) из скриптов нашего сайта. И вы увидите ту самую страшную ошибку CORS.

Web Interview
542 views16:36
Открыть/Комментировать
2021-10-07 15:04:29
#junior
#js
#вопрос

Вопрос:
Почему функции в JS называют объектами первого класса (First-class Objects)?

Ответ:
Функции называют объектами первого класса, потому что они обрабатываются также, как и любое другое значение в JS. Они могут присваиваться переменным, быть свойством объекта и методами классов, элементом массива, аргументом другой функции, значением, возвращаемым функцией.

Примечание:
Единственным отличием функции от любого другого значения в JS является то, что функция может быть выполнена или вызвана.

Web Interview
595 viewsedited  12:04
Открыть/Комментировать
2021-10-03 21:21:26
#middle
#js
#вопрос

Вопрос:
Для чего предназначены файлы package-lock.json и yarn.lock?

Ответ:
Файлы package-lock.json и yarn.lock автоматически создаются для любых операций, когда npm или yarn изменяют дерево в папке node_modules или файле package.json. Они описывают точное дерево, которое было сгенерировано так, что последующие установки могут генерировать идентичные деревья, независимо от промежуточных обновлений зависимостей.

Простыми словами:
Если вы открываете свой проект на новом устройстве и хотите, чтобы все зависимости node_modules были идентичны по версиям с другими устройствами, вам понадобится файл package-lock.json или yarn.lock.
А так же, вместо команды npm i, нужно будет использовать команду npm ci.

Примечание:
И помните, что файлы package-lock.json и yarn.lock дают ощутимый буст к скорости установки пакетов.

Web Interview
630 views18:21
Открыть/Комментировать
2021-09-28 14:02:55
#junior
#js
#вопрос

Вопрос:
В чем разница между spread и rest оператором?

Ответ:
Операторы spread и rest имеют одинаковый синтаксис: ... .Разница состоит в том, что с помощью spread мы передаем или распространяем данные массива на другие данные, а с помощью rest — получаем все параметры функции и помещаем их в массив (или извлекаем часть параметров).

Примеры:
1. В этом примере мы используем spread при вызове функции sum с данными массива numbers. Значением переменной a будет 4, b = 5, result = 9.

function sum(a, b){
return a + b;
}
const numbers = [4, 5];
const result = sum(...numbers);
console.log(result); // 9

2. Здесь мы используем оператор rest и вызываем функцию sum с любым количеством аргументов. Sum возвращает сумму этих аргументов.

function sum(...nums){
return nums.reduce((acc, el) => acc + el)
}
console.log(sum(1, 2))//3
console.log(sum(1, 2, 3, 4, 5))//15

Примечание:
Не забывайте, что все примеры рабочие. Их можно скопировать и протестировать в консоли.

Web Interview
599 views11:02
Открыть/Комментировать
2021-09-26 12:05:47
Чему равно 0 || 1 && 2 || 3 ?
Anonymous Quiz
6%
0
11%
1
23%
2
10%
3
33%
true
16%
false
202 voters503 views09:05
Открыть/Комментировать